- Success Criterion 2.4.7
- Conformance level AA
Focus Style That Only Appears on Hover, Never on Tab Focus
2.4.7 — Focus Visible
Scenario
Setting
A video-conferencing app's meeting controls
What’s wrong
Focus visible on hover-styled state only (:hover styles never mapped to:focus).
Example
.mute-btn:hover {
background: #2b2b2b;
border: 2px solid #fff;
} Why it matters
A keyboard user tabbing to the mute button during a call sees no visual change at all, since the highlight only exists for mouse hover.
How to test
Compare a control's:hover CSS styling to its:focus styling in DevTools: if hover has a visible effect but:focus doesn't, keyboard users get nothing.
How to fix
Hover and focus are separate states in CSS; a style written only for :hover never applies to keyboard focus.
.mute-btn:hover,
.mute-btn:focus-visible {
background: #2b2b2b;
border: 2px solid #fff;
} Outcome
A host tabs to the mute button mid-meeting and sees the same clear highlight a mouse user would.
Who is affected
Keyboard users in live meetings can't confirm which control they're about to activate before pressing Enter.
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 Indicator Hidden Behind an Overlapping Sticky Element