- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Mon, 26 Aug 2013 09:33:23 -0700
- To: Cameron McCormack <cam@mcc.id.au>
- Cc: www-style list <www-style@w3.org>
On Sun, Aug 25, 2013 at 10:21 PM, Cameron McCormack <cam@mcc.id.au> wrote: > I assume we want: > > @supports (var-a: ) { } > > to succeed, since "var-a: " is a valid declaration. However, > css-conditional-3 has: > > supports_declaration_condition > : '(' S* declaration ')' > ; > > with "declaration" linking to CSS 2.1, where it is defined as: > > declaration : property S* ':' S* value; > value : [ any | block | ATKEYWORD S* ]+; > any : [ IDENT | NUMBER | PERCENTAGE | DIMENSION | STRING > | DELIM | URI | HASH | UNICODE-RANGE | INCLUDES > | DASHMATCH | ':' | FUNCTION S* [any|unused]* ')' > | '(' S* [any|unused]* ')' | '[' S* [any|unused]* ']' > ] S*; > > This doesn't allow for a property value that consists only of white space. > > On the other hand, http://dev.w3.org/csswg/css-syntax/#consume-a-declaration > seems to allow a declaration to be parsed that has no tokens at all after > the ':'. I guess that's OK as css-variables then defines that no tokens > after the ':' is invalid? CSS Conditional's references to the 2.1 grammar are there only because Syntax wasn't yet even a WD. It, and anything else that needs explicit token-grammar stuff, should switch over to Syntax in the nearish future. Yes, it's okay that Syntax technically accepts "var-foo:;" but it's invalid per Variables - it's just a property grammar being more specific than the generic grammar. ~TJ
Received on Monday, 26 August 2013 16:34:10 UTC