CSS Working Group
charter 2006-2008

Cascading Style Sheets Working Group

Summary and status of this document

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.

1. Goals & context

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!

2. Duration

This charter is for the period 1 July 2006 to 1 July 2008.

Development of CSS level 3 is expected to continue until 2011.

3. Scope

The CSS WG develops the following, somewhat independent technologies:

  1. A syntax for associating information with elements in a structured resource, in particular SGML and XML documents. The main part of the syntax consists of rules that associate properties + values with selectors where the selectors are expressions that match elements in the structured document, based on their position in the document or based on other information about the elements (their type, what the user has done with them, etc.)
  2. A processing model, referred to as cascading and inheritance, that ensures that given one or more style sheets and a structured document, all elements in the document are associated with a full set of properties and values, no matter how short the style sheets or how long the document.
  3. A rendering model. Part of that is a model of typography, i.e., a layout model for text documents, possibly with embedded other objects. This is a model in which there are blocks and lines of text, characters, columns, colors, etc. The rendering model also includes the presentation and behavior of UI widgets. Another part is rendering to speech. CSS's influence over UI controls is limited to defining shortcut keys, the look of controls in various states during interaction (valid/invalid, required, inactive, etc.), hiding/unhiding, and other local behaviors, but CSS does not itself change the state of elements and does not define how (form) elements interact with a server. (The general principle is that CSS can enhance the user's interaction with a document, but the document is functional without it.)
  4. CSS Object Model, a set of standard APIs, to which libraries can be written for manipulating style sheets and documents with associated style information.

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.

4. Modules and profiles

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.

5. Publications

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
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:

Selectors (css3-selectors)
A language, first developed for CSS, that allows for expressions to be evaluated against an element in a tree to determine whether it matches or not. Designed to be easy to use and to guarentee that all expressions are fast to evaluate.
CSS level 2 revision 1 (CSS21)
The revision of the widely used CSS2 specification, aiming at high standards for interoperabilitty across Web browsers.
Mobile Profile
A selection of features from CSS that defines the minimum required support on mobile phones. Developed in cooperation with the OMA and the CDF WG.
Properties for colors, color profiles, opacity and various notations for colors, common between CSS and SVG.
Media Queries
Conditional expressions over a small set of device characteristics, for use in XML, HTML and CSS, to allow an author to indicate for which kind of device a certain style sheet is suitable.
Basic User Interface (css3-ui)
User interface related selectors, properties and values to style HTML and XML (including XHTML and XForms). It includes and extends user interface related features of the CSS2 and Selectors specifications.
Paged Media
The page model that partitions a flow into pages. It contains functionality for pagination, page margins, headers and footers and image orientation. It extends generated content for the purpose of cross-references with page numbers.
Print Profile
A selection of CSS features specifically for printing to low-cost devices, e.g., from mobile devices. This profile is designed to work in conjunction with XHTML-Print and defines a minimum level of conformance as well as an extension set that provides stronger layout control for the printing of mixed text and images, tables and image collections.
The @namespace rule to declare short names for URIs, which can then be used in selectors and in the attr() notation.
Absolute, fixed and relative positioning, as in CSS2.
The generic syntax of CSS (i.e., without the specific syntaxes of each property or selector) and the rules for recovery from parsing errors and from future extensions.
Values & Units Module (css3-values)
The CSS 2.1 material on values and units, plus better mechanisms for converting attributes in markup to CSS values, better handling of namespaces, and additional units to help authors create pages that respond better to changes in viewport size and font size.
Cascading & Inheritance
The model of value assignments: specificity of selectors, inheritance of values from parent elements, computation of dependent values.
Properties to control speech generation: voice family, pitch, speed, volume, audible cues, etc.
Text Layout Module (css3-text-layout)
Text Layout covers fundamental aspects of text layout including vertical text, bidirectionality, grid layout, and inline combination.
Text Effects Module (css3-text)
Text Effects defines properties for text manipulation and specifies their processing model. It covers line breaking, justification and alignment, white space handling, text decoration and text transformation.
Stylesheet Scoping Module
Defines various ways that a style sheet can be scoped to a part of a document to provide a normative reference for specifications that want scoped style sheets.
Backgrounds & Borders Module (css3-background)
Extends the decorative capabilities of the CSS background and border properties.
A media type for devices that render pages on screen and in speech at the same time, or on screen and in braille, or all three.
Properties that control the selection of fonts: font family, weight, size, etc.
Generated Content
Inserting content before, after or in place of elements in a document, including section numbers, list markers and quote marks.
List numbering styles from a large number of typographical traditions, from simple bullets to numbering in Ethiopic.
Box Model (css3-box)
The CSS 2.1 material on the box model, plus additional mechanisms for flow around floats and more precise definitions of intrinsic sizing. All definitions are symmetric for horizontal and vertical text.
Line Box
The layout of line boxes, including line height, aligning of baselines and drop caps
Multicolumn Layout
CSS properties that allow content to be flowed into multiple columns in a manner suitable for screen display or for printing.
An introduction to CSS and to the modules of CSS3.
Advanced Layout
A document defining (1) CSS mechanisms for flexible box layout and (2) CSS mechanisms for placing content in appropriate regions of a layout regardless of its order in the document.
Hyperlinks Presentation
Various ways to display the results of a hyperlink activation: open in same document, open in new window, open in tab, etc.
Syntax of the style attribute
Different possible syntaxes for style rules when embedded in an attribute, such as the style attribute of HTML, from simple (as in HTML4), to medium complex (allowing, e.g., scoped style rules).
Various ways to select elements, based on name, attributes, position in the document, user interaction, etc.
Math Module (css3-math)
Contains properties or other information targeted at styling mathematics, building on on the layout model of the “presentational” elements of MathML as necessary. The module is being developed in cooperation with the Math Working Group.
Generated Content for Paged Media
Types of generated text that are especially useful for printed media: leaders, footnotes, symbol counter styles, cross-references, named page lists, named strings, and generated lists.
Properties for styling Ruby annotations.
Presentation Levels
Properties to describe a series of styles that a user can advance or backtrack through, e.g., for progressive highlighting of different parts of a slide.
The CSS 2.1 material on tables, plus (1) mechanisms for row-spanning and column-spanning cells and (2) more precise definitions of existing behavior, especially regarding handling of intrinsic widths.
Properties for sounds to be played while an element is displayed or while it is in (or enters) a certain state, with control over volume, mixing, etc.

6. Liaisons

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.

7. Patent Policy

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.

8. Meetings and communication

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.

9. Voting mechanisms

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.

10. Participation

Requirements for meeting attendance and timely response are described in the Process Document (version of February 2004).

W3C Members
Participation (meetings, reviewing and writing drafts) is expected to consume time equal to 1 day per week on average (0.2 fte).
Invited experts
The chairman and team contact can invite people to participate in the group for one or more meetings. See section “ Invited Expert in a Working Group” in the Process Document.
W3C Team
Bert Bos (estimated 0.4 fte) will be W3C Team contact and chairman for the CSS WG.
Bert Bos
Created: 8 July 2004
Last modified: $Date: 2009/10/07 07:51:54 $