[mediaqueries] Doesn't the spec contains an inexistent token in syntax definition?

Hi all,

While I was trying to explain to the guys over Microsoft Connect that 
Internet Explorer should support the ‘calc()’ function in media queries 
arguments (something no browser seems to do right now), I noticed there’s a 
problem with the actual defintion of the syntax of CSS Media Queries. 
Indeed, the spec uses an "expr" token in its "expression" definition :

    media_query
     : [ONLY | NOT]? S* media_type S* [ AND S* expression ]*
     | expression [ AND S* expression ]*
     ;

    expression
     : '(' S* media_feature S* [ ':' S* expr ]? ')' S*
     ;

but refers to CSS 2.1 Grammar [1] which doesn't seem to define any 'expr' 
token at all. However, the "expr" token is defined in the CSS3-Syntax spec 
[2], but this is a WD spec and it is not referenced by the CSSMQ REC.

If I follow the CSS3-Syntax spec, "calc(100px)" is indeed a valid value for 
calculations, and Tab seemed to confirm me it should be supported. Could 
someone clearly state that it's indeed the case (and hopefully fix the issue 
by incorporating the 'expr' definition in the CSSMQ spec as an errata)?

Best regards,
François


[1] http://www.w3.org/TR/2011/REC-CSS2-20110607/syndata.html#tokenization
[2] http://www.w3.org/TR/css3-syntax/#grammar0 

Received on Tuesday, 30 October 2012 16:36:58 UTC