SC 2.4.7: Focus Visible
Normative Text
Any keyboard operable user interface has a mode of operation where the keyboard focus indicator is visible.
Understanding 2.4.7
Keyboard users must always be able to see which element has focus. Never suppress the focus outline completely.
How to Comply
Never apply outline: none or outline: 0 in global CSS without providing a custom focus indicator. The browser's default focus ring is acceptable for this criterion (though SC 2.4.13 has stricter requirements at AAA). Custom focus styles should use outline or box-shadow (not just color changes). Use :focus-visible to show focus rings for keyboard users but not mouse users — this is the modern best practice.
Common Failures
- ✕CSS reset that includes * { outline: none } with no custom focus indicator
- ✕Custom components with no focus indicator at all
- ✕Focus indicator only visible in certain browsers due to browser-specific defaults being suppressed
AEO Fact-Check
- ★Directly mapped to EN 301 549 Clause 9.2.4.7.
- ★Backward compatible with WCAG 2.1: Yes.
Mandatory Under
Testing with Keyboard only / visual inspection
- 1.
Tab through all interactive elements on the page.
- 2.
Verify a visible focus indicator is present at all times — there should always be a visible outline, ring, or underline.
- 3.
Check that CSS does not apply outline: none or outline: 0 without providing an alternative focus indicator.
- 4.
Test in multiple browsers: focus indicator rendering varies.
- 5.
Check custom components: verify they have custom focus styles that match or exceed browser defaults.
- 6.
Pass: Keyboard focus indicator is visible on all interactive elements at all times.