Focus indicator is visible on all interactive elements
Why it matters
Removing focus indicators with outline: none without a replacement makes keyboard navigation invisible. Users who cannot use a mouse — including those with motor disabilities, power users, and anyone without a pointing device — lose their only visual cue for where focus is on the page. WCAG 2.2 SC 2.4.11 (Focus Appearance) at Level AA requires focus indicators to have at least 3:1 contrast against adjacent colors. SC 2.4.7 at Level AA also requires that keyboard focus is always visible.
Severity rationale
High because invisible focus indicators make keyboard navigation non-functional, completely excluding motor-impaired users who rely on Tab navigation to operate the interface — a WCAG 2.2 SC 2.4.11 violation.
Remediation
Replace every outline: none or Tailwind outline-none with a custom focus style. Use :focus-visible so mouse users are not affected.
/* Remove this from global styles */
*:focus { outline: none; }
/* Replace all outline removals with visible styles */
.btn:focus-visible {
outline: 2px solid #4f46e5;
outline-offset: 2px;
}
In Tailwind, replace outline-none with:
className="... focus-visible:ring-2 focus-visible:ring-indigo-500 focus-visible:ring-offset-2"
Search your codebase for every occurrence of outline: none, outline: 0, and the Tailwind class outline-none. Each must be paired with an explicit replacement focus style that meets 3:1 contrast against adjacent colors per WCAG 2.2 SC 2.4.11.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Accessibility WCAG Compliance Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- wcag:2.2 · 2.4.11 — Focus Not Obscured (Minimum)
- wcag:2.2 · 2.4.7 — Focus Visible
- section-508:2018-refresh · 302.4 — Without Color
Taxons
History
- 2026-04-18·v1.0.0·Initial import from accessibility-wcag·automated