• 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