CSS3 Selectors test suite results (updated: 2008-08-20)

Lp. HTML Self Contained full Index Trident IV Trident V Presto Gecko KHTML WebKit
1 Groups of selectors (#1)            
2 Type element selectors (#2)            
3 Universal selector (no namespaces) (#3a)            
4 Omitted universal selector (#4)            
5 Attribute existence selector (#5) x          
6 Attribute value selector (#6) x          
7 Attribute multivalue selector (#7) x          
8 Attribute multivalue selector (#7b)            
9 Attribute value selectors (hyphen-separated attributes) (#8) x          
10 Substring matching attribute selector (beginning) (#9) x          
11 Substring matching attribute selector (end) (#10) x          
12 Substring matching attribute selector (contains) (#11) x          
13 Class selectors (#13)            
14 More than one class selector (#14)            
15 More than one class selector (#14b) x          
16 More than one class selector (#14c)            
17 NEGATED More than one class selector (#14d)            
18 NEGATED More than one class selector (#14e) x x        
19 ID selectors (#15)            
20 Multiple ID selectors (#15b) x          
21 :link pseudo-class (#16)            
22 :visited pseudo-class (#17)   x        
23 :hover pseudo-class (#18) x          
24 :hover pseudo-class on links (#18a) x x        
25 :hover pseudo-class (#18b) x          
26 :hover pseudo-class on links (#18c) x x        
27 :active pseudo-class (#19) x x        
28 :active pseudo-class on controls (#19b) x x        
29 :focus pseudo-class (#20) x x        
30 :target pseudo-class (#21) x x        
31 :target pseudo-class (#21b)            
32 :target pseudo-class (#21c) x x        
33 :lang() pseudo-class (#22) x x        
34 :enabled pseudo-class (#23) x x        
35 :disabled pseudo-class (#24) x x        
36 :checked pseudo-class (#25) x x        
37 :root pseudo-class (#27) x x        
38 Impossible rules (:root:first-child, etc) (#27a)            
39 Impossible rules (* html, * :root) (#27b) x          
40 :nth-child() pseudo-class (#28) x x        
41 :nth-child() pseudo-class (#28b)            
42 :nth-last-child() pseudo-class (#29) x x        
43 :nth-last-child() pseudo-class (#29b)            
44 :nth-of-type() pseudo-class (#30) x x        
45 :nth-last-of-type() pseudo-class (#31) x x        
46 :first-child pseudo-class (#32) x          
47 :last-child pseudo-class (#33) x x        
48 :first-of-type pseudo-class (#34) x x        
49 :last-of-type pseudo-class (#35) x x        
50 :only-child pseudo-class (#36) x x        
51 :only-of-type pseudo-class (#37) x x        
52 ::first-line pseudo-element (#38)            
53 ::first-letter pseudo-element (#39)            
54 ::first-letter pseudo-element with ::before pseudo-element (#39a)            
55 ::first-letter pseudo-element (#39b)   x        
56 ::first-letter pseudo-element with ::before pseudo-element (#39c)   x        
57 ::selection pseudo-element (#40) x x   x    
58 ::before pseudo-element (#41) x x        
59 :before pseudo-element (#41a) x x        
60 ::after pseudo-element (#42) x x        
61 :after pseudo-element (#42a) x x        
62 Descendant combinator (#43)            
63 Descendant combinator (#43b)            
64 Child combinator (#44) x          
65 Child combinator (#44b)            
66 Child combinator and classes (#44c)            
67 Child combinatior and IDs (#44d)            
68 Direct adjacent combinator (#45) x          
69 Direct adjacent combinator (#45b)            
70 Direct adjacent combinator and classes (#45c)            
71 Indirect adjacent combinator (#46) x          
72 Indirect adjacent combinator (#46b)            
73 NEGATED substring matching attribute selector on beginning (#54) x x        
74 NEGATED substring matching attribute selector on end (#55) x x        
75 NEGATED substring matching attribute selector on middle (#56) x x        
76 NEGATED class selector (#59) x x        
77 NEGATED ID selector (#60) x x        
78 NEGATED :link pseudo-class (#61) x x        
79 NEGATED :visited pseudo-class (#62) x x        
80 NEGATED :hover pseudo-class (#63) x x        
81 NEGATED :active pseudo-class (#64) x x        
82 NEGATED :focus pseudo-class (#65) x x        
83 NEGATED :target pseudo-class (#66) x x        
84 NEGATED :target pseudo-class (#66b) x x        
85 NEGATED :lang() pseudo-class (#67) x x        
86 NEGATED :enabled pseudo-class (#68) x x        
87 NEGATED :disabled pseudo-class (#69) x x        
88 NEGATED :checked pseudo-class (#70) x x        
89 NEGATED :root pseudo-class (#72) x x        
90 NEGATED :root pseudo-class (#72b)            
91 NEGATED :nth-child() pseudo-class (#73) x x        
92 NEGATED :nth-child() pseudo-class (#73b)            
93 NEGATED :nth-last-child() pseudo-class (#74) x x        
94 NEGATED :nth-last-child() pseudo-class (#74b)            
95 NEGATED :nth-of-type() pseudo-class (#75) x x        
96 NEGATED :nth-of-type() pseudo-class (#75b)            
97 NEGATED :nth-last-of-type() pseudo-class (#76) x x        
98 NEGATED :nth-last-of-type() pseudo-class (#76b)            
99 NEGATED :first-child pseudo-class (#77) x x        
100 NEGATED :first-child pseudo-class (#77b)            
101 NEGATED :last-child pseudo-class (#78) x x        
102 NEGATED :last-child pseudo-class (#78b)            
103 NEGATED :first-of-type pseudo-class (#79) x x        
104 NEGATED :last-of-type pseudo-class (#80) x x        
105 NEGATED :only-child pseudo-class (#81) x x        
106 NEGATED :only-child pseudo-class (#81b)            
107 NEGATED :only-of-type pseudo-class (#82) x x        
108 NEGATED :only-of-type pseudo-class (#82b)            
109 Negation pseudo-class cannot be an argument of itself (#83)            
110 Nondeterministic matching of descendant and child combinators (#86)            
111 Nondeterministic matching of direct and indirect adjacent combinators (#87)            
112 Nondeterministic matching of direct and indirect adjacent combinators (#87b)            
113 Nondeterministic matching of descendant and direct adjacent combinators (#88)            
114 Nondeterministic matching of descendant and direct adjacent combinators (#88b)            
115 Simple combination of descendant and child combinators (#89)            
116 Simple combination of direct and indirect adjacent combinators (#90)            
117 Simple combination of direct and indirect adjacent combinators (#90b)            
118 NEGATED :enabled:disabled pseudo-classes (#144) x x        
119 :empty pseudo-class and text (#148)            
120 :empty pseudo-class and empty elements (#149) x x        
121 :empty pseudo-class and empty elements (#149b) x x        
122 :empty pseudo-class and XML/SGML constructs (#150) x x        
123 :empty pseudo-class and whitespace (#151)            
124 :empty pseudo-class and elements (#152)            
125 Syntax and parsing (#154)   x        
126 Syntax and parsing (#155)            
127 Syntax and parsing (#155a)            
128 Syntax and parsing (#155b)            
129 Syntax and parsing (#155c)            
130 Syntax and parsing (#155d)            
131 Syntax and parsing (#156)            
132 Syntax and parsing (#156b)            
133 Syntax and parsing (#156c)            
134 Syntax and parsing (#157)            
135 Syntax and parsing (#158)            
136 Syntax and parsing of new pseudo-elements (#159) x x x x    
137 Syntax and parsing of unknown pseudo-classes (#160)            
138 Syntax and parsing of unknown pseudo-classes and pseudo-elements (#161)            
139 Contextual ::selection (#162) x x x x x x
140 :focus with ::selection (#164) x x x x x x
141 :hover with ::selection (#165) x x   x    
142 :first-letter with ::first-letter (#166)   x        
143 :first-letter with ::first-letter (#166a)            
144 :first-line with ::first-line (#167)   x        
145 :first-line with ::first-line (#167a)            
146 :before with ::before (#168)   x        
147 :before with ::before (#168a)   x        
148 :after with ::after (#169)   x        
149 :after with ::after (#169a)   x        
150 Long chains of selectors (#170)            
151 Long chains of selectors (#170a) x          
152 Long chains of selectors (#170b) x          
153 Long chains of selectors (#170c)   x        
154 Long chains of selectors (#170d)            
155 Parsing: Numbers in classes (#175a)            
156 Parsing: Numbers in classes (#175b)            
157 Parsing: Numbers in classes (#175c)            
158 Combinations: classes and IDs (#176) x x        
159 Parsing : vs :: (#177a)     x      
160 Parsing : vs :: (#177b)            
161 Parsing: :not and pseudo-elements (#178)            
162 ::first-line on inlines (#179)         x  
163 ::first-line after <br> (#179a) x x        
164 ::first-letter after <br> (#180a)            
165 Case sensitivity (#181)            
166 Syntax and parsing of class selectors (#183) x          
167 NEGATED Dynamic handling of :empty (#d1) x x        
168 Dynamic handling of :empty (#d1b) x x        
169 Dynamic handling of combinators (#d2) x x        
170 Dynamic updating of :first-child and :last-child (#d4) x x        
171 :indeterminate (#d5) x x x x x  
172 :indeterminate and :checked (#d5a)            
173 NEGATED :indeterminate and :checked (#d5b) x x x x    
174 :indeterminate and :checked (#d5c) x x   x   x
175 :indeterminate with :checked (#d5d)            
176 NEGATED :indeterminate with :checked (#d5e) x x   x    
  TOTAL FAILED TESTS: 91 83 6 9 4 3
    Trident IV Trident V Presto Gecko KHTML WebKit

Engines running on:

Your comments are welcomed: Robert Blaut