This page describes the test format. The requirements are explained below; to make things easier we've also provided a template that you can copy.
Additional guidelines on designing the content of the test can be found in the CSS2.1 Test Case Authoring Guidelines.
The baseline format for CSS2.1 tests is XHTML 1.1 in UTF-8. Images must be in PNG format. A set of scripts generate the various formats from this source version. Tests must be valid XHTML 1.1, so please validate your tests before submission.
A template for new tests follows. Copy and paste the code below into a new file or save this template file and replace the capitalized parts as described below.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>CSS Test: DESCRIPTION OF TEST</title> <link rel="author" title="NAME_OF_AUTHOR" href="mailto:EMAIL OR http://CONTACT_PAGE"/> <link rel="help" href="RELEVANT_SPEC_SECTION"/> <meta name="flags" content="TOKENS" /> <meta name="assert" content="TEST ASSERTION"/> <style type="text/css"><![CDATA[ CSS FOR TEST ]]></style> </head> <body> CONTENT OF TEST </body> </html>
<title>CSS Test: DESCRIPTION OF TEST</title>
The title appears in the generated index, so make sure it is unique and descriptive. There is no need to provide the chapter or section in the title.
<link rel="author" title="NAME_OF_AUTHOR" href="mailto:EMAIL OR http://CONTACT_PAGE" />
Credits provide a way to identify the person or organization that submitted the test. This is useful for reviewing purposes and for asking questions about the individual test. A test can have multiple author credits if necessary.
<link rel="help" href="RELEVANT_SPEC_SECTION" />
The specification link elements provide a way to align test with information in the CSS 2.1 specification.
<link rel="help" href="http://www.w3.org/TR/CSS21/text.html#alignment-prop" />
Example 2:
<link rel="help" href="http://www.w3.org/TR/CSS21/text.html#alignment-prop" /> <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#q7" /> <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" /> <link rel="help" href="http://www.w3.org/TR/CSS21/colors.html#background-properties" />
<meta name="flags" content="TOKENS" />
Flags document the test’s prerequisites, for example, the Ahem font, or a paged presentation. Multiple tokens are space separated.
All flags documented elsewhere are deprecated except the following:
| Token | Description |
|---|---|
| ahem | Requires the Ahem font |
| dom | Requires support for JavaScript and the Document Object Model (DOM) |
| font | Requires a specific font to be installed. (Details must be provided and/or the font linked to in the test description) |
| history | User agent session history is required. Testing :visited is a good example where this may be used. |
| HTMLonly | Test case is only valid for HTML |
| image | Requires support for bitmap graphics and the graphic to load |
| interact | Requires human interaction (such as for testing scrolling behavior) |
| invalid | Tests handling of invalid CSS. Note: This case contains CSS properties and syntax that may not validate. |
| namespace | Requires support for XML Namespaces |
| nonHTML | Test case is only valid for formats besides HTML (e.g. XHTML or arbitrary XML) |
| may | Behavior tested is preferred but OPTIONAL. [RFC2119] (These tests must be reviewed by a test suite owner or peer.) |
| paged | Only valid for paged media |
| should | Behavior tested is RECOMMENDED, but not REQUIRED. [RFC2119] |
| scroll | Only valid for continuous (scrolling) media |
| svg | Requires support for vector graphics (SVG) |
| 96dpi | Assumes 96dpi display |
<meta name="assert" content="TEST ASSERTION" />
This element should contain a complete detailed statement expressing what specifically the test is attempting to prove.
The assertion should not be:
The test assertion is optional. It helps the reviewer understand the goal of the test so that he or she can make sure it is being tested correctly. Also, in case a problem is found with the test later, the testing method (e.g. using 'color' to determine pass/fail) can be changed (e.g. to using 'background-color') while preserving the intent of the test (e.g. testing support for ID selectors).
<style type="text/css"><![CDATA[ CSS FOR TEST ]]></style>
When creating styles primarily use ID or Class selectors. Inline styles should not be used unless the case is specifically testing this scenario.
<body> CONTENT OF TEST </body>
<div>, <span>, <p>, <img><p> has margins by default!table features with both HTML table elements and <div> + display: table-*style attribute (inline styles) unless specifically testing that attribute
The new filename format is test-topic-###.ext where test-topic somewhat describes the test and
### is a zero-filled number used to keep the filenames unique.
The filename is no longer restricted to 31 characters, but please try to keep them short.
test-topic
A short identifier that describes the test. The test-topic should avoid
conjunctions, articles, and prepositions. It is a filename, not an English phrase: it should be as
concise as possible.
margin-collapsing-###.ext
border-solid-###.ext
float-clear-###.ext
###
This is a zero-filled number used to keep the filenames unique when files have the same test-topic name. In the case of margin-collapsing there are multiple cases so each case could have the same test-topic but different numbers.
Note: the number format is limited to 999 cases if you go over this number it is recommended that you reevaluate your test-topic name.
ext
The file extension or format of the file.
A number of standard images are provided in the support directory. These include
Additional generic files can be added as necessary, and should have a descriptive filename. Test-specific files should be named after the test (or test-topic if they are shared across several tests within a series). If possible tests should not rely on transparency in images, as they are converted to JPEG (which does not support transparency) for the xhtml1print version.