selectors-cascade — 100.00% verified visual parity

← all categories · PASS 60 · FAIL 0 · REFERENCE-DISPUTED 0 · 60 total · 300 DPI

diff colours:MissingExtraColorErrMatchFull-page diff: matching and per-channel ≤1.0% pixels are blank; coloured classes are same-coordinate above-floor evidence. Exact RGBA mismatch remains numeric.

at-rule — 100.00% verified visual parity PASS 2 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match selectors-cascade-media-print · media-print
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
@media print { } applies in the print rendering context, turning the box green; ignoring print media queries leaves it gray.
PASS exact match selectors-cascade-supports-rule · supports
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
@supports (display:block) { } gates a green override that a correct engine applies; engines without @supports parsing drop it and leave the box gray. Aspirational known-gap.

attribute-selector — 100.00% verified visual parity PASS 9 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match selectors-cascade-attribute-case-insensitive · case-insensitive
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
[data-id="yes" i] case-insensitive flag colors YES and Yes green; a different value stays gray.
PASS exact match selectors-cascade-attribute-equals · equals
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
[data-pick="yes"] colors only the box whose attribute equals the value; boxes with a different value or no attribute stay gray.
PASS exact match selectors-cascade-attribute-hyphen · hyphen
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
[lang|="en"] hyphen match colors boxes whose value is en or begins with en-; the value english stays gray.
PASS exact match selectors-cascade-attribute-multiple · compound
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Two chained attribute selectors [data-a="1"][data-b="2"] require BOTH to match on the same box; only the box with both attributes turns green.
PASS exact match selectors-cascade-attribute-prefix · prefix
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
[data-id^="abc"] prefix match colors boxes whose value starts with abc; a value containing but not starting with abc stays gray.
PASS exact match selectors-cascade-attribute-presence · presence
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
[data-pick] presence selector matches any box carrying the attribute regardless of value; two boxes turn green, the bare box stays gray.
PASS exact match selectors-cascade-attribute-substring · substring
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
[data-id*="mid"] substring match colors boxes whose value contains mid anywhere; an unrelated value stays gray.
PASS exact match selectors-cascade-attribute-suffix · suffix
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
[data-id$="png"] suffix match colors boxes whose value ends with png; a value starting with png stays gray.
PASS exact match selectors-cascade-attribute-word · whitespace-list
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
[data-tags~="hot"] whitespace-list match colors boxes where hot is a full space-separated word; a substring like hotter stays gray.

cascade — 100.00% verified visual parity PASS 14 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match cascade-all-initial-respects-declaration-order · all-source-order
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
The all shorthand participates at its declaration position: an earlier background is reset by all:initial while a later background remains applied.
PASS exact match cascade-cross-rule-invalid-at-computed-value-does-not-reveal-lower-width · cross-rule-invalid-at-computed-value-time
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
A higher-specificity winning width using a missing custom property becomes unset at computed-value time; it must not reveal a 150px width already applied from a lower rule.
PASS exact match cascade-invalid-at-computed-value-does-not-reveal-lower-width · invalid-at-computed-value-time
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
A winning width using a missing custom property becomes unset at computed-value time; it must not reveal the lower cascaded 150px declaration.
PASS exact match cascade-revert-rolls-back-author-origin · revert-author-origin
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
opacity:revert rolls back the earlier author opacity and exposes the CSS-defined initial opacity of 1 without consulting an HTML UA rule.
PASS exact match selectors-cascade-all-initial-reset · all-initial-reset
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
all:initial resets earlier padding before later declarations rebuild the box; catches treating all as a no-op or failing to reset box properties.
PASS exact match selectors-cascade-important-before-normal · important-before-normal
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
A class !important rule placed BEFORE a normal id rule must override the higher-specificity id declaration; only the .winner box turns green.
PASS exact match selectors-cascade-important-overrides-specificity · important-over-id
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
A class rule with !important overrides an id selector that would otherwise win on specificity; only the !important box turns green.
PASS exact match selectors-cascade-inherit-keyword · inherit-keyword
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
background: inherit forces a non-inherited property to copy the parent .wrap green; the box renders green.
PASS exact match selectors-cascade-inherited-property-flows · inheritance
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
An inherited green background painted on the parent .wrap shows through a transparent child box.
PASS exact match selectors-cascade-initial-keyword · initial-keyword
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
background: initial resets the box background to its initial transparent value, revealing the green .wrap behind it.
PASS exact match selectors-cascade-inline-beats-selector · inline-beats-selector
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
An inline style attribute outranks any selector (id rule), so only the inline-styled box turns green.
PASS exact match selectors-cascade-non-inherited-border · non-inherited
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
A thick border on the parent .outer does NOT inherit to the child box, which keeps its own 2px border (child filled green for unambiguous geometry).
PASS exact match selectors-cascade-source-order-tiebreak · source-order-tiebreak
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Two equal-specificity rules target the same element; the later declaration wins, so the box renders green not gray.
PASS exact match selectors-cascade-unset-keyword · unset-keyword
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
background: unset on a non-inherited property behaves like initial (transparent), revealing the green .wrap behind the box.

cascade-layers — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match selectors-cascade-layers-order · layer-order-over-source-order
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
@layer reset, base, theme gives the later-declared theme layer priority over a later source-order base rule; catches source-order-only cascade or dropped layer at-rules.

combinator — 100.00% verified visual parity PASS 4 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match selectors-cascade-adjacent-sibling · adjacent-sibling
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
The adjacent-sibling combinator (+) matches only the box immediately following .marker; the marker and the third box stay gray.
PASS exact match selectors-cascade-child-combinator · child
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
The child combinator (>) matches only immediate children of #parent; a nested .box stays gray while direct-child boxes turn green.
PASS exact match selectors-cascade-descendant-combinator · descendant
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
The descendant combinator (space) matches every .box inside #parent at any depth; a .box outside #parent stays gray.
PASS exact match selectors-cascade-general-sibling · general-sibling
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
The general-sibling combinator (~) matches every later .box sibling of .marker, not just the next one; the marker stays gray.

pseudo-class — 100.00% verified visual parity PASS 22 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match selectors-cascade-defined · defined
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:defined matches built-in HTML elements, turning the div green; catches missing Selectors Level 4 defined pseudo-class support.
PASS exact match selectors-cascade-dir-rtl · dir-rtl
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:dir(rtl) matches an element with static dir=rtl; catches missing direction pseudo-class support.
PASS exact match selectors-cascade-empty · empty
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:empty colors boxes with no children green; a box containing text stays gray.
PASS exact match selectors-cascade-first-last-child · first-child-last-child
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:first-child paints the first box green and :last-child paints the last box blue; the middle box stays gray.
PASS exact match selectors-cascade-first-of-type · first-of-type
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
p:first-of-type colors the first <p> green even though a <div> precedes it.
PASS exact match selectors-cascade-has-relational · has
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:has(+ .flag) colors a box that is immediately followed by a .flag sibling green.
PASS exact match selectors-cascade-is-selector · is
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:is(.a, .c) colors boxes carrying class a OR c green; the .b box stays gray.
PASS exact match selectors-cascade-lang-inherited · lang-inherited
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:lang(en) matches an element inheriting the document language from html lang=en; catches checking only the element's own lang attribute.
PASS exact match selectors-cascade-last-of-type · last-of-type
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
p:last-of-type colors the last <p> green; a trailing <div> does not affect it.
PASS exact match selectors-cascade-not-list · not-list
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:not(.a, .b) with a selector list colors every box except those carrying class a OR b.
PASS exact match selectors-cascade-not-negation · not-negation
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:not(.skip) colors every .box except the one carrying .skip; the skipped box stays gray.
PASS exact match selectors-cascade-nth-child-even · nth-child-even
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:nth-child(even) colors the 2nd and 4th of four boxes green.
PASS exact match selectors-cascade-nth-child-formula · nth-child-formula
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:nth-child(3n+1) colors the 1st and 4th of five boxes green; the others stay gray.
PASS exact match selectors-cascade-nth-child-odd · nth-child-odd
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:nth-child(odd) colors the 1st, 3rd and 5th of five boxes green; even-position boxes stay gray.
PASS exact match selectors-cascade-nth-last-child · nth-last-child
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:nth-last-child(2) colors the box that is 2nd from the end green (3rd of four).
PASS exact match selectors-cascade-nth-last-of-type · nth-last-of-type
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:nth-last-of-type(2) counts from the end among same element names, ignoring the intervening div; catches using nth-last-child or forward nth-of-type semantics.
PASS exact match selectors-cascade-nth-of-type · nth-of-type
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
p:nth-of-type(2) colors the 2nd <p> among mixed div/p siblings green.
PASS exact match selectors-cascade-only-child · only-child
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:only-child colors a box green only when it is the sole child of its panel; a box with a sibling stays gray.
PASS exact match selectors-cascade-only-of-type · only-of-type
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
p:only-of-type colors the sole <p> among <div> siblings green.
PASS exact match selectors-cascade-root-element · root
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:root paints the page background green behind a centered white bordered panel; if :root is unmatched the page stays white.
PASS exact match selectors-cascade-scope-root · scope-root
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:scope in a stylesheet matches the document scope root so :scope body .box turns the box green; catches unsupported :scope selector matching.
PASS exact match selectors-cascade-where-zero-specificity · where
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:where() contributes zero specificity, so a later (0,1,0) class rule wins over an earlier :where(.box) rule; the box renders green.

selectors-4 — 100.00% verified visual parity PASS 2 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match selectors-cascade-has-descendant · has-descendant
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
:has(.flag) matches a descendant witness nested below the card; catches :has implementations limited to sibling or child relative selectors.
PASS exact match selectors-has-nth-of-supports · supports-has-nth-child-of
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
@supports selector(), child :has(> .flag), and :nth-child(2 of .flagged) make the intended boxes green; catches sibling-only :has and nth-child without the of-selector clause.

specificity — 100.00% verified visual parity PASS 3 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match selectors-cascade-specificity-class-over-type · class-over-type
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
A class selector (0,1,0) overrides a type selector (0,0,1) regardless of source order; only the .pick box turns green.
PASS exact match selectors-cascade-specificity-id-before-class · id-before-class
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
An id rule (1,0,0) placed BEFORE a class rule (0,1,0) in source order must still win on specificity; only the #pick box turns green (regression guard against pure source-order cascade).
PASS exact match selectors-cascade-specificity-id-over-class · id-over-class
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
An id selector (1,0,0) overrides a more numerous class selector (0,2,0) on the same element; only the box carrying the id turns green.

supports — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match selectors-cascade-supports-boolean-logic · boolean-and-not
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
@supports boolean logic with and/not selects the green branch; catches parsers that handle only a single simple feature query.

type-selector — 100.00% verified visual parity PASS 2 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match selectors-cascade-type-selector · type
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
A type selector p.box colors only <p> boxes green; <div> boxes stay gray.
PASS exact match selectors-cascade-universal-selector · universal
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
The universal selector * as the discriminating rule paints every child box green.