Re: [CSS2.1] Grammar for @media versus general block parsing

Bert Bos wrote:
> 
>> Revised proposal:
>>     State in 7.2.1 that "At-rules inside @media are invalid in
>>     CSS2.1. Invalid at-rules inside @media blocks must be ignored
>>     per 4.2 Rules for handling parsing errors."
> 
> The "must ignore" part makes CSS3 UAs non-conformant with CSS 2.1. If 
> all UAs implement Paged Media tomorrow (as we want them to do...) then 
> we can never make a Rec for CSS 2.1 anymore, because there will be no 
> UA that ignores @page inside @media, as required by this proposal.

Actually, that's not the case. The "must ignore" part requires ignoring
invalid at-rules inside @media blocks. It doesn't require ignoring @page
inside @media specifically. That's indirectly required because *in CSS2.1*
such rules are invalid. If a later specification says they are valid, then
the "must ignore" sentence no longer applies.

> So here is my cleaned-up version of Fantasai's proposal. Change in 
> 7.2.1:
> 
>     a set of rules (delimited by curly braces).
> to
>     a set of statements (delimited by curly braces). CSS 2.1 UAs may
>     ignore at-rules inside @media blocks. Invalid at-rules must be
>     ignored per 4.2 Rules for handling parsing errors.
> 
> "Statements" may be hyperlinked to section 4.1.1, for extra clarity.

I like the change from "rules" to "statements". But I'm not as
happy with the "may ignore". What does it mean to not ignore? Are
@page inside @media and nested @media valid CSS2.1 then?

~fantasai

Received on Wednesday, 30 July 2008 20:36:39 UTC