Selectors Level 4 CR Test Suite

User Action Pseudo-classes (63 tests)

Test Refs Flags Info
+ 9 User Action Pseudo-classes
+ 9.1 The Pointer Hover Pseudo-class: :hover
hover-001-manual InteractScroll hover pseudo-class when scrolling
  • Scrolling away from an element that was hovered over should cause the :hover pseudo-class to no longer match said element.
+ 9.2 The Activation Pseudo-class: :active
+ 9.3 The Input Focus Pseudo-class: :focus
focus-display-none-001 Script Selectors Level 4: focus
  • Checks ':focus' pseudo-class after 'display: none'.
focus-in-focus-event-001 Script Selectors Level 4: :focus, :focus-visible and :focus-within in focus event
focus-in-focusin-event-001 Script Selectors Level 4: :focus, :focus-visible and :focus-within in focusin event
+ 9.4 The Focus-Indicated Pseudo-class: :focus-visible
focus-visible-001 Script Keyboard focus enables :focus-visible
focus-visible-002 Script :focus-visible always matches on texty input elements
focus-visible-003 Script :focus-visible does not match on non-texty inputs
focus-visible-004 Script :focus-visible does not match on non-texty inputs with appearance: none
focus-visible-005 Script Programmatic focus causes :focus-visible to match
focus-visible-006 Script contenteditable elements always match :focus-visible
focus-visible-007 Script Keyboard use triggers :focus-visible
focus-visible-008 Script Keyboard focus enables :focus-visible
focus-visible-009 Script Keyboard focus enables :focus-visible
focus-visible-010 Script Keyboard focus enables :focus-visible
focus-visible-011 Script :focus-visible matches even if preventDefault() is called
focus-visible-012 Script Keyboard shortcut combinations do not trigger :focus-visible
focus-visible-013 Script :focus-visible does not match after mouse focus even if previous focused element was matching :focus-visible
focus-visible-014 Script :focus-visible matches after script focus move
  • This test checks that if the active element matches ':focus-visible' and a script causes focus to move elsewhere, the newly focused element should match ':focus-visible'.
focus-visible-015 Script :focus-visible does not match after script focus move
  • This test checks that if the active element does not match ':focus-visible' and a script causes focus to move elsewhere, the newly focused element should not match ':focus-visible'.
focus-visible-016 Script :focus-visible always match on text inputs
  • This test checks that even if the active element does not match ':focus-visible' and a script causes focus to move into a text input, the text input should match ':focus-visible'.
focus-visible-017 Script By default initial programatic focus matches :focus-visible and it shows an auto focus ring
focus-visible-018 Script Mouse focus does not show a focus ring by default
focus-visible-019 Script Script focus on keyboard event handler matches :focus-visible
focus-visible-script-focus-001 Script Script focus without any previous user interaction matches :focus-visible
focus-visible-script-focus-002.tentative Script Script focus after mouse click does match :focus-visible
focus-visible-script-focus-003.tentative Script Script focus after blur after mouse click does match :focus-visible
focus-visible-script-focus-004 Script Script focus after keyboard input does match :focus-visible
focus-visible-script-focus-005 Script Script focus after blur after keyboard input does match :focus-visible
focus-visible-script-focus-006.tentative Script Script focus after mouse click on a NOT focusable element does match :focus-visible
focus-visible-script-focus-007.tentative Script Script focus after blur after mouse click on a NOT focusable element does match :focus-visible
focus-visible-script-focus-008 Script Script focus after mouse click on a focusable element that does not match :focus-visible, does NOT match :focus-visible
focus-visible-script-focus-009 Script Script focus after blur after mouse click on a focusable element that does not match :focus-visible, does NOT match :focus-visible
focus-visible-script-focus-010 Script Script focus after mouse click on a focusable element that matches :focus-visible, does NOT match :focus-visible
focus-visible-script-focus-011 Script Script focus after blur after mouse click on a focusable element that matches :focus-visible, does NOT match :focus-visible
focus-visible-script-focus-012 Script Script focus after keyboard focus does match :focus-visible
focus-visible-script-focus-013 Script Script focus after blur after keyboard focus does match :focus-visible
focus-visible-script-focus-014 Script Script focus after keyboard input does match :focus-visible
focus-visible-script-focus-015 Script Script focus after blur after keyboard input does match :focus-visible
focus-visible-script-focus-016.tentative Script Script focus after mouse click on a NOT focusable element after editing an input does match :focus-visible
focus-visible-script-focus-017.tentative Script Script focus after blur after mouse click on a NOT focusable element after editing an input does match :focus-visible
focus-visible-script-focus-018 Script Script focus after mouse click on a focusable element after editing an input does NOT match :focus-visible
focus-visible-script-focus-019 Script Script focus after blur after mouse click on a focusable element after editing an input does NOT match :focus-visible
parse-focus-visible Script CSS Selectors: :focus-visible pseudo-class
focus-in-focus-event-001 Script Selectors Level 4: :focus, :focus-visible and :focus-within in focus event
focus-in-focusin-event-001 Script Selectors Level 4: :focus, :focus-visible and :focus-within in focusin event
+ 9.5 The Focus Container Pseudo-class: :focus-within
focus-in-focus-event-001 Script Selectors Level 4: :focus, :focus-visible and :focus-within in focus event
focus-in-focusin-event-001 Script Selectors Level 4: :focus, :focus-visible and :focus-within in focusin event
focus-within-001 = Selectors Level 4: focus-within
  • Test that :focus-within applies to an element with tabindex when :focus applies.
focus-within-002 = Selectors Level 4: focus-within
  • Test that :focus-within applies to the parent of an element with tabindex where :focus applies.
focus-within-003 = Selectors Level 4: focus-within
  • Test that :focus-within applies to ancestors of an element with tabindex where :focus applies.
focus-within-004 = Selectors Level 4: focus-within
  • Test that :focus-within works on elements that are focusable due to contenteditable.
focus-within-005 = Selectors Level 4: focus-within
  • Test that :focus-within works on links.
focus-within-006 = Selectors Level 4: focus-within
  • Test that :focus-within works on form controls, using an input element.
focus-within-007 = Selectors Level 4: focus-within
  • Checks that ':focus-within' can be used as universal selector.
focus-within-008 = Selectors Level 4: focus-within
  • Checks that ':focus-within' can be used as universal selector (using *).
focus-within-009 Script Selectors Level 4: focus-within
  • Checks the basic features of the ':focus-within' pseudo class.
focus-within-010 = Selectors Level 4: focus-within
  • Checks that :focus-within is still applied when focus moves from an element to one of its descendants.
focus-within-1 = :focus-within selector
  • Test checks :focus-within works after focus change
focus-within-2 = :focus-within selector
  • Test checks :focus-within should not apply after element removed.
focus-within-3 = :focus-within selector
  • Test checks :focus-within should not work for iframe
focus-within-display-none-001 Script Selectors Level 4: focus-within
  • Checks ':focus-within' pseudo-class after 'display: none'.
focus-within-shadow-001 = DOM/JS Selectors Level 4: focus-within with shadow DOM
  • Test that :focus-within applies to a focused element inside the shadow DOM.
focus-within-shadow-002 = DOM/JS Selectors Level 4: focus-within with shadow DOM
  • Test that :focus-within applies to a shadow host containing a focused element.
focus-within-shadow-003 = DOM/JS Selectors Level 4: focus-within with shadow DOM
  • Test that :focus-within applies to the parent of a shadow host containing a focused element.
focus-within-shadow-004 = DOM/JS Selectors Level 4: focus-within with shadow DOM
  • Test that :focus-within applies to an ancestor of a shadow host containing a focused element.
focus-within-shadow-005 = DOM/JS Selectors Level 4: focus-within with shadow DOM
  • Test that :focus-within propagates through nested shadow DOMs containing a focused element.
focus-within-shadow-006 = DOM/JS Selectors Level 4: focus-within with shadow DOM
  • Checks that ':focus-within' is propagated to the flat tree ancestors, even if it comes from a slotted element.