css/css-pseudo

edit

WPT coverage of the tests of css/css-pseudo at the revision 5602b0f210e3. The tests link to their results in the browsers on wpt.fyi. The tentative tests (experimental features) and the reftests are listed separately from the stable tests.

GroupPassingTestsDisabledPass rate
Stable4549092%
Tentative1012083%
Reftests257275093%
All312336093%

Failure reasons

The tests that do not pass (failing or disabled), by kind of reason. A test with several reasons counts once per kind.

  • BUG: 2
  • TEST BUG: 9
  • NOT IMPLEMENTED: 13

Stable tests

TestResultSubtestsKindDescription
CSSPseudoElement-identity.htmlPass1 / 1
CSSPseudoElement-scroll-button.htmlPass12 / 12
CSSPseudoElement-selectorText.htmlPass4 / 4
backdrop-animate.htmlPass1 / 1
backdrop-pseudo-element-click.htmlPass1 / 1
before-in-display-none-thcrash.htmlPass1 / 1
chrome-486467574.htmlPass1 / 1
events-on-pseudo-element-shadow-dom.htmlPass6 / 6
file-selector-button-inherit.htmlPass1 / 1
first-letter-allowed-properties.htmlPass36 / 36
first-letter-punctuation-and-space.htmlPass43 / 43
first-line-allowed-properties.htmlPass112 / 112
focus-visible-originating-element.htmlPass1 / 1
highlight-cascade/highlight-cascade-007.htmlPass12 / 12
highlight-cascade/highlight-cascade-009.htmlPass5 / 5
highlight-cascade/highlight-cascade-010.htmlPass1 / 1
highlight-cascade/highlight-cascade-011.htmlPass2 / 2
highlight-cascade/highlight-cascade-currentcolor-color-mix.htmlPass2 / 2
highlight-cascade/highlight-cascade-parent-style-change.htmlPass1 / 1
highlight-cascade/highlight-cascade-shadow-boundary.htmlPass2 / 2
highlight-cascade/highlight-currentcolor-computed-inheritance.htmlPass6 / 6
highlight-cascade/highlight-currentcolor-computed-visited.htmlPass12 / 12
highlight-cascade/highlight-currentcolor-computed.htmlPass12 / 12
highlight-cascade/highlight-pseudos-computed.htmlPass41 / 41
highlight-cascade/highlight-pseudos-inheritance-computed-001.htmlPass12 / 12
highlight-cascade/highlight-pseudos-visited-computed-001.htmlPass12 / 12
hit-testing-active-pseudo-layout-on-mouseup.htmlPass1 / 1
idlharness.htmlFail20 / 29TEST BUGthe setup calls window.getPseudoElements() and uses CSSPseudoElementList, which were removed from CSS Pseudo-Elements 4 (they are not in its IDL): the tests of the CSSPseudoElement object fail
input-element-pseudo-open-click.optional.htmlFail6 / 7NOT IMPLEMENTEDclicking a text input with a datalist does not show its suggestions (the HTML Standard gives the Text state no input activation behavior, and Chromium does not match :open for it either), so :open does not match; showPicker() shows them, and the pickers of the date, time and color inputs open when they are clicked
input-element-pseudo-open.optional.htmlPass7 / 7
marker-animate.htmlPass3 / 3
marker-computed-content.htmlPass10 / 10
marker-computed-size.htmlPass8 / 8
marker-default-styles.htmlPass32 / 32
marker-display-computed.htmlPass8 / 8
marker-hit-testing.htmlPass20 / 20
marker-intrinsic-contribution-001.htmlPass8 / 8
marker-reverted-styles.htmlPass8 / 8
marker-variable-computed-style.htmlPass2 / 2
parsing/highlight-pseudos.htmlPass40 / 40
parsing/marker-supported-properties-in-animation.htmlFail96 / 98TEST BUGexpects the computed list-style to include outside (it contradicts css/css-lists/parsing/list-style-computed.sub.html)
parsing/marker-supported-properties.htmlFail67 / 68TEST BUGexpects the computed list-style to be outside none disc instead of its shortest serialization, outside (it contradicts css/css-lists/parsing/list-style-valid.html and list-style-computed.sub.html)
parsing/tree-abiding-pseudo-elements.htmlPass41 / 41
placeholder-inherit.htmlPass1 / 1
pseudo-element-removal.htmlPass1 / 1
pseudo-replaced-elements.htmlPass24 / 24
scroll-button-pseudo-element-click.htmlPass1 / 1
selection-universal-shadow-dom.htmlPass1 / 1
text-selection.htmlPass6 / 6

Tentative tests

TestResultSubtestsKindDescription
CSSPseudoElement-convertPoint.tentative.htmlPass7 / 7
CSSPseudoElement-geometry-edge-cases.tentative.htmlPass23 / 23
CSSPseudoElement-getBoxQuads.tentative.htmlPass8 / 8
CSSPseudoElement-view-transitions-scoped.tentative.htmlPass2 / 2
CSSPseudoElement-view-transitions.tentative.htmlPass5 / 5
events-on-after-before-marker.tentative.htmlFail2 / 4NOT IMPLEMENTEDthe sub-pseudo-element ::after::marker: the box of the marker of a ::before/::after list item is a box of its pseudo-element (it has no box quads and is hit as the ::after)
events-on-pseudo-element-mutation.tentative.htmlPass1 / 1
events-on-pseudo-element.tentative.htmlTimeout0 / 1NOT IMPLEMENTEDthe CSS animations and transitions of ::scroll-marker: the test times out waiting for the animationstart event of its animation (the pseudoTarget of the animation, transition and focus events is not defined, UI Events only adds it to UIEvent)
events-on-view-transition-pseudos.tentative.htmlPass2 / 2
highlight-cascade/highlight-pseudos-computed-search-text.tentative.htmlPass8 / 8
hover-on-pseudo-elements.tentative.htmlPass1 / 1
parsing/highlight-pseudos-search-text.tentative.htmlPass39 / 39

Reftests

TestResultVariantsKindDescription
active-selection-011.htmlPass1 / 1
active-selection-012.htmlPass1 / 1
active-selection-014.htmlPass1 / 1
active-selection-016.htmlPass1 / 1
active-selection-018.htmlPass1 / 1
active-selection-021.htmlPass1 / 1
active-selection-025.htmlPass1 / 1
active-selection-027.htmlPass1 / 1
active-selection-031.htmlPass1 / 1
active-selection-041.htmlFail0 / 1NOT IMPLEMENTEDthe selection of a replaced element (img::selection): the highlight is only painted over the text
active-selection-043.htmlPass1 / 1
active-selection-045.htmlPass1 / 1
active-selection-051.htmlPass1 / 1
active-selection-052.htmlPass1 / 1
active-selection-053.htmlPass1 / 1
active-selection-054.htmlPass1 / 1
active-selection-056.htmlPass1 / 1
active-selection-057.htmlPass1 / 1
active-selection-063.htmlPass1 / 1
backdrop-animate-002.htmlPass1 / 1
before-after-dynamic-custom-property-001.htmlPass1 / 1
before-as-flex-container.htmlPass1 / 1
before-dynamic-display-none.htmlPass1 / 1
before-preceding-whitespace-dynamic.htmlPass1 / 1
file-selector-button-001.htmlPass1 / 1
file-selector-button-after-part.htmlPass1 / 1
file-selector-button-float.htmlPass1 / 1
first-letter-001.htmlFail0 / 1TEST BUGthe white inline box of the no-break space covers its content area (56px for the 50px font), not the line box (58px with line-height: normal): 1px of the red background of the block is visible above and below it; fails in every browser
first-letter-002.htmlPass1 / 1
first-letter-003.htmlPass1 / 1
first-letter-004.htmlPass1 / 1
first-letter-005.htmlPass1 / 1
first-letter-and-sibling-display-change.htmlPass1 / 1
first-letter-and-whitespace.htmlPass1 / 1
first-letter-background-image-dynamic.htmlPass1 / 1
first-letter-background-image.htmlPass1 / 1
first-letter-before-dynamic-multi.htmlPass1 / 1
first-letter-before-dynamic-on-block.htmlPass1 / 1
first-letter-before-dynamic-punctuation.htmlPass1 / 1
first-letter-before-dynamic.htmlPass1 / 1
first-letter-block-to-inline.htmlPass1 / 1
first-letter-c0.tentative.htmlPass1 / 1
first-letter-capitalize-supplementary-char.htmlPass1 / 1
first-letter-digraph-document-lang-dynamic.htmlPass1 / 1
first-letter-digraph-dynamic.htmlPass1 / 1
first-letter-digraph.htmlPass1 / 1
first-letter-exclude-block-child-marker.htmlPass1 / 1
first-letter-exclude-inline-child-marker.htmlPass1 / 1
first-letter-exclude-inline-marker.htmlPass1 / 1
first-letter-float-insert-text-before.htmlPass1 / 1
first-letter-hi-001.htmlPass1 / 1
first-letter-hi-002.htmlPass1 / 1
first-letter-input-textarea.tentative.htmlPass1 / 1
first-letter-insert-text-node-dynamic.htmlPass1 / 1
first-letter-list-item-dynamic-001.htmlPass1 / 1
first-letter-of-html-root-refcrash.htmlPass1 / 1
first-letter-opacity-001-ref.htmlPass1 / 1
first-letter-opacity-001.htmlPass1 / 1
first-letter-opacity-float-001.htmlPass1 / 1
first-letter-punctuation-dynamic.htmlPass1 / 1
first-letter-require-first-formatted-line.htmlPass1 / 1
first-letter-skip-empty-span-nested.htmlPass1 / 1
first-letter-skip-empty-span.htmlPass1 / 1
first-letter-skip-marker.htmlPass1 / 1
first-letter-text-and-display-change.htmlPass1 / 1
first-letter-trailing-punctuation.htmlPass1 / 1
first-letter-width-2.htmlPass1 / 1
first-letter-width.htmlPass1 / 1
first-letter-with-before-after.htmlPass1 / 1
first-letter-with-preceding-new-line.htmlPass1 / 1
first-letter-with-quote.htmlPass1 / 1
first-letter-with-span.htmlPass1 / 1
first-line-and-marker.htmlPass1 / 1
first-line-and-placeholder.htmlPass1 / 1
first-line-below-float.htmlPass1 / 1
first-line-change-inline-color-nested.htmlPass1 / 1
first-line-change-inline-color.htmlPass1 / 1
first-line-font-relative-units-001.htmlPass1 / 1
first-line-inherited-no-transition.htmlPass1 / 1
first-line-inherited-with-transition.htmlPass1 / 1
first-line-inherited.htmlPass1 / 1
first-line-input-textarea.tentative.htmlPass1 / 1
first-line-insert-text-node-dynamic.htmlPass1 / 1
first-line-line-height-001.htmlPass1 / 1
first-line-line-height-002.htmlPass1 / 1
first-line-nested-gcs.htmlPass1 / 1
first-line-on-ancestor-block.htmlPass1 / 1
first-line-on-list-item-with-block-children.htmlPass1 / 1
first-line-opacity-001-ref.htmlPass1 / 1
first-line-opacity-001.htmlPass1 / 1
first-line-replaced-001.htmlPass1 / 1
first-line-with-before-after.htmlPass1 / 1
first-line-with-inline-block-before.htmlPass1 / 1
first-line-with-inline-block.htmlPass1 / 1
first-line-with-out-of-flow-and-nested-div.htmlPass1 / 1
first-line-with-out-of-flow-and-nested-span.htmlPass1 / 1
first-line-with-out-of-flow.htmlPass1 / 1
first-line-with-quote.htmlPass1 / 1
grammar-error-001.htmlFail0 / 1NOT IMPLEMENTEDthe spelling and grammar checking (::spelling-error, ::grammar-error)
grammar-spelling-errors-001.htmlFail0 / 1NOT IMPLEMENTEDthe spelling and grammar checking (::spelling-error, ::grammar-error)
grammar-spelling-errors-002.htmlFail0 / 1NOT IMPLEMENTEDthe spelling and grammar checking (::spelling-error, ::grammar-error)
highlight-cascade/cascade-highlight-001.htmlPass1 / 1
highlight-cascade/cascade-highlight-002.htmlPass1 / 1
highlight-cascade/cascade-highlight-004.htmlPass1 / 1
highlight-cascade/cascade-highlight-005.htmlPass1 / 1
highlight-cascade/highlight-cascade-001.htmlPass1 / 1
highlight-cascade/highlight-cascade-003.htmlPass1 / 1
highlight-cascade/highlight-cascade-004.htmlPass1 / 1
highlight-cascade/highlight-cascade-005.htmlPass1 / 1
highlight-cascade/highlight-cascade-006.xhtmlPass1 / 1
highlight-cascade/highlight-cascade-008.htmlPass1 / 1
highlight-cascade/highlight-currentcolor-painting-properties-001.htmlPass1 / 1
highlight-cascade/highlight-currentcolor-painting-properties-002.htmlPass1 / 1
highlight-cascade/highlight-currentcolor-painting-text-shadow-001.htmlPass1 / 1
highlight-cascade/highlight-currentcolor-painting-text-shadow-002.htmlPass1 / 1
highlight-cascade/highlight-currentcolor-root-explicit-default-001.htmlPass1 / 1
highlight-cascade/highlight-currentcolor-root-explicit-default-002.htmlPass1 / 1
highlight-cascade/highlight-currentcolor-root-implicit-default-001.htmlPass1 / 1
highlight-cascade/highlight-currentcolor-root-implicit-default-002.htmlPass1 / 1
highlight-cascade/highlight-paired-cascade-001.htmlPass1 / 1
highlight-cascade/highlight-paired-cascade-002.htmlPass1 / 1
highlight-cascade/highlight-paired-cascade-003.htmlPass1 / 1
highlight-cascade/highlight-paired-cascade-004.htmlPass1 / 1
highlight-cascade/highlight-paired-cascade-005.htmlPass1 / 1
highlight-cascade/highlight-paired-cascade-006.htmlPass1 / 1
highlight-custom-properties-dynamic-001.htmlPass1 / 1
highlight-fill-color-ignores-stroke-color.htmlPass1 / 1
highlight-painting-001.htmlPass1 / 1
highlight-painting-002.htmlPass1 / 1
highlight-painting-003.htmlFail0 / 1NOT IMPLEMENTEDthe spelling and grammar checking (::spelling-error, ::grammar-error)
highlight-painting-004.htmlFail0 / 1NOT IMPLEMENTEDthe spelling and grammar checking (::spelling-error, ::grammar-error)
highlight-painting-currentcolor-001.htmlPass1 / 1
highlight-painting-currentcolor-001a.htmlPass1 / 1
highlight-painting-currentcolor-002.htmlPass1 / 1
highlight-painting-currentcolor-002a.htmlPass1 / 1
highlight-painting-currentcolor-002b.htmlPass1 / 1
highlight-painting-currentcolor-003.htmlPass1 / 1
highlight-painting-currentcolor-003a.htmlPass1 / 1
highlight-painting-currentcolor-003b.htmlPass1 / 1
highlight-painting-currentcolor-004.htmlPass1 / 1
highlight-painting-currentcolor-004a.htmlPass1 / 1
highlight-painting-currentcolor-004b.htmlPass1 / 1
highlight-painting-currentcolor-005.htmlPass1 / 1
highlight-painting-shadows-horizontal.htmlPass1 / 1
highlight-painting-shadows-vertical.htmlPass1 / 1
highlight-painting-soft-hyphens-001.htmlPass1 / 1
highlight-styling-001.htmlPass1 / 1
highlight-styling-002.htmlPass1 / 1
highlight-styling-003.htmlPass1 / 1
highlight-styling-004.htmlPass1 / 1
highlight-styling-005.htmlPass1 / 1
highlight-z-index-001.htmlPass1 / 1
highlight-z-index-002.htmlPass1 / 1
marker-and-other-pseudo-elements.htmlPass1 / 1
marker-animate-002.htmlPass1 / 1
marker-color.htmlPass1 / 1
marker-content-001.htmlPass1 / 1
marker-content-001b.htmlPass1 / 1
marker-content-001c.htmlPass1 / 1
marker-content-002.htmlPass1 / 1
marker-content-003.htmlPass1 / 1
marker-content-003b.htmlPass1 / 1
marker-content-004.htmlPass1 / 1
marker-content-005.htmlPass1 / 1
marker-content-006.htmlPass1 / 1
marker-content-008.tentative.htmlFail0 / 1BUG15 pixels differ by at most 18/255 on the edges of the glyphs: the text of the ::before ("c") and the text of the list item are two text runs painted at fractional positions, where the reference paints one run ("cB")
marker-content-010.htmlPass1 / 1
marker-content-012.htmlPass1 / 1
marker-content-013.htmlPass1 / 1
marker-content-014.htmlPass1 / 1
marker-content-015.htmlPass1 / 1
marker-content-016.htmlPass1 / 1
marker-content-017.htmlPass1 / 1
marker-content-018.htmlPass1 / 1
marker-content-019.htmlPass1 / 1
marker-content-020.htmlPass1 / 1
marker-content-021.htmlPass1 / 1
marker-content-022.htmlPass1 / 1
marker-content-023.htmlPass1 / 1
marker-content-024.htmlPass1 / 1
marker-display-dynamic-001.htmlPass1 / 1
marker-font-properties.htmlPass1 / 1
marker-font-variant-numeric-default-ref.htmlPass1 / 1
marker-font-variant-numeric-default.htmlPass1 / 1
marker-font-variant-numeric-normal-ref.htmlPass1 / 1
marker-font-variant-numeric-normal.htmlPass1 / 1
marker-hyphens.htmlPass1 / 1
marker-inherit-line-height.htmlPass1 / 1
marker-inherit-values.htmlPass1 / 1
marker-intrinsic-contribution-002.htmlPass1 / 1
marker-letter-spacing.htmlFail0 / 1TEST BUGthe references expect the letter-spacing after the last character of an outside marker (as Chrome, the second reference) or only after its suffix (as Firefox, the first reference); the spacing "is not applied at the beginning or end of a line" (https://drafts.csswg.org/css-text-4/#letter-spacing-property): the outside markers, which are the only content of the line of their box, are 25px narrower
marker-line-break.htmlFail0 / 1TEST BUGthe test expects the text of a marker to wrap with line-break: anywhere, overflow-wrap: anywhere or word-break: break-all, but the user agent style sheet of CSS Lists gives white-space: pre to ::marker (https://drafts.csswg.org/css-lists-3/#ua-stylesheet), which forbids the soft wraps; only Chrome passes
marker-line-height.htmlPass1 / 1
marker-list-style-position.htmlPass1 / 1
marker-overflow-wrap.htmlFail0 / 1TEST BUGthe test expects the text of a marker to wrap with line-break: anywhere, overflow-wrap: anywhere or word-break: break-all, but the user agent style sheet of CSS Lists gives white-space: pre to ::marker (https://drafts.csswg.org/css-lists-3/#ua-stylesheet), which forbids the soft wraps; only Chrome passes
marker-tab-size.htmlPass1 / 1
marker-text-align-001.htmlPass1 / 1
marker-text-align-002.htmlPass1 / 1
marker-text-align-003.htmlPass1 / 1
marker-text-combine-upright.htmlPass1 / 1
marker-text-decoration-skip-ink.htmlPass1 / 1
marker-text-emphasis.htmlPass1 / 1
marker-text-shadow.htmlPass1 / 1
marker-text-transform-default.htmlPass1 / 1
marker-text-transform-dynamic.htmlPass1 / 1
marker-text-transform-uppercase.htmlPass1 / 1
marker-unicode-bidi-default-ref.htmlPass1 / 1
marker-unicode-bidi-default.htmlPass1 / 1
marker-unicode-bidi-normal-ref.htmlPass1 / 1
marker-unicode-bidi-normal.htmlPass1 / 1
marker-variable.htmlPass1 / 1
marker-word-break.htmlFail0 / 1TEST BUGthe test expects the text of a marker to wrap with line-break: anywhere, overflow-wrap: anywhere or word-break: break-all, but the user agent style sheet of CSS Lists gives white-space: pre to ::marker (https://drafts.csswg.org/css-lists-3/#ua-stylesheet), which forbids the soft wraps; only Chrome passes
marker-word-spacing.htmlPass1 / 1
outside-marker-paint-order.htmlPass1 / 1
placeholder-excluded-properties.htmlPass1 / 1
placeholder-input-number.htmlPass1 / 1
placeholder-vertical-align.htmlPass1 / 1
relative-box-order-of-pseudo-elements.htmlPass1 / 1
selection-background-color-001.htmlPass1 / 1
selection-background-color-non-applicable-properties.htmlPass1 / 1
selection-background-color-revert.htmlPass1 / 1
selection-background-color-transparent.htmlPass1 / 1
selection-background-painting-order.htmlPass1 / 1
selection-contenteditable-011.htmlFail0 / 1NOT IMPLEMENTEDSelection.addRange() in a contenteditable element does not move the focus to the editing host, as the browsers do: the reference, which focuses the element, has a focus ring (outline: auto) that the test does not have
selection-input-011.htmlFail0 / 1TEST BUGthe selection of the value is highlighted with ::selection as in the reference, but the reference focuses its input (it is painted with a focus ring): the test relies on select() giving the focus to the control, as in Chrome, which the standard does not specify (the only different pixels are the ones of the focus ring); Firefox and Safari fail too
selection-intercharacter-011.htmlPass1 / 1
selection-intercharacter-012.htmlPass1 / 1
selection-link-001.htmlPass1 / 1
selection-link-002.htmlPass1 / 1
selection-link-003.htmlPass1 / 1
selection-originating-decoration-color.htmlPass1 / 1
selection-originating-strikethrough-order.htmlPass1 / 1
selection-originating-underline-order.htmlPass1 / 1
selection-over-highlight-001.htmlFail0 / 1BUGthe background of ::selection covers the content area of the text (ascent + descent), 1px shorter than the line box that the reference fills (the browsers extend the selection to the line box). Extending it to the line box fixes this test but breaks 24 passing tests of css-pseudo (highlight-painting-*, active-selection-*, selection-intercharacter-*, highlight-cascade/*) whose references paint the background of a span (the content area)
selection-overlay-and-grammar-001.htmlFail0 / 1NOT IMPLEMENTEDthe spelling and grammar checking (::spelling-error, ::grammar-error)
selection-overlay-and-spelling-001.htmlFail0 / 1NOT IMPLEMENTEDthe spelling and grammar checking (::spelling-error, ::grammar-error)
selection-paint-image.htmlPass1 / 1
selection-text-decoration-currentcolor.htmlPass1 / 1
selection-textarea-011.htmlPass1 / 1
selection-transparent-text-author-background.htmlPass1 / 1
selection-transparent-text-ua-background.htmlPass1 / 1
slider/slider-fill-001.htmlPass1 / 1
slider/slider-fill-002.htmlPass1 / 1
slider/slider-fill-003.htmlPass1 / 1
slider/slider-thumb-001.htmlPass1 / 1
slider/slider-track-001.htmlPass1 / 1
slider/slider-track-002.htmlPass1 / 1
slider/slider-track-003.htmlPass1 / 1
spelling-error-001.htmlFail0 / 1NOT IMPLEMENTEDthe spelling and grammar checking (::spelling-error, ::grammar-error)
spelling-error-006.htmlPass1 / 1
svg-text-selection-002.htmlPass1 / 1
svg-text-selection-fill-only.htmlPass1 / 1
svg-text-selection-shadow.htmlPass1 / 1
svg-text-selection-stroke-only.htmlPass1 / 1
svg-text-selection-transparent-background.htmlPass1 / 1
target-text-001.htmlPass1 / 1
target-text-002.htmlPass1 / 1
target-text-003.htmlPass1 / 1
target-text-004.htmlPass1 / 1
target-text-005.htmlPass1 / 1
target-text-006.htmlPass1 / 1
target-text-007.htmlPass1 / 1
target-text-008.htmlPass1 / 1
target-text-009.htmlPass1 / 1
target-text-010.htmlPass1 / 1
target-text-011.htmlPass1 / 1
target-text-dynamic-001.htmlPass1 / 1
target-text-dynamic-002.htmlPass1 / 1
target-text-dynamic-003.htmlPass1 / 1
target-text-dynamic-004.htmlPass1 / 1
target-text-shadow-horizontal.htmlPass1 / 1
target-text-shadow-vertical.htmlPass1 / 1
target-text-text-decoration-001.htmlPass1 / 1
target-text-text-decoration-currentcolor.htmlPass1 / 1
textpath-selection-011.htmlPass1 / 1