- From: Yves Lafon <ylafon@w3.org>
- Date: Wed, 17 Feb 2010 10:46:50 -0500 (EST)
- To: Bert Bos <bert@w3.org>
- cc: www-style@w3.org
On Wed, 17 Feb 2010, Bert Bos wrote: > On Saturday 09 January 2010 09:11:53 Yves Lafon wrote: >> Hi, >> In this example: >> >> background: /10em >> >> It is parsable according to [CSS21 section 4] but not according to >> the grammar in appendix G > > The grammar in appendix G is an approximation of CSS level 2 only. We > don't have a grammar for level 3, but we do have one for the whole of > CSS, viz., in chapter 4. The rule above conforms to that grammar. I never said the opposite. Just to mention that '/' as an operator in a parser that is mostly written for CSS21 is easy to do, but adding an extra case for _starting_ 'background' with a '/' is far more painful. >> << >> declaration >> >> : property ':' S* expr prio? >> >> ; >> expr >> >> : term [ operator? term ]* >> >> ; >> operator >> >> : '/' S* | ',' S* >> >> ; >> >> >> also, what is the status of >> >> background: / black; >> >> Is it invalid CSS2 at the aprsing level, or invalid CSS3 at the data >> validation level? That can't be decided as there is no CSS version >> indicator. > > There is currently no CSS specification that assigns a meaning to it, > but it conforms to chapter 4, which means it is currently invalid but > may become valid in the future. Until that time it must be parsed and > then ignored as described in 4.2 under "illegal values." > >> >> There are two possible paths for solving this: >> 1/ disallowing bckground to tart with a <bg-size> (there is already a >> rule forbidding <bg-position> after a <bg-size>, so it's in the same >> range). > > There is no reason to disallow it on syntactical grounds, but one could > argue that it looks confusing. However, I don't think it is a very > strong argument. Ok, so why is CSS3-background disallowing background: url("foo.png") / 10em black 10em and not background: url("foo.png") 10em black / 10em There is nothing confusing in those two cases, and the generalisation of the simple rule "/ <bg-size> immediately followed by <bg-position>" into "<bg-position> must not occur before '/ <bg-size>" seems like a strange decision as well. Just saying that 'background' can't start with '/ <bg-size>' is in the same range of text-based constraint. >> >> 2/ outlining the grammar change to appendix G in the CSS3 Background >> and Borders document (as in other CSS3 specs when such things occur), >> but it doesn't solve my issue on how to report the error in the CSS >> validator... > > Appendix G says explicitly that it contains a grammar for level 2. I > don't see how we can make it any more explicit. So why some CSS3 specs (like image) refers to this appendix G of CSS21? Please provide a revised grammar, like it was done for mediaqueries, for example. > Whether the validator prints an error for 'background: /10em' depends on > the profile that the user chose. The declaration is invalid if the > chosen profile is level 2. But if user chose level 3, or no profile at > all, then the declaration is valid and there should be no message. > > The declaration 'background: / black' gives an error under all profiles. > It's currently not valid in CSS at all. Ok, so on that case, a validator should say "you're on your own, it's invalid" or be more explicit to guide and help the user? (which leads to... what kind of error is it). -- Baroula que barouleras, au tiéu toujou t'entourneras. ~~Yves
Received on Wednesday, 17 February 2010 15:46:52 UTC