- From: Kang-Hao (Kenny) Lu <kennyluck@csail.mit.edu>
- Date: Mon, 11 Jun 2012 07:50:49 +0800
- To: WWW Style <www-style@w3.org>
- CC: "Tab Atkins Jr." <jackalmage@gmail.com>
(12/06/09 14:45), Kang-Hao (Kenny) Lu wrote: > (12/06/09 12:01), Kang-Hao (Kenny) Lu wrote: >> 2. "At-rule-block" is incomplete, so it's hard to say if there's error >> relating to at-rule error handling here or not. > > Mah, on a second read, I think I start to understand this, so... > > In "3.5.4. At-rule mode" > > # close-paren token > # at-keyword token > # > # This is a parse error. Pop the current rule from the stack of open > # rules. Switch to the current rule's content mode. > > I think the spec probably meant to say "Switch to the > next-block-or-statement error mode." On a second thought, neither of these two matches IE9, Firefox13 and Operal12alpha . Test case: data:text/html,<style>@media ),screen { body { background: green; } }</style> and the variants using "]", "@ab", "<!--", "-->" in place of ")". WebKit browsers don't implement the error handling even for, say, "@media a+b,screen" so it's far from conforming anyway. What will be needed is | This is a parse error. Append the current input token to the | prelude of the current rule and remain in this mode. But then, I will wonder why we don't do the same for "style-rule mode" and "consume a block". Failing early is going to limit our future. For example, we could introduce (selector1, selector2) { } in css4-selectors for media query-like error handling, but if "consume a block" fails early when the "unused" things are encountered, it wouldn't work like media queries. Cheers, Kenny
Received on Sunday, 10 June 2012 23:51:16 UTC