A Touch of Class

fantasai
2009-01-14

CSS Working Group Charter 2008

So the CSS Working Group has been rechartered again. We're now operating under our new charter (which due to the bureaucratic process only took effect recently).

Also, in case you hadn't noticed, last March Daniel Glazman and Peter Linss took over as co-chairs of the CSS Working Group. Bert retains his position in the Working Group as the W3C Staff Contact, and will hopefully have more time to edit specs.

Last year the WASP asked for feedback from web designers on what they want, so that the CSS Working Group could consider it in their next charter. Some of that feedback has already been relayed, but today I've finally finished off my full report on the 2008 WASP community feedback. It's a long document. I've grouped comments by what they're requesting (if I could understand it at all), and I tried to respond to as many as I could about what I thought about the request and what the CSSWG has done about it so far. Thank you to everyone who responded, especially those few who gave realistic use cases like I asked. :-) I hope this will help both implementors and the Working Group understand what authors are looking for.

While we're on the topic, I wanted to discuss the rechartering process, what criteria we used to pick areas of work, what made it into the charter, and what's being done so far.

Determining Deliverables

The first step the CSSWG took was to determine what our criteria will be for selecting modules to work on in the next charter period. We resolved that to stay in the charter, a module must have both

The rationale for the first is that, whatever the state of implementations, a module will not progress in the WG unless someone is actively working on it. Case in point: CSS Namespaces, which was drafted in 1999, has been implemented in most browsers for years, but wasn't updated from the 1999 Working Draft until Anne and I took it to Candidate Rec last year.

The rationale for the second is that the Working Group exists for the purpose of standardization. If nobody's interested in implementing something, we're wasting our time writing a spec on it. Also, if only one implementor is interested in implementing something, we can't really make a cross-platform standard out of it.

The chairs took an anonymous survey of implementors' top priorities and came up with this list. After some discussion it was amended to the current list. W3C Management insisted on keeping our deliverables list short enough to accomplish within 2 years.

To keep the ability to respond to new developments and changing priorities, the CSSWG resolved to use the charter amendment process as necessary to bring new items in scope.

High-Priority Items

The high-priority items in our charter are those we expect to complete within the next two years.

CSS2.1
This defines, in detail, a complete level of CSS and forms the basis of CSS3. Without 2.1, most of CSS3 can't exist. One problem with 2.1 is while it's 99% stable, it's a big spec, and people keep finding problems with it. The other problem is the test suite, which will be huge. Luckily Microsoft has stepped in to make that happen.
Selectors Level 3
This module has been pretty stable for years, already has a test suite, and is being widely adopted by browsers. The spec needs a little more refinement, but once it's done we should be able to progress to Recommendation easily.
CSS Namespaces
This is a fairly trivial CSS module, and it's been implemented for nearly a decade. The spec's status is behind reality, so it doesn't need much to progress to REC.
CSS Color Level 3
This module defines more color syntaxes like hsl(), adds an alpha channel notation (e.g. rgba()) and defines the new opacity property. David Baron has taken module ownership and has written a test suite. There are multiple implementations already, so this spec mainly just needs implementation reports to progress to REC.
CSS Snapshot 2007
This spec doesn't introduce any features, it just defines a profile of CSS that includes all the above modules and explains how they fit together. It will progress along with the slowest of the above.
CSS Mobile Profile 2.0
This spec gives mobile vendors a common level of baseline functionality to target. The mobile community is driving this spec: the WG as a group doesn't spend much time on it.
CSS Backgrounds and Borders Level 3
Most of the most-requested CSS3 features fall into this module, and implementors like Apple, Opera, and Mozilla are really starting to run with this. Bert and I have been working on this spec a lot this year, and expect to publish a Last Call within a few weeks. The main holdup after that will be the test suite.
Media Queries
Media Queries in CSS give the author a lot of power to make adaptive layouts, allowing queries about the screen size and other device features from within the style sheet. The spec is pretty tight at this point, and there are multiple implementations so far. With Anne at the helm and Lachlan on the test suite, if this spec doesn't make it to REC within the next two years, I'll eat my hat.
CSS Paged Media Level 3
While most web authors aren't clamoring for this one, it's a high-priority item for both the printer and the CSS-to-print/PDF industry. If you own a snazzy printer with wifi technology, chances are it has a CSS formatter inside. And pagination controls are obviously important to a formatter like PrinceXML. This spec's gone through a rehaul the past couple of years to tighten up and clarify a lot of the prose, and while it's not as close to done as the specifications above Hewlett-Packard is putting some serious resources into getting it to REC.
CSS Object Module View Module
This module attempts to standardize some of the commonly-used non-standard scripting interfaces like offsetWidth. The features are already implemented, so getting it to REC depends on figuring out the details and getting the implementors to align on them.
CSS Variables
This proposal generated a lot of interest when it was introduced earlier last year. Of all the specs on this list it's probably the biggest stretch, since it'd be going from nothing to REC.