[csswg-drafts] [css-fonts-4] `<font-feature-value-block>` is defined with an invalid syntax (#8156)

cdoublev has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-fonts-4] `<font-feature-value-block>` is defined with an invalid syntax ==
I think [`<font-feature-value-block>`](https://drafts.csswg.org/css-fonts-4/#font-feature-values-syntax) is defined with an invalid [CSS rule definition syntax](https://drafts.csswg.org/css-syntax-3/#rule-defs).

> `<feature-value-block> = <font-feature-value-type> { <declaration-list> }`

> Non-terminals representing the entire grammar of an at-rule are written as an `@` character followed by the at-rule’s name, between `<` and `>`, e.g. `<@media>` to represent the `@media` rule.

The CSS rule definition syntax could be modified to accept this syntax, or  `<feature-value-block>` could be defined with `<@stylistic> | <@historical-forms> | ...` and each rule with the corresponding definition (`stylistic { <declaration-list> }`, `historical-forms { <declaration-list> }`, etc...).

I prefer the second solution. The current syntax was also suggested in another issue for aliasing `rgba()` to `rgb()`: `[rgb | rgba](...)`. It suggests that a keyword followed by a simple block should be parsed, but a function is a single component value with a `name` and `value`. For font feature value blocks, you parse a single rule object, instead of an `<at-keyword>` followed by a simple block. 

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/8156 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 30 November 2022 14:28:02 UTC