- From: Zack Weinberg <zweinberg@mozilla.com>
- Date: Wed, 21 Jul 2010 13:39:50 -0700
- To: Bjoern Hoehrmann <derhoermi@gmx.net>
- Cc: www-style@w3.org
Bjoern Hoehrmann <derhoermi@gmx.net> wrote: > Hi, > > http://www.w3.org/TR/2009/PR-css3-selectors-20091215 introduces > tokens beyond what CSS 2.1 defines as the unchanging core tokens. > This assigns significance to comments that they are not supposed to > have, and creates some anomalies. For instance, there is a token for > ":not(" defined so that > > :/**/not(...) > > would not be recognized as :not pseudo class, while e.g. > > :/**/first-child > > would be recognized as :first-child pseudo class. Opera, Firefox, and > Webkit however treat the selectors above the same. The same problem > ex- ists for the new attribute selectors. Gecko's implementation strategy has been to assume that if some css3 module provides tokenization rules that contradict those in section 4 of css2.1, the module is wrong; with one exception, the extra X= operators defined by css3-selectors, where we implement the module rather than section 4. (A strictly-according-to-section-4 implementation would have to allow [attr*/**/='value'].) We also consider section 4 to trump appendix G of css2.1. If a change is required here (and I'm not convinced it is), my first choice would be to back-propagate the X= operators to css2.1 and delete the *entirety* of section 10.2 of css3-selectors; and my second choice would be to insert verbiage into css2.1 somewhere saying that comments may only appear where the S token may appear. Note that these options would produce different web-observable behavior. There may also be a problem here with the an+b notation, I'm not sure. zw
Received on Wednesday, 21 July 2010 20:40:28 UTC