Skip to main content

Confirm

Are you sure?

Accessibility & HTML · Checked on every page

Keyboard navigation supportWhat it checks and how to fix it

What it checks

Checks the page for keyboard support: a skip link to the main content, no elements with a positive tabindex, no :focus rule that removes the outline without a box-shadow, border or background replacement, no buttons without accessible text, and no focus traps in Lighthouse's audit. A removed focus outline or a focus trap fails; any other issue is a warning.

Why it matters

Many people navigate with the keyboard alone: power users, people with motor impairments and screen reader users. Without a visible focus indicator they cannot see where they are; a positive tabindex scrambles the tab order; a focus trap makes the rest of the page unreachable. These are WCAG failures that make a site unusable for that audience.

How to fix it

Keep focus visible, leave the tab order to the DOM, and add a skip link.

/* Never remove the outline without a replacement */
a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}

Replace positive tabindex values with the natural order (rearrange the HTML instead):

<input tabindex="3">   <!-- remove -->
<div tabindex="0" role="button">...</div>   <!-- 0 and -1 are fine -->

Add a skip link as the first focusable element:

<a href="#main" class="skip-link">Skip to main content</a>
...
<main id="main">...</main>

Finally, tab through the page yourself: every control should be reachable, visibly focused, and escapable (Esc closes modals and returns focus to the opener).

Monitor this automatically

Full Stack Audit runs this check and 126 others on your site on a schedule, and emails you when one that passed starts failing.

More Accessibility & HTML checks