[CSSWG] Selectors 3 REC, Namespaces REC, Selectors 4 FPWD

Today W3C issued two new Recommendations: Selectors Level 3 and it dependency, CSS Namespaces.
   http://www.w3.org/TR/css3-selectors/
   http://www.w3.org/TR/css3-namespace/

Selectors Level 3 has been a core part of CSS for awhile now, and is interoperably implemented
by all modern browsers (including IE as of IE9). CSS Namespaces, which allows namespace-specific
selectors, just completed its PR review phase, allowing both it and Selectors Level 3 to progress
to W3C Recommendation.

Together with these publications, the CSSWG also issued a First Public Working Draft of
Selectors Level 4.
   http://www.w3.org/TR/selectors4/

As explained in the CSS Snapshot [1], beyond level 2 CSS modules will level independently.
Selectors is the first module to step up from Level 3 to Level 4. It collects together
many of the proposals that were posted to www-style after the Selectors 3 feature freeze.
(Note that pseudo-elements have been split out from this draft; they will reappear in
other modules.)

New features in Level 4 include:

     Expanded :not() arguments to be a list of compound selectors rather than just a
       simple selector. E.g. :not(:hover:active,:focus:active)
     Added :matches() as its “matches any” positive equivalent, allowing easier “or”
       operations. E.g. :matches(:focus, :hover)
     Added :any-link as equivalent to :matches(:visited, :link). (Better name suggestions
       encouraged.)
     Added :local-link to select local links (targetted at this document, or this domain, etc.)
     Added :dir() selector to select based on element directionality (ltr vs. rtl).
     Added case-insensitive attribute value selectors to satisfy an HTML5 request.
     Added a :scope pseudo-class to tailor scoped selectors.
     Added time-dimensional pseudo-classes :current, :past, and :future to style
       time-dimensional displays.
     Folded in all the CSS3 UI pseudo-selectors.
     Added :nth-match() and :nth-last-match() so you can write, e.g.
       :nth-match(odd of :not([hidden])).
     Added column selectors for styling by association to a table column.
     Added an IDREF combinator so you can style based on ID-referenced relationships,
       e.g. label /for/ input.
     Added the ability to indicate the subject of a selector, e.g.
       $:any-link > img:only-child
       selects a link that contains a single image rather than a image that is the only
       elemental child of a link.

Keep in mind that Selectors 4 is a very early stage working draft, and the new features
in it are much more at the brainstorming stage than the stable-go-implement stage. :)
Some features may change drastically before CR; some may not make it through and be
dropped. However, your feedback is welcome in shaping the draft going forward.

As always, please send feedback on this mailing list by starting a new thread, including
the spec code ([css3-selectors], [css3-namespace], or [selectors4]) and your comment
topic in the subject line. We will maintain errata for Selectors 3 and Namespaces;
but, as with shipped software, active development will happen on the new mainline,
Selectors 4.

~fantasai

Received on Thursday, 29 September 2011 22:49:40 UTC