XHTML 1.1 for Printers Test Suite for CSS 2.1 Conformance Testing
Thank you for offering to contribute results for the support of CSS2.1 conformance
testing.
Your browser has been identified by the user-agent string shown below.
This string indicates that your browser is unknown; however,
you can provide results for a different browser by providing another user-agent
string.
The XHTML 1.1 for Printers test suite contains 511 test cases.
You can choose to conduct:
The full test suite
in order
with least tested cases first
A group of test cases:
12.4 Automatic counters and numbering
12.2 The 'content' property
10.8.1 Leading and half-leading
10.8 Line height calculations: the 'line-height' and 'vertical-align' properties
10.5 Content height: the 'height' property
10.4 Minimum and maximum widths: 'min-width' and 'max-width'
10.3.4 Block-level, replaced elements in normal flow
10.3.3 Block-level, non-replaced elements in normal flow
10.2 Content width: the 'width' property
10.1 Definition of "containing block"
9.5.2 Controlling flow next to floats: the 'clear' property
9.5.1 Positioning the float: the 'float' property
9.5 Floats
9.4.2 Inline formatting context
9.2.4 The 'display' property
9 Visual formatting model
8.5 Border properties
8.4 Padding properties: 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', and 'padding'
8.3.1 Collapsing margins
8.3 Margin properties: 'margin-top', 'margin-right', 'margin-bottom', 'margin-left', and 'margin'
8.1 Box dimensions
6.4.3 Calculating a selector's specificity
6.4.2 !important rules
6.4.1 Cascading order
6.3 The @import rule
6.2 Inheritance
5.12.2 The :first-letter pseudo-element
5.12.1 The :first-line pseudo-element
5.11.3 The dynamic pseudo-classes: :hover, :active, and :focus
5.11 Pseudo-classes
5.10 Pseudo-elements and pseudo-classes
5.9 ID selectors
5.8.3 Class selectors
5.5 Descendant selectors
5.2.1 Grouping
4.3.7 Strings
4.3.6 Colors
4.3.4 URLs and URIs
4.3.3 Percentages
4.3.2 Lengths
4.2 Rules for handling parsing errors
4.1.9 Comments
4.1.5 At-rules
4.1.3 Characters and case
4.1.2 Keywords
1.4.3 Shorthand properties
12.4.1 Nested counters and scope
12.4.3 Counters in elements with 'display: none'
12.5 Lists
14.1 Foreground color: the 'color' property
14.2 The background
14.2.1 Background properties: 'background-color', 'background-image', 'background-repeat', 'background-attachment', 'background-position', and 'background'
15.3 Font family: the 'font-family' property
15.4 Font styling: the 'font-style' property
15.5 Small-caps: the 'font-variant' property
15.6 Font boldness: the 'font-weight' property
15.7 Font size: the 'font-size' property
15.8 Shorthand font property: the 'font' property
16.1 Indentation: the 'text-indent' property
16.2 Alignment: the 'text-align' property
16.4 Letter and word spacing: the 'letter-spacing' and 'word-spacing' properties
16.5 Capitalization: the 'text-transform' property
16.6 Whitespace: the 'white-space' property
17.6.2 The collapsing border model
misc.
in order
with least tested cases first
A single test case:
Implied counter scopes with no 'counter-increment' or 'counter-reset'
content: counters() error cases
content: counters() string argument
content: counters() string argument
content: counters(c, ".", upper-alpha)
content: counters(c, ".", lower-greek)
content: counters(c, ".", upper-latin)
content: counters(c, ".", lower-alpha)
content: counters(c, ".", lower-latin)
content: counters(c, ".", armenian)
content: counters(c, ".", upper-roman)
content: counters(c, ".", georgian)
content: counters(c, ".", lower-roman)
content: counters(c, ".", decimal-leading-zero)
content: counters(c, ".", decimal)
content: counters(c, ".", square)
content: counters(c, ".", circle)
content: counters(c, ".", disc)
content: counters(c, ".", none)
content: counters(c, ".")
content: counter() error cases
content: counter(c, lower-greek)
content: counter(c, upper-alpha)
content: counter(c, upper-latin)
content: counter(c, lower-alpha)
content: counter(c, lower-latin)
content: counter(c, armenian)
content: counter(c, georgian)
content: counter(c, upper-roman)
content: counter(c, lower-roman)
content: counter(c, decimal-leading-zero)
content: counter(c, decimal)
content: counter(c, square)
content: counter(c, circle)
content: counter(c, disc)
content: counter(c, none)
content: counter(c)
line-height
line-height
line-height
line-height
line-height
line-height
vertical-align
vertical-align
vertical-align
vertical-align
vertical-align
Inline Elements
The Height of Lines
The Height of Lines
The Height of Lines
The Height of Lines
height
height
height
Replaced Elements
Replaced Elements
Replaced Elements
Replaced Elements
Horizontal Formatting
width
width
width
Containing block for absolute positioning
Containing block for absolute positioning
Containing block for absolute positioning
Containing block for absolute positioning
Containing block for absolute positioning
Containing block for absolute positioning
Containing block for absolute positioning
Containing block for absolute positioning
Containing block for fixed positioning
Margin Collapsing with Clearance
Margin Collapsing with Clearance
Margin Collapsing with Clearance
Margin Collapsing with Clearance
Margin Collapsing with Clearance
Margin Collapsing with Clearance
Margin Collapsing with Clearance
Margin Collapsing with Clearance
Margin Collapsing with Clearance
Margin Collapsing with Clearance
Margin Collapsing with Clearance
Margin Collapsing with Clearance
float
Floating Elements
Floating Elements
Floating Elements
Floating Elements
Floating Elements
Floating Elements
Floating Elements
Floating Elements
Floating Elements
clear
clear
float
float
float
float
float
float
float
float
float
float
float
Floating Elements
Floating Elements
Floating Elements
Floating Elements
Floating Elements
Floating Elements
Floating Elements
Floating Elements
Floating Elements
Inline Elements
Updating layout on display changes
display/box/float/clear test
border
border
border
border
border-left
border-left
border-left
border-left
border-bottom
border-bottom
border-bottom
border-right
border-right
border-right
border-right
border-top
border-top
border-top
border-style
border-style
border-color
border-color
border-width
border-width
border-width
border-width
border-left-width
border-left-width
border-left-width
border-left-width
border-left-width
border-bottom-width
border-bottom-width
border-bottom-width
border-bottom-width
border-bottom-width
border-right-width
border-right-width
border-right-width
border-right-width
border-right-width
border-top-width
border-top-width
border-top-width
border-top-width
border-top-width
padding
padding
padding
padding
padding-left
padding-left
padding-left
padding-left
padding-left
padding-left
padding-left
padding-left
padding-left
padding-bottom
padding-bottom
padding-bottom
padding-bottom
padding-right
padding-right
padding-right
padding-right
padding-right
padding-right
padding-right
padding-right
padding-right
padding-top
padding-top
padding-top
padding-top
Vertical Formatting
margin
margin
margin
margin
margin
margin-left
margin-left
margin-left
margin-left
margin-left
margin-left
margin-left
margin-left
margin-left
margin-left
margin-left
margin-bottom
margin-bottom
margin-right
margin-right
margin-right
margin-right
margin-right
margin-right
margin-right
margin-right
margin-right
margin-right
margin-right
margin-top
margin-top
Horizontal Formatting
anchor
anchor
important
Cascading Order
Basic Containment
Inheritance
Inheritance
Multiple Pseudo-Elements
first-letter
first-line
Effect of DOM mutations on :hover matching
Effect of DOM mutations on :hover matching
anchor
anchor
anchor
anchor
anchor
anchor
anchor
anchor
Pseudo-elements in Selectors
Escapes in ID selectors
ID selectors starting with number
ID as selector
ID as selector
Class as selector
Contextual selectors
Contextual selectors
Descendant selectors (Contextual selectors)
Grouping
Newlines in strings
RGB color syntax error handling
Color Units
URLs
Percentage Units
Length Units
Length Units
Length Units
malformed declaration: unexpected tokens { }, part 2
malformed declaration: unexpected tokens { }, part 1
malformed declaration missing value, part 2
malformed declaration missing value, part 1
malformed declaration missing ':', value, part 2
malformed declaration missing ':', value, part 1
Forward-Compatible Parsing
Forward-Compatible Parsing
Forward-Compatible Parsing
Forward-Compatible Parsing
Forward-Compatible Parsing
Comments
Comments
At-rules
At-rules
At-rules
At-rules
At-rules
At-rules
At-rules
At-rules
At-rules
At-rules
Characters and Case
Characters and Case
Characters and Case
Characters and Case
Characters and Case
Characters and Case
Characters and Case
Characters and Case
Characters and Case
Characters and Case
Characters and Case
Characters and Case
Characters and Case
Characters and Case
Invalid Space-terminated Character Escapes
Space-terminated Unicode Escapes
Incorrect Letter Escape (Class Selector)
Unicode Escapes and Case Insensitivity
Unicode Escapes
Class and Keyword Letter Escapes
Invalid Punctuation Escapes
Escaped Quote Marks in String
Escaped Newline in String
Characters and Case
Characters and Case
Keywords
Keywords
Shorthand Properties (font)
Shorthand Properties (font)
Shorthand Properties (font)
Shorthand Properties (font)
Shorthand Properties (border)
SGML comments
page-break-inside:auto
page-break-before inline elements
page-break-before :auto
page-break-before: always
page-break-after (invalid syntax)
page-break-after (no inherit)
page-break-after (inline elements)
page-break-after: auto
page-break-after: always
Unicode-escaped Braces
Characters and case: Escaping a character inside a keyword
Implied counter scopes by counter use
Implied counter scopes by 'counter-increment'
dynamic changes to 'counter-increment'
dynamic changes to 'counter-increment'
dynamic changes to 'counter-increment'
Multiple resets for same counter
Multiple increments and resets
Order of 'counter-reset', 'counter-increment', and counter use, including pseudo-elements
Order of counters in out-of-flow content
dynamic changes to 'counter-increment'
dynamic changes to 'counter-increment'
dynamic changes to 'counter-increment'
counters on the root element
Counter scope
Counter scope and nesting on elements
Counter scope and nesting on :before
Counter scope and nesting on :after
Counter scope and nesting
Counter properties on 'content: none' pseudo-elements
Counter properties on 'display: none' elements
Counter properties on 'visibility: hidden' elements
display
list-style-type
list-style-type
list-style-image
list-style-position
list-style-position
list-style
list-style
color
The Canvas
background-color
background-color
background-image
background-image
background-repeat
background-repeat
background-repeat
background-repeat
background-repeat
background-repeat
background-repeat
background-repeat
background-attachment
background-position
background-position
background
font-family
font-style
text-decoration
font-variant
font-weight
font-size
font-size
font-size
font-size
font
font
font
font
font
font
font
font
font
font
font
text-indent
text-indent
Replaced Elements
text-align
word-spacing
word-spacing
letter-spacing
letter-spacing
text-transform
white-space
Border Conflict Resolution (width) - hidden/hidden
Border Conflict Resolution (width) - hidden/double
Border Conflict Resolution (width) - hidden/solid
Border Conflict Resolution (width) - hidden/dashed
Border Conflict Resolution (width) - hidden/dotted
Border Conflict Resolution (width) - hidden/ridge
Border Conflict Resolution (width) - hidden/outset
Border Conflict Resolution (width) - hidden/groove
Border Conflict Resolution (width) - hidden/inset
Border Conflict Resolution (width) - hidden/none
Border Conflict Resolution (width) - double/hidden
Border Conflict Resolution (width) - double/double
Border Conflict Resolution (width) - double/solid
Border Conflict Resolution (width) - double/dashed
Border Conflict Resolution (width) - double/dashed
Border Conflict Resolution (width) - double/ridge
Border Conflict Resolution (width) - double/outset
Border Conflict Resolution (width) - double/groove
Border Conflict Resolution (width) - double/inset
Border Conflict Resolution (width) - double/none
Border Conflict Resolution (width) - solid/hidden
Border Conflict Resolution (width) - solid/double
Border Conflict Resolution (width) - solid/solid
Border Conflict Resolution (width) - solid/dashed
Border Conflict Resolution (width) - solid/dotted
Border Conflict Resolution (width) - solid/ridge
Border Conflict Resolution (width) - solid/outset
Border Conflict Resolution (width) - solid/groove
Border Conflict Resolution (width) - solid/inset
Border Conflict Resolution (width) - solid/none
Border Conflict Resolution (width) - dashed/hidden
Border Conflict Resolution (width) - dashed/double
Border Conflict Resolution (width) - dashed/solid
Border Conflict Resolution (width) - dashed/dashed
Border Conflict Resolution (width) - dashed/dotted
Border Conflict Resolution (width) - dashed/ridge
Border Conflict Resolution (width) - dashed/outset
Border Conflict Resolution (width) - dashed/groove
Border Conflict Resolution (width) - dashed/inset
Border Conflict Resolution (width) - dashed/none
Border Conflict Resolution (width) - dotted/hidden
Border Conflict Resolution (width) - dotted/double
Border Conflict Resolution (width) - dotted/solid
Border Conflict Resolution (width) - dotted/dashed
Border Conflict Resolution (width) - dotted/dotted
Border Conflict Resolution (width) - dotted/ridge
Border Conflict Resolution (width) - dotted/outset
Border Conflict Resolution (width) - dotted/groove
Border Conflict Resolution (width) - dotted/inset
Border Conflict Resolution (width) - dotted/none
Border Conflict Resolution (width) - ridge/hidden
Border Conflict Resolution (width) - ridge/double
Border Conflict Resolution (width) - ridge/solid
Border Conflict Resolution (width) - ridge/dashed
Border Conflict Resolution (width) - ridge/dotted
Border Conflict Resolution (width) - ridge/ridge
Border Conflict Resolution (width) - ridge/outset
Border Conflict Resolution (width) - ridge/groove
Border Conflict Resolution (width) - ridge/inset
Border Conflict Resolution (width) - ridge/none
Border Conflict Resolution (width) - outset/hidden
Border Conflict Resolution (width) - outset/double
Border Conflict Resolution (width) - outset/solid
Border Conflict Resolution (width) - outset/dashed
Border Conflict Resolution (width) - outset/dotted
Border Conflict Resolution (width) - outset/ridge
Border Conflict Resolution (width) - outset/outset
Border Conflict Resolution (width) - outset/groove
Border Conflict Resolution (width) - outset/inset
Border Conflict Resolution (width) - outset/none
Border Conflict Resolution (width) - groove/hidden
Border Conflict Resolution (width) - groove/double
Border Conflict Resolution (width) - groove/solid
Border Conflict Resolution (width) - groove/dashed
Border Conflict Resolution (width) - groove/dotted
Border Conflict Resolution (width) - groove/ridge
Border Conflict Resolution (width) - groove/outset
Border Conflict Resolution (width) - groove/groove
Border Conflict Resolution (width) - groove/inset
Border Conflict Resolution (width) - groove/none
Border Conflict Resolution (width) - inset/hidden
Border Conflict Resolution (width) - inset/double
Border Conflict Resolution (width) - inset/solid
Border Conflict Resolution (width) - inset/dashed
Border Conflict Resolution (width) - inset/dotted
Border Conflict Resolution (width) - inset/ridge
Border Conflict Resolution (width) - inset/outset
Border Conflict Resolution (width) - inset/groove
Border Conflict Resolution (width) - inset/inset
Border Conflict Resolution (width) - inset/none
Border Conflict Resolution (width) - none/hidden
Border Conflict Resolution (width) - none/double
Border Conflict Resolution (width) - none/solid
Border Conflict Resolution (width) - none/dashed
Border Conflict Resolution (width) - none/dotted
Border Conflict Resolution (width) - none/ridge
Border Conflict Resolution (width) - inset/outset
Border Conflict Resolution (width) - none/groove
Border Conflict Resolution (width) - none/inset
Border Conflict Resolution (width) - none/none
Note: You can stop running tests at any time without causing troubles.
Also, the harness adds automatically in each test case the number of remaining
test cases and a form to submitt results; these additions are not part of the original
test cases, and their influence on the results should be ignored as much as possible.
If you would like to see a particular test case without these additions a link is
provided to open the test case in a separate window. In case of doubt, please hit
the "Cannot Tell" button.
Developed and maintained by:
Dominique Hazael-Massieux
(dom@w3.org ).
David M. Berfanger
(david.berfanger@hp.com ).