Skip to main content
Beta: Front-End Checklist is currently in beta. Some issues are still being fixed. Thanks for your patience.

Implement "Skip to Content" links

Checks for bypass mechanisms for keyboard navigation

Utilities
Quick take
Typical fix time 10 min
  • Add a skip link as the first focusable element
  • Ensure it's visible when focused
  • Link it to the main content container ID
Why it matters: Skip links allow keyboard and screen reader users to bypass repetitive navigation links, saving them significant time and effort.

Rule Details

A skip link (or "skip navigation" link) is an internal page link that allows users to jump directly to the main content of a page.

Code Examples

<body>
  <a href="#main-content" class="skip-link">Skip to main content</a>
  
  <nav>
    <!-- Many navigation links -->
  </nav>
 
  <main id="main-content">
    <h1>Main Content</h1>
    <!-- Page content -->
  </main>
</body>
.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: #000;
  color: #fff;
  padding: 8px;
  z-index: 100;
}
 
.skip-link:focus {
  top: 0;
}

Why It Matters

  • Efficiency: Saves keyboard users from tabbing through dozens of menu items on every page load.
  • Accessibility Compliance: Meets WCAG 2.1 Success Criterion 2.4.1 (Bypass Blocks).
  • User Experience: Provides a better experience for power users and those using assistive technologies.
  • Screen Readers: Allows screen reader users to skip straight to the unique content of the page.

Exceptions

  • Temporary or intentionally inert UI can be removed from the focus order, but only when the same state is also communicated clearly to assistive technology users.
  • A focus-management issue should be evaluated in the rendered interaction, not only from static markup, because route changes, overlays, and JS timing can change the real behavior.
  • If a component is both unlabeled and focus-broken, fix the stronger user-facing orientation problem first rather than reporting multiple secondary symptoms.

Verification

Automated Checks

  • Inspect the browser accessibility tree or accessibility pane for the relevant element, role, or accessible name.
  • Run an automated accessibility checker such as axe or Lighthouse where applicable.

Manual Checks

  • Test the affected UI with keyboard-only navigation and confirm the rule holds in the rendered experience.
  • Re-test one representative user flow with a screen reader if this rule affects a key interaction.

Use with AI

Copy these prompts to use with your AI assistant, or install the MCP server to use directly from Claude, Cursor, or Windsurf.

Check

Verify implementation

Verify if a skip link exists and is the first focusable element in the document.

Fix

Auto-fix issues

Add a skip link that becomes visible on focus and targets the main content area.

Explain

Learn more

Explain how skip links benefit users who navigate via keyboard by allowing them to bypass repetitive menus.

Review

Code review

Review the rendered markup and interactive states that affect Implement "Skip to Content" links. Flag exact elements, roles, labels, focus behavior, or keyboard interactions that violate the rule, and note how to verify the fix with browser accessibility tooling or assistive tech.

Sources

References used to support the guidance in this rule.

Further Reading

Tools and supplementary material for exploring the topic in more depth.

axe DevTools
deque.comTool

Rules that often go hand-in-hand with this one.

Include a skip navigation link

A skip navigation link is provided to allow keyboard users to bypass repetitive content and navigate directly to main content.

Accessibility
Manage focus during dynamic interactions

Focus is programmatically managed during dynamic interactions like modals, page transitions, and content updates.

Accessibility
Enable keyboard navigation for all elements

All interactive elements are accessible via keyboard with logical focus order and hidden elements excluded from tab sequence.

Accessibility
Avoid autofocus on form fields

Form fields do not use the autofocus attribute which can disorient screen reader users and cause unexpected page behavior.

Accessibility

Was this rule helpful?

Your feedback helps improve rule quality. This stays internal for now.

Loading feedback...
0 / 385