“Interoperability is the ability of two or more systems or components to exchange information and to use the information that has been exchanged.” — IEEE
Interoperability is important to web designers. Better interoperability among CSS implementations means designers can write their CSS for one browser and see that it works predictably well on the other browsers. It means reducing the incompatibilities in the way CSS implementations interpret CSS.
Good test suites drive interoperability. They are a key part of making sure web standards are implemented correctly and consistently. More tests encourage more interoperability. Wrong tests drive interoperability on wrong behavior.
CSS needs good test suites! The W3C hosts the official test suites for the CSS Specifications here. Most of these test suites are still works in progress: they're incomplete and may contain errors. You can help us drive CSS interoperability on the Web by reporting errors and contributing test cases. Send questions, comments, error reports, and test submissions to the public-css-testsuite mailing list.
The “Test the Web forward” project helps organize events where you can participate and write and review tests together with others. TTWF is a project of W3C, with support from Adobe, Facebook and others.
The table below lists some of the available test suites: the latest version, other versions, the next version under development, and the latest test report.
The links under ‘Development’ go to the CSS Test Harness, which generates reports and lets everybody run tests easily. The tests themselves are stored on Github in the Web-platform tests repository.
Specification | Latest Release | Development | Older Releases | ||
---|---|---|---|---|---|
Tests | Results | Tests | Results | ||
Media Queries | Release Candidate (1.0) | Nightly | Report | Archive | |
Selectors Level 3 | Final (1.0) | Report | Nightly | Report | Archive |
CSS 2.1 | Final (1.0) | Report | Nightly | Report | Archive1) |
CSS Basic UI Level 3 | None | Nightly | Report | ||
CSS Color Level 3 | Final (1.0) | Nightly | Report | Archive | |
CSS Marquee Level 3 | None | ||||
CSS Multi-column Layout | None | Nightly | Report | ||
CSS Namespaces | Final (1.0) | Report | Archive | ||
CSS Paged Media Level 3 | Pre-Alpha | Archive | |||
CSS Mobile Profile 1.0 | Alpha? | Archive | |||
CSS Print Profile 1.0 | Pre-Alpha | Archive | |||
CSS TV Profile 1.0 | None | ||||
CSS Style Attributes | None | Nightly | Report | ||
CSS Backgrounds and Borders Level 3 | None | Nightly | Report | ||
CSS Conditional Rules Module Level 3 | None | Nightly | Report | ||
CSS Text Decoration Module Level 3 | None | Nightly | Report | ||
CSS Level 1 | Obsolete | Archive |
1) The version used for the CSS 2.1 Proposed Recommendation is the Test Suite of 23 March 2011 and corresponding implementation report.
Release phase definitions:
Unless otherwise stated, all test suites are licensed under both the W3C Test Suite License and the 3-clause BSD License. See W3C Legal's explanation of the licenses.
Contributions to these test suites are governed by the W3C's Policies for Contribution of Testcases to W3C. Contributors who are not members of the CSS Working Group must agree to the terms of Grant II.
Information about the current test submission format and on contributing to the test suites is available on the wiki. Some test authoring guidelines are also available. Our older test suites are written to the principles of the old test suite documentation; please see the wiki for up-to-date information.
Test suites are occasionally updated, but old versions remain on-line. If you link to a test suite, you can choose whether to link to a specific, dated version or to the dynamic "current" version.
The URLs of tests for CSS3 modules are of the form:
.../CSS3/MODULE/current .../CSS3/MODULE/YYYYMMDD
where MODULE
is the (capitalized)
module name, e.g., "Selectors", and YYYYMMDD
is a date, e.g., "20011105". The "current" link always
redirects to the most recent dated test suite.
The URLs of tests for profiles are of the form:
.../PROFILE/VERSION/current .../PROFILE/VERSION/YYYYMMDD
where PROFILE
is the name of a CSS profile, e.g.,
"Mobile" and VERSION
is a version number, e.g.,
"1.0".
Created 13 November 2001. Last updated Tue 12 Sep 2023 09:28:24 PM UTC