Cascading Style Sheets Working Group
The CSS WG develops and maintains the CSS language and related technologies. CSS allows both authors and readers to specify the display or other rendering of documents, such as those in HTML or SVG. CSS has several levels, from simple (level 1) to complex (level 3) and several “profiles,” which describe how CSS applies on different media (TV, handheld, etc.). Level 1 is a Recommendation, level 2 is in maintenance, level 3 is currently being developed.
This is the charter for the CSS WG for the period 1 July 2006 to 1 July 2008 and covers the revision of CSS level 2 and about half of the development of CSS level 3. It has been approved by the Director on the 28th of June, 2006. The contents are based on the previous charter, discussions in the WG and feedback from the AC review.
The goal of the Cascading Style Sheets Working Group (“CSS WG”) is to develop level 3 of CSS (“CSS3”) and maintain CSS2.
CSS is the Web's primary style sheet language for specifying the rendering of text documents, in particular those expressed in HTML and XML-based formats. It can also be used to specify portions of the rendering of certain non-text formats, such as SMIL (multimedia) and SVG (vector graphics). The model of text-flow and the set of properties of CSS are also shared with XSL, W3C's style language for complex formatting of XML-based document formats. (XSL is developed by a separate WG.) In addition to visual output (screen, print), CSS also contains styling properties for speech output.
The overall goal of the W3C is to make information easy to generate, easy to maintain, and easy to manipulate by both people and machines. Manipulation by machines, in particular, allows automatic enhancement of information, such as through smart search engines or conversions to other formats (accessibility!). Two of the methods are separation of information types into modules (structure, content, style, timing, linking, etc.) and developing expressive, yet simple formal languages that are a good compromise between readability for humans and for machines. CSS fits well with those goals.
CSS itself is partitioned for different media (screen, speech, print, etc.) and platforms of different capabilities (currently levels 1 & 2, this charter aims to develop level 3).
CSS3 will add new features w.r.t. CSS2. E.g., it will allow the existing properties to be used in vertical text; will allow text and links to behave as traditional, rich hypertext, as is possible in other hypertext systems than the Web; and have additional features for complex layouts. But above all it will reorganize the specification with the aim to make CSS easier to implement, use and validate.
Some of the challenges for CSS in the next years will very likely be the styling of interactivity and of non-text documents, as well as rendering models for multimedia (or hybrid) devices. Hybrid rendering can include visual renderings that also make sound and synchronized speech and text output. Properties for interactivity are necessary for form controls, hyperlinks and user interfaces in general. XForms is an example of a format that needs interactivity and layout for controls instead of text.
CSS was one of the first Recommendations published by W3C (its development actually started before the birth of the Consortium) and is one of the most popular. However, it is plagued by a history of buggy implementations; a situation that has led W3C to concentrate much more on conformance, not just for CSS, but for all other specifications as well. The most “draconian” outcome of that is the conformance clause of XML, which completely reverses the accepted wisdom up to that time, that producers (generators) are responsible for correctness and that consumers (parsers) should be tolerant.
CSS does not go that far, but it has very precise parsing rules and for some time the WG has been spending as much time developing test suites as working on the specification itself. The CSS WG also issues Candidate Recommendations (CR) for its specifications. In this state, which can take from a few weeks to a few years, implementations are invited and the specification is only updated to correct errors found during the implementation process.
The year 2000 has been the year that CSS1 implementations matured. The focus is now on CSS2. Several browsers that have come out since have substantial CSS2 support. That enables the WG to work on CSS3, but also requires attention to the interoperability of CSS2. In 2004, the WG published a CR for a revised version of CSS2, nicknamed “CSS 2.1,” that contains all features of CSS (levels 1, 2 and even small parts of 3) that should be widely and correctly implemented in many programs, including desktop browsers for HTML and generic XML, by the end of 2004. The year 2006 should be that of CSS 2.1!
This charter is for the period 1 July 2006 to 1 July 2008.
Development of CSS level 3 is expected to continue until 2011.
The CSS WG develops the following, somewhat independent technologies:
An example of a language that uses only the syntax is STTS (not developed by W3C). An example that uses the syntax, the cascading & inheritance, but not the typography model is the set of properties for styling SVG. CSS levels 1, 2 and 3 include the syntax, cascading & inheritance and rendering model.
CSS3 is expected to be a rather large specification, that is developed as a set of modules. Among them are modules for the syntax, the cascading and inheritance, and, of course, many aspects of typography.
CSS is a powerful language, but usability is preferred over completeness. Everybody who needs to style a document can use CSS, but there may be tasks that are too complex for CSS. For example, CSS does not sort elements in a document, or compute averages over them. CSS is also declarative, safe and meant to be usable both for “hand-coding” and WYSIWYG/Direct-Manipulation editors.
The CSS WG not only develops CSS3, but also checks that properties needed by other working groups and which could occur in a style sheet together with CSS3 properties, are compatible with CSS in general and CSS3 in particular and consistent in their naming schemes. This affects properties such as those of SVG and Device Independence (such as media features), but not properties such as those in STTS nor the presentation attributes of XSL, SVG or DFXP. One possibility that will be looked into is creating is a Style Coordination Group (Style CG) to ensure the liaison. A product that is likely to come out of that task is an index of all official CSS properties.
Profiles are subsets of the features of CSS3, usually for a specific device. The CSS WG has published profiles for TV, mobile phones and low-end printers. The number of such profiles should stay as small as possible, but when needed, the working group will try to cooperate with the organizations that need the profiles.
Part of the work of the working group is also to develop test suites for the various specifications it publishes.
Another part is to maintain errata and, when needed, publish revised versions of the various specifications.
A module is a specification of a set of CSS features with a common theme, for example, backgrounds, list numbering, or cascading & inheritance. Although an implementation can in theory implement all features of a module and thus claim conformance to that module, that is not what happens normally. Modules usually contain related features for different platforms, so that an implementation on a single platform can't conform to it. Modules also often depend on other modules, so that it makes little sense to conform to one module only.
Instead, implementations are expected to conform to profiles. A profile lists all the features that an implementation on a particular platform is expected to implement. Those features are taken from many different modules. There are profiles for printers, mobile phones, etc.
This expectation about what implementations will conform to is reflected in the criteria that the CSS WG typically proposes for modules and profiles to be elevated from Candidate Recommendation to Recommendation status.
The so called “exit criteria” for a Candidate Recommendation module are usually that every individual features has to be implemented by two independent, shipping products (as tested by the WG's own test suite). Each feature may be implemented by different products and there is no guarantee that you will find a single product that implements everything.
The exit criteria for a profile, on the other hand, are that there must be at least two independent implementations that each implement the whole profile.
The revised edition of CSS level 2 is special. Although CSS2 is not a profile and the exit criteria are those of a module, we expect that in practice the revised edition will be implemented in full (viz., by desktop browsers) and that products will claim conformance to it.
The main deliverables of the CSS WG are
but the WG may also publish
Developing CSS3 takes many years. Specifying features unambiguously and consistently, implementing them and testing them takes time and often several rounds. Moreover, the WG has no influence on the release schedules of software makers. The calendar below aims to have about half of CSS3 in Candidate Recommendation or better at the end of the charter period. Predictions are more difficult to make the further into the future they are, but it is likely to take at least five years before most of CSS3 has Recommendation status.
In January 2006, the CSS WG decided on the following schedule for its current drafts:
Name | 2006 | 2007 | 2008 | … | ID | ||||
---|---|---|---|---|---|---|---|---|---|
May | Jun | Oct | Nov | Dec | |||||
High priority | |||||||||
Selectors | TS | · | LC2 | PR | · | · | · | · | css3-selectors |
CSS 2.1 | · | CR2 | · | · | TS | · | · | · | CSS21 |
Mobile Profile | · | · | LC2 | TS | CR2 | · | · | · | css-mobile |
Medium priority | |||||||||
Color | · | · | · | · | · | TS | · | · | css3-color |
Media Queries | · | · | · | · | · | TS | · | · | css3-mediaqueries |
UI | · | · | · | · | · | TS | · | · | css3-ui |
Paged Media | · | · | · | · | · | TS | · | · | css3-page |
Print Profile | · | · | · | · | · | TS | · | · | css-print |
Namespaces | · | · | · | · | · | CR | · | · | css3-namespaces |
Syntax | · | · | · | · | · | CR | · | · | css3-syntax |
Values & Units | · | · | · | · | · | CR | · | · | css3-values |
Cascading | · | · | · | · | · | CR | · | · | css3-cascade |
Text Effects | · | · | · | · | · | LC2 | · | · | css3-text |
Text Layout | · | · | · | · | · | LC | · | · | css3-text-layout |
Backgrounds & Borders | · | · | · | · | · | CR | · | · | css3-background |
Reader | · | · | · | · | · | CR | · | · | css3-reader |
Columns | · | · | · | · | · | CR | · | · | css3-multicol |
Layout | · | · | · | · | · | LC | · | · | css3-layout |
Low priority | |||||||||
Scoping | · | · | · | · | · | · | CR | · | [TBD] |
Positioning | · | · | · | · | · | · | LC | · | css3-positioning |
Speech | · | · | · | · | · | · | CR | · | css3-speech |
Fonts | · | · | · | · | · | · | LC | · | css3-fonts |
Generated | · | · | · | · | · | · | LC | · | css3-content |
Lists | · | · | · | · | · | · | WD | · | css3-lists |
Box | · | · | · | · | · | · | WD | · | css3-box |
Line | · | · | · | · | · | · | WD | · | css3-line |
CSS-OM | · | · | · | · | · | · | LC | · | [TBD] |
Hyperlinks | · | · | · | · | · | · | LC | · | css3-links |
Style attribute | · | · | · | · | · | · | LC | · | css-style-attr |
Math | · | · | · | · | · | · | LC | · | css3-math |
Generated for Paged | · | · | · | · | · | · | LC | · | css3-gcpm |
Tables | · | · | · | · | · | · | LC | · | css3-tables |
Ruby | · | · | · | · | · | · | WD | · | css3-ruby |
Not in this charter period | |||||||||
Selectors (revision) | · | · | · | · | · | · | · | LC | css3-selectors |
Introduction | · | · | · | · | · | · | · | LC | css3-roadmap |
Presentation levels | · | · | · | · | · | · | · | ? | css3-preslev |
Audio | · | · | · | · | · | · | · | ? | css3-audio |
Drop | |||||||||
Grammar appendix | · | · | · | · | · | · | · | · | ? |
CSS-EOM | · | · | · | · | · | · | · | · | ? |
(TS = test suite; LC2 = new last call for comments; CR2 = new Candidate Recommendation; PR = Proposed Recommendation)
The goal is to finish the high-priority specifications before publishing new drafts of the others. The “drop” category contains modules that may be dropped completely.
However, the priorities may change when other working groups provide editing resources for specifications they need.
Here are short descriptions of the modules:
The CSS WG coordinates with various other working groups through the Hypertext Coordination Group. That includes in particular the WAI PF WG and the I18N Core WG, because style sheets are important for accessibility and the CSS WG needs external expertise on layout in different scripts and languages.
The CSS3 Math Module will be written either together with or by the Math WG (and then reviewed by the CSS WG).
The CSS3 Web Fonts Module will be written by the SVG WG and reviewed by the CSS WG.
The CSS3 Layout module will be written jointly by the DI and CSS WGs. A joint mailing list ( member-layout-tf) has been created for that purpose.
The CSS Mobile Profile will be written jointly by the CDF and CSS WGs (in cooperation with the OMA).
New features in CSS which overlap with existing XSL-FO features should as a general policy defer to the definition and processing model for the existing XSL-FO feature unless it can be documented that the XSL-FO feature is unsuitable for use in CSS.
The CSS WG will review drafts from other WGs, that are relevant to CSS.
The CSS WG coordinates with the WAI PF WG and the I18N Core WG on issues of accessibility and internationalization, respextively.
There are several groups outside W3C with which the CSS group maintains contact:
Further, it may be necessary to update the registration of the text/css MIME type with IANA.
This Working Group operates under the W3C Patent Policy (5 February 2004 version). To promote the widest adoption of Web standards, W3C seeks to issue Recommendations that can be implemented, according to this policy, on a Royalty-Free basis.
There are two kinds of meetings:
When possible, the face-to-face meetings will be held during the W3C Technical Plenary meeting(s).
In addition to the phone meetings and face-to-face meeting, the CSS WG communicates via the archived, member-only mailing list <w3c-css-wg@w3.org> Meeting minutes are member-only and are posted on this mailing list.
The archived mailing list <www-style@w3.org> is used for public discussion of Style Sheets, and WG members are encouraged to subscribe.
Also, the Group page (member-only) is an important means of communication.
The Group works by consensus. In the event of failure to achieve consensus, the Group may resort to a vote as described in the Process Document.
Requirements for meeting attendance and timely response are described in the Process Document (version of February 2004).