- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Sun, 19 May 2013 16:48:37 -0700
- To: Simon Sapin <simon.sapin@exyr.org>
- Cc: "www-style@w3.org" <www-style@w3.org>
On Sat, Apr 20, 2013 at 2:05 PM, Simon Sapin <simon.sapin@exyr.org> wrote: > Hi, > > Should any list of declarations also accept at-rules, like the body of @page > rules? This potentially affects style rules, style attribute, and various > at-rules. Even if no at-rules are recognized yet, it makes a difference in > where a new declaration starts: > > Parsed as unknown at-rule followed by a valid declaration: > > @page { > @margin-note { /* not supported */ } > background: green; > } > > In CSS 2.1, parsed as a single invalid declaration. The at-keyword instead > of the expected ident (property name) is an error; the parser recovers at > the next semi-colon: > > body { > @nested h1 { /* not supported */ } > background: red; > } > > > I think we should make that change for all lists of declarations and get the > error recovery in place, and not wait until we actually need it (eg. when/if > we want nested rules inside style rules.) CSS 2.1 did the same for @page: no > nested at-rule was defined yet, but the syntax still allowed them. I'm not sure exactly when I added this, and I don't want to go history trawling to find out, but the Syntax spec already handles at-rules in declaration lists appropriately. When we finally define an at-rule meant to be nested inside a style rule, there won't be any problems on the core syntax side. ~TJ
Received on Sunday, 19 May 2013 23:49:24 UTC