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

On Tue, Jul 8, 2008 at 8:52 PM, Grant, Melinda <melinda.grant@hp.com> wrote:
> Specing that at-rules inside @media are to be ignored in CSS 2.1 and understood in CSS3 will I think lead to some undesirable outcomes.  (For instance, we will or should create a test for 2.1 that must fail as a CSS3 test.)  It's not clear to me, since CSS doesn't do versions, how a browser will know it is processing a 2.1 stylesheet, and therefore must ignore embedded at-rules, as opposed to processing a CSS3 stylesheet, in which case it must process the embedded at-rules.

Doesn't that logic apply to any new feature at all?  If you were to
create a test including, say,

font-size: 1rem;

then that would have to fail as a CSS 2.1 test and pass as a CSS 3
test too, or vice versa.  Authors should expect that older browsers
will (in this case) ignore the at-rules inside @media declarations,
and newer ones will obey them.  Newer browsers should use the updated
syntax definition in all cases just as they use the new property
values wherever they find them.  Or should the CSS syntax remain fixed
in stone for all time?

The only issue that might arise is if an author created a stylesheet
that incorrectly used an at-rule inside a @media block, and didn't
realize that it did nothing but left it there anyway *and* relied on
it not being included.  In that case there will be a regression when
browsers implement the new syntax, but that's always possible with
stylesheets that are invalid to begin with, and the scenario is both
quite unlikely and easily fixed (delete the at-rules, since you relied
on them not working anyway).

Received on Wednesday, 9 July 2008 13:10:00 UTC