WPT
wpt / css / css-pseudo / parsing / highlight-pseudos.html
Spec: CSS Pseudo-Elements ↗
Runs: Chrome 155.0.8042.0 (wpt@0a3996025, 2026-09-04) | Firefox 157.0a1 (wpt@972e0e100, 2026-09-04) | Safari 251 preview (wpt@972e0e100, 2026-09-04) | Ladybird 1.0-3fd2d (wpt@c29bd2aee, 2026-09-04) | Servo Servo 0.6 (wpt@2c385f65e, 2026-09-04) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 40/40 | 32/40 | 40/40 | 25/40 | 28/40 | 0/40 |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| "::selection" should be a valid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| ".a::selection" should be a valid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "div ::selection" should be a valid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::part(my-part)::selection" should be a valid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::before::selection" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::selection.a" should be an invalid selector | PASS | PASS | PASS | FAIL | PASS | FAIL |
| "::selection div" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::selection::after" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::selection:hover" should be an invalid selector | PASS | PASS | PASS | FAIL | PASS | FAIL |
| ":not(::selection)" should be an invalid selector | PASS | PASS | PASS | FAIL | PASS | FAIL |
| "::target-text" should be a valid selector | PASS | PASS | PASS | FAIL | FAIL | FAIL |
| ".a::target-text" should be a valid selector | PASS | PASS | PASS | FAIL | FAIL | FAIL |
| "div ::target-text" should be a valid selector | PASS | PASS | PASS | FAIL | FAIL | FAIL |
| "::part(my-part)::target-text" should be a valid selector | PASS | PASS | PASS | FAIL | FAIL | FAIL |
| "::before::target-text" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::target-text.a" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::target-text div" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::target-text::after" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::target-text:hover" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| ":not(::target-text)" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::spelling-error" should be a valid selector | PASS | FAIL | PASS | FAIL | FAIL | FAIL |
| ".a::spelling-error" should be a valid selector | PASS | FAIL | PASS | FAIL | FAIL | FAIL |
| "div ::spelling-error" should be a valid selector | PASS | FAIL | PASS | FAIL | FAIL | FAIL |
| "::part(my-part)::spelling-error" should be a valid selector | PASS | FAIL | PASS | FAIL | FAIL | FAIL |
| "::before::spelling-error" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::spelling-error.a" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::spelling-error div" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::spelling-error::after" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::spelling-error:hover" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| ":not(::spelling-error)" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::grammar-error" should be a valid selector | PASS | FAIL | PASS | FAIL | FAIL | FAIL |
| ".a::grammar-error" should be a valid selector | PASS | FAIL | PASS | FAIL | FAIL | FAIL |
| "div ::grammar-error" should be a valid selector | PASS | FAIL | PASS | FAIL | FAIL | FAIL |
| "::part(my-part)::grammar-error" should be a valid selector | PASS | FAIL | PASS | FAIL | FAIL | FAIL |
| "::before::grammar-error" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::grammar-error.a" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::grammar-error div" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::grammar-error::after" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| "::grammar-error:hover" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |
| ":not(::grammar-error)" should be an invalid selector | PASS | PASS | PASS | PASS | PASS | FAIL |