Click here to download the Blitz Browser!

Status

This page documents the implementation status of various HTML and CSS features in Blitz.

CSS PropertiesHTML ElementsEventsWPT TestsWPT History

This page documents Blitz's scores on the "css" subsuite of the Web Platform Tests.


wpt / css / selectors

Score history
1 month3 months6 months1 year2 years4 yearsAll time
0%20%40%60%80%100%May 2025Jul 2025Sep 2025Nov 2025Jan 2026Mar 2026May 2026Jul 2026Sep 2026css/selectors

Data from commit:
ab0e30b Give form controls a UA default font-family (#940) (2026-09-25)

AreaInterop ScoreTestsTest %SubtestsSubtest %
Total51.28%(401/820)48.90%(2474/6436)38.44%
invalidation34.96%(33/144)22.92%(1418/3055)46.42%
attribute-selectors48.92%(2/5)40.00%(391/1593)24.54%
parsing4.55%(1/22)4.55%(112/404)27.72%
old-tests87.06%(249/286)87.06%(250/292)85.62%
i18n62.22%(28/45)62.22%(28/45)62.22%
selectors-417.33%(5/30)16.67%(7/39)17.95%
media0.00%(0/6)0.00%(0/20)0.00%
query100.00%(2/2)100.00%(12/12)100.00%
crashtests100.00%(1/1)100.00%(1/1)100.00%
TestSubtestsSubtest %Status
active-after-relayouts.html(0/1)0.00%SKIP
active-display-none-001.html(0/1)0.00%SKIP
active-inside-link.html(0/1)0.00%FAIL
active-observable.html(0/17)0.00%SKIP
active-toplayer-001.html(0/3)0.00%FAIL
attribute-selector-escape.html(0/1)0.00%FAIL
backdrop-input-crash.html(1/1)100.00%PASS
caret-color-visited-inheritance.html(1/1)100.00%PASS
child-indexed-during-parse.html(6/6)100.00%PASS
child-indexed-no-parent.html(1/1)100.00%PASS
child-indexed-pseudo-class.html(57/57)100.00%PASS
chrome-40257746-crash.html(1/1)100.00%PASS
class-selector-change.html(1/1)100.00%PASS
class-selector-escape-exclamation.html(1/1)100.00%PASS
dir-pseudo-in-has.html(0/1)0.00%FAIL
dir-pseudo-on-bdi-element.html(0/5)0.00%FAIL
dir-pseudo-on-input-element.html(0/20)0.00%FAIL
dir-pseudo-update-document-element.html(0/1)0.00%FAIL
dir-selector-auto-direction-change-001.html(0/1)0.00%FAIL
dir-selector-auto.html(0/22)0.00%FAIL
dir-selector-change-001.html(0/1)0.00%FAIL
dir-selector-change-002.html(0/1)0.00%FAIL
dir-selector-change-003.html(0/1)0.00%FAIL
dir-selector-change-004.html(0/1)0.00%FAIL
dir-selector-ltr-001.html(0/1)0.00%FAIL
dir-selector-ltr-002.html(1/1)100.00%PASS
dir-selector-ltr-003.html(1/1)100.00%PASS
dir-selector-querySelector.html(1/4)25.00%FAIL
dir-selector-rtl-001.html(0/1)0.00%FAIL
dir-selector-white-space-001.html(0/1)0.00%FAIL
dir-style-01a.html(0/1)0.00%FAIL
dir-style-01b.html(0/1)0.00%FAIL
dir-style-02a.html(0/1)0.00%FAIL
dir-style-02b.html(0/1)0.00%FAIL
dir-style-03a.html(0/1)0.00%FAIL
dir-style-03b.html(0/1)0.00%FAIL
dir-style-04.html(0/1)0.00%FAIL
eof-right-after-selector-crash.html(1/1)100.00%PASS
eof-some-after-selector-crash.html(1/1)100.00%PASS
featureless-001.html(0/1)0.00%FAIL
featureless-002.html(0/1)0.00%FAIL
featureless-003.html(0/1)0.00%FAIL
featureless-004.html(0/1)0.00%FAIL
featureless-005.html(0/1)0.00%FAIL
first-child.html(5/5)100.00%PASS
first-letter-flag-001.html(0/1)0.00%FAIL
first-line-bidi-001.html(0/1)0.00%FAIL
first-line-bidi-002.html(0/1)0.00%FAIL
first-of-type.html(9/9)100.00%PASS
floating-first-letter-05d0.html(1/1)100.00%PASS
floating-first-letter-feff.html(1/1)100.00%PASS
focus-display-none-001.html(0/2)0.00%FAIL
focus-in-focus-event-001.html(0/3)0.00%SKIP
focus-in-focusin-event-001.html(0/3)0.00%SKIP
focus-visible-001.html(0/1)0.00%SKIP
focus-visible-002.html(0/14)0.00%SKIP
focus-visible-003.html(0/12)0.00%SKIP
focus-visible-004.html(0/10)0.00%SKIP
focus-visible-005.html(0/1)0.00%SKIP
focus-visible-006.html(0/1)0.00%SKIP
focus-visible-007.html(0/1)0.00%SKIP
focus-visible-008.html(0/1)0.00%SKIP
focus-visible-009.html(0/1)0.00%FAIL
focus-visible-010.html(0/1)0.00%SKIP
focus-visible-011.html(0/1)0.00%SKIP
focus-visible-012.html(0/1)0.00%SKIP
focus-visible-013.html(0/1)0.00%SKIP
focus-visible-014.html(0/1)0.00%SKIP
focus-visible-015.html(0/1)0.00%SKIP
focus-visible-016.html(0/1)0.00%SKIP
focus-visible-017-2.html(0/38)0.00%SKIP
focus-visible-017.html(0/2)0.00%SKIP
focus-visible-018-2.html(0/38)0.00%SKIP
focus-visible-018.html(0/2)0.00%SKIP
focus-visible-019.html(0/2)0.00%SKIP
focus-visible-020.html(0/2)0.00%FAIL
focus-visible-021.html(0/2)0.00%SKIP
focus-visible-022.tentative.html(0/1)0.00%SKIP
focus-visible-023.html(0/2)0.00%SKIP
focus-visible-024.html(0/3)0.00%SKIP
focus-visible-025.html(0/3)0.00%SKIP
focus-visible-026.html(0/2)0.00%SKIP
focus-visible-027.html(0/1)0.00%SKIP
focus-visible-028.html(0/1)0.00%SKIP
focus-visible-script-focus-001.html(0/2)0.00%SKIP
focus-visible-script-focus-002.tentative.html(0/2)0.00%SKIP
focus-visible-script-focus-003.tentative.html(0/2)0.00%SKIP
focus-visible-script-focus-004.html(0/2)0.00%SKIP
focus-visible-script-focus-005.html(0/2)0.00%SKIP
focus-visible-script-focus-006.tentative.html(0/2)0.00%SKIP
focus-visible-script-focus-007.tentative.html(0/2)0.00%SKIP
focus-visible-script-focus-008-b.html(0/2)0.00%SKIP
focus-visible-script-focus-008.html(0/2)0.00%SKIP
focus-visible-script-focus-009.html(0/2)0.00%SKIP
focus-visible-script-focus-010.html(0/2)0.00%SKIP
focus-visible-script-focus-011.html(0/2)0.00%SKIP
focus-visible-script-focus-012.html(0/2)0.00%SKIP
focus-visible-script-focus-013.html(0/2)0.00%SKIP
focus-visible-script-focus-014.html(0/2)0.00%SKIP
focus-visible-script-focus-015.html(0/2)0.00%SKIP
focus-visible-script-focus-016.tentative.html(0/2)0.00%SKIP
focus-visible-script-focus-017.tentative.html(0/2)0.00%SKIP
focus-visible-script-focus-018.html(0/2)0.00%SKIP
focus-visible-script-focus-019.html(0/2)0.00%SKIP
focus-visible-script-focus-020.html(0/2)0.00%SKIP
focus-within-001.html(0/1)0.00%FAIL
focus-within-002.html(0/1)0.00%FAIL
focus-within-003.html(0/1)0.00%FAIL
focus-within-004.html(0/1)0.00%FAIL
focus-within-005.html(0/1)0.00%FAIL
focus-within-006.html(0/1)0.00%FAIL
focus-within-007.html(0/1)0.00%FAIL
focus-within-008.html(0/1)0.00%FAIL
focus-within-009.html(3/12)25.00%FAIL
focus-within-010.html(0/1)0.00%FAIL
focus-within-011.html(0/1)0.00%FAIL
focus-within-012.html(1/1)100.00%PASS
focus-within-013.html(1/1)100.00%PASS
focus-within-display-none-001.html(0/2)0.00%FAIL
focus-within-focus-move.html(0/1)0.00%FAIL
focus-within-removal.html(0/1)0.00%FAIL
focus-within-shadow-001.html(0/1)0.00%FAIL
focus-within-shadow-002.html(0/1)0.00%FAIL
focus-within-shadow-003.html(0/1)0.00%FAIL
focus-within-shadow-004.html(0/1)0.00%FAIL
focus-within-shadow-005.html(0/1)0.00%FAIL
focus-within-shadow-006.html(0/1)0.00%FAIL
focus-within-toplayer-001.html(0/3)0.00%FAIL
focus-within.html(0/2)0.00%TIMEOUT
has-argument-with-explicit-scope.html(0/13)0.00%FAIL
has-basic.html(0/18)0.00%FAIL
has-display-none-checked.html(0/1)0.00%FAIL
has-focus-display-change.html(0/1)0.00%FAIL
has-matches-to-uninserted-elements.html(0/12)0.00%FAIL
has-nth-of-crash.html(1/1)100.00%PASS
has-relative-argument.html(0/35)0.00%FAIL
has-sibling-chrome-crash.html(1/1)100.00%PASS
has-specificity.html(1/8)12.50%FAIL
has-style-sharing-001.html(0/1)0.00%FAIL
has-style-sharing-002.html(0/1)0.00%FAIL
has-style-sharing-003.html(0/1)0.00%FAIL
has-style-sharing-004.html(0/1)0.00%FAIL
has-style-sharing-005.html(0/1)0.00%FAIL
has-style-sharing-006.html(0/1)0.00%FAIL
has-style-sharing-007.html(0/1)0.00%FAIL
has-style-sharing-pseudo-001.html(0/1)0.00%FAIL
has-style-sharing-pseudo-002.html(0/1)0.00%FAIL
has-style-sharing-pseudo-003.html(0/1)0.00%FAIL
has-style-sharing-pseudo-004.html(0/1)0.00%FAIL
has-style-sharing-pseudo-005.html(0/1)0.00%FAIL
has-style-sharing-pseudo-006.html(0/1)0.00%FAIL
has-style-sharing-pseudo-007.html(1/1)100.00%PASS
has-style-sharing-pseudo-008.html(1/1)100.00%PASS
has-visited.html(0/1)0.00%FAIL
has-where-computed.html(0/1)0.00%FAIL
hash-collision-cssom.html(0/1)0.00%FAIL
hash-collision.html(1/1)100.00%PASS
heading-prefixed.html(0/6)0.00%FAIL
heading.html(0/182)0.00%FAIL
historical-xmlid.xht(0/1)0.00%FAIL
hover-002.html(0/2)0.00%SKIP
hover-boundary-events.html(0/1)0.00%SKIP
hover-toplayer-001.html(0/3)0.00%FAIL
is-default-ns-001.html(1/1)100.00%PASS
is-default-ns-002.html(1/1)100.00%PASS
is-default-ns-003.html(1/1)100.00%PASS
is-nested.html(2/2)100.00%PASS
is-specificity-shadow.html(1/1)100.00%PASS
is-specificity.html(1/1)100.00%PASS
is-where-basic.html(15/15)100.00%PASS
is-where-error-crash.html(1/1)100.00%PASS
is-where-error-recovery.html(1/1)100.00%PASS
is-where-not.html(18/18)100.00%PASS
is-where-pseudo-classes.html(1/1)100.00%PASS
is-where-pseudo-elements.html(1/1)100.00%PASS
is-where-shadow.html(0/3)0.00%FAIL
is-where-visited.html(0/1)0.00%FAIL
last-child.html(5/5)100.00%PASS
last-of-type.html(9/9)100.00%PASS
link-sharing-crash.html(1/1)100.00%PASS
missing-right-token.html(1/1)100.00%PASS
modal-pseudo-class.html(0/2)0.00%SKIP
not-complex.html(20/20)100.00%PASS
not-default-ns-001.html(1/1)100.00%PASS
not-default-ns-002.html(1/1)100.00%PASS
not-default-ns-003.html(1/1)100.00%PASS
not-links.html(0/1)0.00%FAIL
not-specificity.html(8/8)100.00%PASS
nth-child-and-nth-last-child.html(0/1)0.00%FAIL
nth-child-large-anplusb-clamp.html(3/3)100.00%PASS
nth-child-of-attribute.html(0/1)0.00%FAIL
nth-child-of-classname-002.html(0/1)0.00%FAIL
nth-child-of-classname.html(0/1)0.00%FAIL
nth-child-of-complex-selector-many-children-2.html(1/1)100.00%PASS
nth-child-of-complex-selector-many-children.html(0/1)0.00%FAIL
nth-child-of-complex-selector.html(0/1)0.00%FAIL
nth-child-of-compound-selector.html(0/1)0.00%FAIL
nth-child-of-has.html(0/1)0.00%FAIL
nth-child-of-nesting.html(0/1)0.00%FAIL
nth-child-of-no-space-after-of.html(0/1)0.00%FAIL
nth-child-of-not.html(0/1)0.00%FAIL
nth-child-of-nth-child.html(0/1)0.00%FAIL
nth-child-of-pseudo.html(0/1)0.00%FAIL
nth-child-of-tagname.html(0/1)0.00%FAIL
nth-child-of-universal-selector.html(0/1)0.00%FAIL
nth-child-specificity-1.html(0/1)0.00%FAIL
nth-child-specificity-2.html(0/1)0.00%FAIL
nth-child-specificity-3.html(0/1)0.00%FAIL
nth-child-specificity-4.html(0/1)0.00%FAIL
nth-child-spurious-brace-crash.html(1/1)100.00%PASS
nth-last-child-invalid.html(1/1)100.00%PASS
nth-last-child-of-classname.html(0/1)0.00%FAIL
nth-last-child-of-complex-selector.html(0/1)0.00%FAIL
nth-last-child-of-compound-selector.html(0/1)0.00%FAIL
nth-last-child-of-nesting.html(0/1)0.00%FAIL
nth-last-child-of-no-space-after-of.html(0/1)0.00%FAIL
nth-last-child-of-style-sharing-1.html(0/1)0.00%FAIL
nth-last-child-of-style-sharing-2.html(0/1)0.00%FAIL
nth-last-child-of-tagname.html(0/1)0.00%FAIL
nth-last-child-specificity-1.html(0/1)0.00%FAIL
nth-last-child-specificity-2.html(0/1)0.00%FAIL
nth-last-child-specificity-3.html(0/1)0.00%FAIL
nth-last-child-specificity-4.html(0/1)0.00%FAIL
nth-of-invalid.html(1/1)100.00%PASS
nth-of-selector-before.html(0/1)0.00%FAIL
nth-of-type-namespace.html(3/3)100.00%PASS
of-type-selectors.xhtml(1/1)100.00%PASS
only-child.html(5/5)100.00%PASS
only-of-type.html(5/5)100.00%PASS
open-pseudo.html(0/3)0.00%FAIL
placeholder-shown.html(4/7)57.14%FAIL
popover-open-with-has-sibling-selector.html(0/1)0.00%FAIL
pseudo-enabled-disabled.html(4/4)100.00%PASS
pseudo-where-crash.html(1/1)100.00%PASS
quirks-mode-import.html(0/1)0.00%FAIL
remove-hovered-element.html(0/1)0.00%FAIL
root-siblings.html(1/1)100.00%PASS
scope-selector.html(0/3)0.00%FAIL
scope-without-scoping.html(1/1)100.00%PASS
selection-image-001.html(0/1)0.00%FAIL
selection-image-002.html(0/1)0.00%FAIL
selector-after-font-family.html(1/1)100.00%PASS
selector-placeholder-shown-emptify-placeholder.html(2/2)100.00%PASS
selector-placeholder-shown-type-change-001.html(0/1)0.00%FAIL
selector-placeholder-shown-type-change-002.html(1/1)100.00%PASS
selector-placeholder-shown-type-change-003.html(1/1)100.00%PASS
selector-read-write-type-change-001.html(1/1)100.00%PASS
selector-read-write-type-change-002.html(0/1)0.00%FAIL
selector-required-type-change-001.html(1/1)100.00%PASS
selector-required-type-change-002.html(0/1)0.00%FAIL
selector-required.html(0/1)0.00%FAIL
selector-specificity.html(4/4)100.00%PASS
selector-structural-pseudo-root.html(1/1)100.00%PASS
selectors-attr-many-2.html(1/1)100.00%PASS
selectors-attr-many.html(1/1)100.00%PASS
selectors-attr-white-space-001.html(1/1)100.00%PASS
selectors-case-sensitive-001.html(3/3)100.00%PASS
selectors-empty-001.xml(0/1)0.00%FAIL
selectors-namespace-001.xml(1/1)100.00%PASS
sharing-in-svg-use.html(0/1)0.00%FAIL
spurious-brace-crash.html(1/1)100.00%PASS
text-emphasis-visited-inheritance.html(1/1)100.00%PASS
text-fill-color-visited-inheritance.html(1/1)100.00%PASS
text-stroke-color-visited-inheritance.html(1/1)100.00%PASS
toplayer-transition-001.html(0/2)0.00%SKIP
user-action-pseudo-top-layer.html(0/4)0.00%SKIP
user-invalid-form-submission-invalidation.html(0/1)0.00%FAIL
user-invalid.html(1/8)12.50%FAIL
user-valid-user-invalid-multifield-inputs.tentative.html(0/3)0.00%SKIP
user-valid.html(0/5)0.00%SKIP
valid-invalid-form-fieldset.html(0/1)0.00%FAIL
valid-invalid-pseudo.html(0/4)0.00%FAIL
visited-in-visited-compound.html(1/1)100.00%PASS
visited-inheritance.html(1/1)100.00%PASS
visited-nested.html(1/1)100.00%PASS
visited-part-crash.html(1/1)100.00%PASS
webkit-pseudo-element.html(1/6)16.67%FAIL
x-pseudo-element.html(1/1)100.00%PASS
xml-class-selector.xml(1/1)100.00%PASS