Skip to content

[css-properties-values-api-1] CSSPropertyRule.initialValue should not be nullable #1115

Open
@cdoublev

Description

@cdoublev

The spec says it is nullable / it may not be present:

initialValue, of type CSSOMString, readonly, nullable

The initial value associated with the @property rule, which may not be present.

https://drafts.css-houdini.org/css-properties-values-api-1/#dom-csspropertyrule-initialvalue

But also:

If the value of the syntax descriptor is the universal syntax definition, then the initial-value descriptor is optional. If omitted, the initial value of the property is the guaranteed-invalid value.

Otherwise, [...] The initial-value descriptor must be present.

https://drafts.css-houdini.org/css-properties-values-api-1/#initial-value-descriptor

So when the descriptor declaration is omitted, it seems the attribute should serialize the guaranteed-invalid value, which serializes to empty string.

In Chrome:

const styleSheet = new CSSStyleSheet()
styleSheet.insertRule(`
  @property --custom {
    inherits: false;
    syntax: "*";
  }
`)
styleSheet.cssRules.length; // 1
styleSheet.cssRules[0].initialValue; // null

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions