Click here to download the Blitz Browser!

WPT

This page compares scores on the Web Platform Tests across web engines, using the latest master runs from wpt.fyi and Blitz's own test runner.


wpt / css / selectors / invalidation

Spec: Selectors ↗

Runs: Chrome 155.0.8038.0 (wpt@7addae031, 2026-09-02) | Firefox 157.0a1 (wpt@7addae031, 2026-09-02) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-a7884 (wpt@b1a7025f8, 2026-09-02) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)

Sort areas: alphabetical | by subtest count

AreaChromeFirefoxSafariLadybirdServoBlitz
Total98.3%3002/305597.0%2962/305599.2%3031/305599.5%3039/305549.6%1514/305544.7%1367/3055
crashtests100.0%2/2100.0%2/2100.0%2/2100.0%2/2100.0%2/2100.0%2/2
TestChromeFirefoxSafariLadybirdServoBlitz
any-link-attribute-removal.htmlPASSPASSPASSPASSPASSPASS
any-link-pseudo.htmlPASSPASSPASSPASSPASSFAIL
attribute-or-elemental-selectors-in-has.html31/3131/3131/3131/3118/310/31
attribute.html6/66/66/66/66/66/6
child-indexed-pseudo-classes-in-has.html66/6666/6666/6666/6639/6639/66
class-id-attr.htmlPASSPASSPASSPASSPASSPASS
defined-in-has.htmlPASSPASSPASSPASSFAILFAIL
defined.htmlPASSPASSPASSPASSPASSFAIL
dir-pseudo-class-in-has.htmlPASSPASSPASSPASSFAILFAIL
empty-pseudo-in-has-display-none.html14/1414/1414/1414/147/147/14
empty-pseudo-in-has.html6/66/66/66/61/61/6
enabled-disabled.html2/22/22/22/22/22/2
first-child-last-child.html2/22/22/22/22/20/2
fullscreen-pseudo-class-in-has.html2/22/22/22/20/20/2
has-append-first-node.htmlPASSPASSPASSPASSFAILFAIL
has-complexity.html7/77/77/77/71/71/7
has-css-nesting-shared.html12/1212/1212/1212/126/126/12
has-in-adjacent-position.html295/295295/295295/295295/295193/295193/295
has-in-ancestor-position.html337/337337/337337/337337/337210/337210/337
has-in-is-non-subject-compound.html3/33/33/33/32/32/3
has-in-parent-position.html211/211211/211211/211211/211152/211152/211
has-in-sibling-position.html295/295295/295295/295295/295181/295181/295
has-invalidation-after-removing-non-first-element.html2/22/22/22/21/21/2
has-invalidation-first-in-sibling-chain.html12/1212/128/1212/128/128/12
has-invalidation-for-wiping-an-element.html5/55/55/55/53/50/5
has-nested-pseudo-001-crash.htmlPASSPASSPASSPASSPASSPASS
has-nested-pseudo-002-crash.htmlPASSPASSPASSPASSPASSPASS
has-nested-pseudo-003-crash.htmlPASSPASSPASSPASSPASSPASS
has-pseudo-element-subject-child-mutation.html4/44/44/44/41/40/4
has-pseudo-element.htmlPASSPASSPASSPASSFAILFAIL
has-pseudoclass-only.html36/3636/3636/3636/3624/3624/36
has-sibling-insertion-removal.html28/2828/2828/2828/2814/2814/28
has-sibling.html71/7171/7171/7171/7136/7136/71
has-side-effect.html3/33/33/33/32/32/3
has-unstyled.html9/99/99/99/95/95/9
has-with-is-child-combinator.html10/1010/1010/1010/107/107/10
has-with-nesting-parent-containing-complex.html37/3737/3737/3737/3719/3719/37
has-with-nesting-parent-containing-hover.htmlPASSPASSPASSPASSFAILSKIP
has-with-not.html21/2121/2121/2121/2111/2111/21
has-with-nth-child-sibling-remove.htmlPASSPASSPASSPASSFAILFAIL
has-with-nth-child.html5/55/51/55/54/54/5
has-with-pseudo-class.html41/4141/4141/4141/410/410/41
heading-pseudo-class-in-has-with-headingoffset.html33/5633/5656/5656/5633/5633/56
heading-pseudo-class-in-has-with-slot-reassignment.html26/3926/3939/3939/3926/390/39
heading-pseudo-class-in-has.html55/7255/7272/7272/7255/720/72
host-context-pseudo-class-in-has.html6/64/64/64/64/60/6
host-has-shadow-tree-element-at-nonsubject-position.html26/2610/2625/2625/2610/260/26
host-has-shadow-tree-element-at-subject-position.html26/2610/2625/2625/2610/260/26
host-pseudo-class-in-has.html4/44/44/44/42/40/4
input-in-range-in-has-with-readonly.html4/44/44/40/40/40/4
input-pseudo-classes-in-has.html10/1010/1010/109/100/100/10
insert-sibling-001.htmlPASSPASSPASSPASSPASSFAIL
insert-sibling-002.htmlPASSPASSPASSPASSFAILFAIL
insert-sibling-003.htmlPASSPASSPASSPASSFAILFAIL
insert-sibling-004.htmlPASSPASSPASSPASSFAILFAIL
is-pseudo-containing-complex-in-has.html476/476476/476476/476476/476140/476140/476
is-pseudo-containing-sibling-relationship-in-has.html21/2121/2112/2121/2120/2120/21
is-where-pseudo-containing-hard-pseudo-and-never-matching.html12/1212/1212/1212/128/128/12
is-where-pseudo-containing-hard-pseudo.html20/2020/2020/2020/2020/2020/20
is.html7/77/77/77/77/77/7
lang-pseudo-class-in-has-document-element.htmlPASSPASSPASSPASSFAILFAIL
lang-pseudo-class-in-has-multiple-document-elements.htmlPASSPASSPASSPASSTIMEOUTFAIL
lang-pseudo-class-in-has-xhtml.xhtmlPASSPASSPASSPASSFAILFAIL
lang-pseudo-class-in-has.htmlPASSPASSPASSPASSFAILFAIL
link-pseudo-class-in-has.html2/22/22/22/20/20/2
link-pseudo-in-has.htmlPASSPASSPASSPASSFAILFAIL
location-pseudo-classes-in-has.htmlPASSPASSPASSPASSFAILFAIL
media-loading-pseudo-classes-in-has.sub.html2/22/22/20/20/20/2
media-pseudo-classes-in-has.html3/33/33/33/30/30/3
modal-pseudo-class-in-has.html5/55/55/53/51/50/5
negated-always-matches-negated-first-of-type-when-ancestor-changes.htmlPASSPASSPASSPASSPASSFAIL
negated-always-matches-negated-last-of-type-when-ancestor-changes.htmlPASSPASSPASSPASSPASSFAIL
negated-first-of-type-in-nonsubject-position.htmlPASSPASSPASSPASSPASSPASS
negated-has-in-nonsubject-position.htmlPASSPASSPASSPASSPASSPASS
negated-is-always-matches-negated-first-of-type-when-ancestor-changes.htmlPASSPASSPASSPASSPASSPASS
negated-is-always-matches-negated-last-of-type-when-ancestor-changes.htmlPASSPASSPASSPASSPASSPASS
negated-is-never-matches-negated-first-of-type-when-ancestor-changes.htmlPASSPASSPASSPASSPASSFAIL
negated-is-never-matches-negated-last-of-type-when-ancestor-changes.htmlPASSPASSPASSPASSPASSFAIL
negated-last-of-type-invalidation.htmlPASSPASSPASSPASSPASSPASS
negated-negated-first-of-type-when-ancestor-changes.htmlPASSPASSPASSPASSPASSFAIL
negated-negated-last-of-type-when-ancestor-changes.htmlPASSPASSPASSPASSPASSFAIL
negated-never-matches-negated-first-of-type-when-ancestor-changes.htmlPASSPASSPASSPASSPASSFAIL
negated-never-matches-negated-last-of-type-when-ancestor-changes.htmlPASSPASSPASSPASSPASSFAIL
negated-nth-child-when-ancestor-changes.htmlPASSPASSPASSPASSFAILFAIL
negated-nth-last-child-when-ancestor-changes.htmlPASSPASSPASSPASSFAILFAIL
not-001.html2/22/22/22/22/22/2
not-002.html6/66/66/66/66/66/6
not-pseudo-containing-complex-in-has.html460/460460/460460/460460/460115/460115/460
not-pseudo-containing-sibling-relationship-in-has.html3/33/31/33/32/32/3
nth-child-containing-ancestor.htmlPASSPASSPASSPASSFAILFAIL
nth-child-in-shadow-root.htmlPASSPASSPASSPASSFAILFAIL
nth-child-of-attr-largedom.htmlPASSPASSPASSPASSFAILFAIL
nth-child-of-attr.htmlPASSPASSPASSPASSFAILFAIL
nth-child-of-class-prefix.htmlPASSPASSPASSPASSFAILFAIL
nth-child-of-class.htmlPASSPASSPASSPASSFAILFAIL
nth-child-of-has.htmlPASSPASSPASSPASSFAILFAIL
nth-child-of-id-prefix.htmlPASSPASSPASSPASSFAILFAIL
nth-child-of-ids.htmlPASSPASSPASSPASSFAILFAIL
nth-child-of-in-ancestor.htmlPASSPASSPASSPASSFAILFAIL
nth-child-of-in-is.htmlPASSPASSPASSPASSFAILFAIL
nth-child-of-in-shadow-root.htmlPASSPASSPASSPASSFAILFAIL
nth-child-of-is.htmlPASSPASSPASSPASSFAILFAIL
nth-child-of-pseudo-class.htmlPASSPASSPASSPASSFAILFAIL
nth-child-of-sibling.htmlPASSPASSPASSPASSFAILFAIL
nth-child-when-ancestor-changes.htmlPASSPASSPASSPASSFAILFAIL
nth-child-when-sibling-changes.htmlPASSPASSPASSPASSFAILFAIL
nth-child-whole-subtree.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-containing-ancestor.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-in-shadow-root.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-of-attr.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-of-class-prefix.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-of-class.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-of-has.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-of-id-prefix.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-of-ids.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-of-in-ancestor.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-of-in-is.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-of-in-shadow-root.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-of-is.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-of-pseudo-class.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-of-sibling.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-when-ancestor-changes.htmlPASSPASSPASSPASSFAILFAIL
nth-last-child-when-sibling-changes.htmlPASSPASSPASSPASSFAILFAIL
nth-of-namespace-class-invalidation-crash.htmlPASSPASSPASSPASSPASSPASS
open-pseudo-class-in-has.html9/99/98/99/90/90/9
option-disabled-when-ancestor-changes.html4/40/44/42/40/40/4
part-dir.html2/22/22/22/20/20/2
part-lang.html2/20/22/22/20/20/2
part-pseudo.htmlPASSPASSPASSPASSPASSFAIL
placeholder-shown.html4/44/44/44/43/42/4
quirks-mode-stylesheet-dynamic-add-001.htmlPASSPASSPASSPASSPASSFAIL
selectorText-dynamic-001.htmlPASSPASSPASSPASSPASSFAIL
sheet-going-away-001.htmlPASSPASSPASSPASSPASSPASS
sheet-going-away-002.htmlPASSPASSPASSPASSPASSPASS
sibling.html7/77/77/77/77/77/7
state-in-has.htmlPASSPASSPASSPASSFAILFAIL
subject-has-invalidation-with-display-none-anchor-element.htmlPASSPASSPASSPASSFAILFAIL
target-pseudo-in-has.htmlPASSPASSPASSPASSFAILFAIL
typed-child-indexed-pseudo-classes-in-has.html102/102102/102102/102102/10254/10254/102
user-action-pseudo-classes-in-has.htmlPASSPASSPASSFAILFAILSKIP
user-valid-user-invalid.htmlPASSPASSPASSPASSFAILSKIP
where.html5/55/55/55/55/55/5