HomeReview Results
The Selectors Level 4 CR Test Suite contains 133 test cases.
You can choose to review: The full test suite A section of the specification: 3: Selector Syntax and Structure3.2: Data Model3.2.1: Featureless Elements3.6: Pseudo-elements3.7: Characters and case sensitivity3.9: Invalid Selectors and Error Handling4: Logical Combinations4.2: The Matches-Any Pseudo-class: :is()4.3: The Negation (Matches-None) Pseudo-class: :not()4.4: The Specificity-adjustment Pseudo-class: :where()5.4: The Defined Pseudo-class: :defined6: Attribute selectors6.3: Case-sensitivity6.7: ID selectors7.1: The Directionality Pseudo-class: :dir()8: Location Pseudo-classes8.1: The Hyperlink Pseudo-class: :any-link8.6: The Reference Element Pseudo-class: :scope9: User Action Pseudo-classes9.1: The Pointer Hover Pseudo-class: :hover9.3: The Input Focus Pseudo-class: :focus9.4: The Focus-Indicated Pseudo-class: :focus-visible9.5: The Focus Container Pseudo-class: :focus-within13: The Input Pseudo-classes13.1: Input Control States13.1.1: The :enabled and :disabled Pseudo-classes13.1.2: The Mutability Pseudo-classes: :read-only and :read-write13.1.3: The Placeholder-shown Pseudo-class: :placeholder-shown13.3.4: The Optionality Pseudo-classes: :required and :optional14: Tree-Structural pseudo-classes14.3: Child-indexed Pseudo-classes14.3.3: :first-child pseudo-class14.4.3: :first-of-type pseudo-class15: Combinators15.3: Next-sibling combinator (+)15.4: Subsequent-sibling combinator (~)18: Grammar18.1: <forgiving-selector-list> and <forgiving-relative-selector-list>B: Obsolete but Required -webkit- Parsing Quirks for Web Compat A single test case: any-link-dynamic-001: Handling of dynamic changes to :any-link selectorsany-link-pseudo: CSS Selectors Invalidation: :any-linkattribute: CSS Selectors Invalidation: attributechild-index-no-parent-01: child-indexed selectors should match without a parent element.child-indexed-pseudo-class: Matching of child-indexed pseudo-classesclass-id-attr-selector-invalidation-01: [id] and [class] attribute selectors are invalidated correctly.defined: CSS Selectors Invalidation: :defineddir-style-01a: :dir() selectordir-style-01b: :dir() selectordir-style-02a: :dir() selectordir-style-02b: :dir() selectordir-style-03a: :dir() selectordir-style-03b: :dir() selectordir-style-04: :dir() selectorembedded-and-images-presentational-hints-ascii-case-insensitive: enabled-disabled: CSS Selectors Invalidation: :enabled and :disabledfirst-child-last-child: CSS Selectors Invalidation: :first-child :last-childfocus-display-none-001: Selectors Level 4: focusfocus-in-focus-event-001: Selectors Level 4: :focus, :focus-visible and :focus-within in focus eventfocus-in-focusin-event-001: Selectors Level 4: :focus, :focus-visible and :focus-within in focusin eventfocus-visible-001: Keyboard focus enables :focus-visiblefocus-visible-002: :focus-visible always matches on texty input elementsfocus-visible-003: :focus-visible does not match on non-texty inputsfocus-visible-004: :focus-visible does not match on non-texty inputs with appearance: nonefocus-visible-005: Programmatic focus causes :focus-visible to matchfocus-visible-006: contenteditable elements always match :focus-visiblefocus-visible-007: Keyboard use triggers :focus-visiblefocus-visible-008: Keyboard focus enables :focus-visiblefocus-visible-009: Keyboard focus enables :focus-visiblefocus-visible-010: Keyboard focus enables :focus-visiblefocus-visible-011: :focus-visible matches even if preventDefault() is calledfocus-visible-012: Keyboard shortcut combinations do not trigger :focus-visiblefocus-visible-013: :focus-visible does not match after mouse focus even if previous focused element was matching :focus-visiblefocus-visible-014: :focus-visible matches after script focus movefocus-visible-015: :focus-visible does not match after script focus movefocus-visible-016: :focus-visible always match on text inputsfocus-visible-017: By default initial programatic focus matches :focus-visible and it shows an auto focus ringfocus-visible-018: Mouse focus does not show a focus ring by defaultfocus-visible-019: Script focus on keyboard event handler matches :focus-visiblefocus-visible-script-focus-001: Script focus without any previous user interaction matches :focus-visiblefocus-visible-script-focus-002.tentative: Script focus after mouse click does match :focus-visiblefocus-visible-script-focus-003.tentative: Script focus after blur after mouse click does match :focus-visiblefocus-visible-script-focus-004: Script focus after keyboard input does match :focus-visiblefocus-visible-script-focus-005: Script focus after blur after keyboard input does match :focus-visiblefocus-visible-script-focus-006.tentative: Script focus after mouse click on a NOT focusable element does match :focus-visiblefocus-visible-script-focus-007.tentative: Script focus after blur after mouse click on a NOT focusable element does match :focus-visiblefocus-visible-script-focus-008: Script focus after mouse click on a focusable element that does not match :focus-visible, does NOT match :focus-visiblefocus-visible-script-focus-009: Script focus after blur after mouse click on a focusable element that does not match :focus-visible, does NOT match :focus-visiblefocus-visible-script-focus-010: Script focus after mouse click on a focusable element that matches :focus-visible, does NOT match :focus-visiblefocus-visible-script-focus-011: Script focus after blur after mouse click on a focusable element that matches :focus-visible, does NOT match :focus-visiblefocus-visible-script-focus-012: Script focus after keyboard focus does match :focus-visiblefocus-visible-script-focus-013: Script focus after blur after keyboard focus does match :focus-visiblefocus-visible-script-focus-014: Script focus after keyboard input does match :focus-visiblefocus-visible-script-focus-015: Script focus after blur after keyboard input does match :focus-visiblefocus-visible-script-focus-016.tentative: Script focus after mouse click on a NOT focusable element after editing an input does match :focus-visiblefocus-visible-script-focus-017.tentative: Script focus after blur after mouse click on a NOT focusable element after editing an input does match :focus-visiblefocus-visible-script-focus-018: Script focus after mouse click on a focusable element after editing an input does NOT match :focus-visiblefocus-visible-script-focus-019: Script focus after blur after mouse click on a focusable element after editing an input does NOT match :focus-visiblefocus-within-001: Selectors Level 4: focus-withinfocus-within-002: Selectors Level 4: focus-withinfocus-within-003: Selectors Level 4: focus-withinfocus-within-004: Selectors Level 4: focus-withinfocus-within-005: Selectors Level 4: focus-withinfocus-within-006: Selectors Level 4: focus-withinfocus-within-007: Selectors Level 4: focus-withinfocus-within-008: Selectors Level 4: focus-withinfocus-within-009: Selectors Level 4: focus-withinfocus-within-010: Selectors Level 4: focus-withinfocus-within-1: :focus-within selectorfocus-within-2: :focus-within selectorfocus-within-3: :focus-within selectorfocus-within-display-none-001: Selectors Level 4: focus-withinfocus-within-shadow-001: Selectors Level 4: focus-within with shadow DOMfocus-within-shadow-002: Selectors Level 4: focus-within with shadow DOMfocus-within-shadow-003: Selectors Level 4: focus-within with shadow DOMfocus-within-shadow-004: Selectors Level 4: focus-within with shadow DOMfocus-within-shadow-005: Selectors Level 4: focus-within with shadow DOMfocus-within-shadow-006: Selectors Level 4: focus-within with shadow DOMhistorical-xmlid: No xml:id supporthost-with-default-namespace-001: :host ignores default namespacehover-001: hover pseudo-class when scrollinginsert-sibling-001: CSS Selectors Invalidation: insert siblinginsert-sibling-002: CSS Selectors Invalidation: insert adjacent sibling of parentinsert-sibling-003: CSS Selectors Invalidation: insert sibling of ancestorinsert-sibling-004: CSS Selectors Invalidation: insert sibling of parentis: CSS Selectors Invalidation: :is()is-default-ns-001: Default namespace gets ignored inside non-type selectors for :is() / :not() / :where().is-default-ns-002: Default namespace gets ignored inside non-type selectors for :is() / :not() / :where().is-default-ns-003: Default namespace respected inside :is() for non-subject compoundsis-nested: CSS Selectors: :is()is-specificity: CSS Selectors: :is()is-specificity-shadow: Specificity of :host() inside :is()is-where-basic: Basic :is/:where matching behavioris-where-error-recovery: CSS Selectors: :is() and :where() error recoveryis-where-not: :is() inside :not()is-where-parsing: CSS Selectors: :is() and :where() parsingis-where-pseudo-classes: :is() combined with pseudo-classesis-where-pseudo-elements: :is() combined with pseudo elementsis-where-shadow: :is() inside shadow pseudosis-where-visited: :is/:where combined with :visited/:linklists-presentational-hints-ascii-case-insensitive: missing-right-token: Selectors: attribute selectors with missing right tokennot-001: CSS Selectors Invalidation: complex :not()not-002: CSS Selectors Invalidation: complex :not()not-default-ns-001: Default namespace gets ignored inside non-type selectors for :is() / :not() / :where().not-default-ns-002: Default namespace gets ignored inside non-type selectors for :is() / :not() / :where().not-default-ns-003: Default namespace respected inside :is() for non-subject compoundsnot-links: not(:link):not(:visited) does not match linksof-type-selectors: Selectors Level 4: :first-of-typeparse-focus-visible: CSS Selectors: :focus-visible pseudo-classpseudo-enabled-disabled: scope-selector: scope-without-scoping: Selectors Level 4: :scope without scopingselector-placeholder-shown-emptify-placeholder: When non-empty placeholder becomes empty, :placeholder-shown testselector-placeholder-shown-type-change-001: Check for correctly updating :placeholder-shown matching on type changeselector-placeholder-shown-type-change-002: Check for correctly updating :placeholder-shown matching on type changeselector-placeholder-shown-type-change-003: Check for correctly updating :placeholder-shown matching on type changeselector-read-write-type-change-001: Check for correctly updating :read-write matching on type changeselector-read-write-type-change-002: Check for correctly updating :read-write matching on type changeselector-required-type-change-001: Check for correctly updating :required matching on type changeselector-required-type-change-002: Check for correctly updating :required matching on type changeselectors-attr-white-space-001: Selectors: White space in attribute selectorsselectors-case-sensitive-001: Test element names are case-insensitive only in ASCII rangeselectortext-dynamic-001: invalidation of class changes when the selector in a rule has changedsharing-in-svg-use: nth-of-type should work in an svg use subtreesheet-going-away-001: invalidation of class changes when the sheet the style depends on goes awaysheet-going-away-002: invalidation of class changes when the sheet the style depends on goes awaysibling: CSS Selectors Invalidation: siblingtable-border-presentational-hints-ascii-case-insensitive: table-valign-baseline-ascii-case-insensitive: webkit-pseudo-element: WebKit-prefixed pseudo-elementswhere: CSS Selectors Invalidation: :where()x-pseudo-element: 'x-' prefixed pseudo-elements don't parse correctly
Options: Group by specification section
Do not display tests that: Meet exit criteria Have blocking failures Lack sufficient data Have been reported as invalid Are not required