- Success Criterion 2.4.7
- Conformance level AA
Keyboard Focus Landing on an Unstyled, Invisible Target
2.4.7 — Focus Visible
Scenario
Setting
A podcast app's episode list
What’s wrong
Focus moved to containers with no styling (div tabindex="-1" (code removing it from the Tab order) targets flashing nothing).
Example
button:focus { outline: none; } Why it matters
Sighted keyboard users and low-vision users who must see where focus is.
How to test
Tab to a container given tabindex="-1" as a scroll/focus target: if it has no visible styling, focusing it shows nothing on screen.
How to fix
A clearly visible focus indicator must appear, in full, on every interactive element when it receives keyboard focus. button:focus-visible { outline: 2px solid #1a73e8; outline-offset: 2px; } Removing the focus outline with no replacement makes it impossible to see which element has keyboard focus.
Outcome
On a podcast app's episode list, this barrier is gone for sighted keyboard users and low-vision users who must see where focus is — they reach the same outcome without extra effort.
Who is affected
Sighted keyboard users and low-vision users who must see where focus is.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Element Losing Keyboard Focus the Instant It’s Reached
- Focus Outline Removed by CSS With No Replacement
- Global CSS Reset Removing Every Focus Outline Site-Wide
- Focus Indicator Styled for Some Components but Not Others
- Focus Indicator That’s Just a Subtle, Hard-to-See Color Shift
- Focus Style That Only Appears on Hover, Never on Tab Focus