navigation

Create accessible navigation frameworks with ARIA landmarks, keyboard support, and labeling.

39|2|Updated Mar 28, 2026
One-click install
npx skills add https://github.com/mgifford/accessibility-skills --skill navigation-mgifford
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: navigation
Source: https://github.com/mgifford/accessibility-skills/tree/main/skills/navigation
Command: npx skills add https://github.com/mgifford/accessibility-skills --skill navigation-mgifford

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Navigation in projects often lacks accessible landmarks, consistent keyboard support, and clear labeling, making it hard for assistive technologies to orient users.

Core Features & Use Cases

  • Provides primary navigation landmark patterns, skip links, disclosure dropdowns, breadcrumbs, pagination, mobile menus, and in-page jump navigation with proper ARIA roles.
  • Enforces wrapping navigation in a <nav> with a unique aria-label and discourages role="menu" misuse.
  • Guides SPA route changes to announce page titles and focus targets for screen readers.

Quick Start

Audit your project’s navigation structure and ensure every nav is wrapped in a <nav> with a unique aria-label, remove all role="menu" usages, implement a disclosure-based dropdown pattern for submenus, and add skip links for keyboard focus.

Frequently Asked Questions about navigation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make my website navigation accessible with proper ARIA landmarks?

Accessible navigation requires wrapping your navigation in a <nav> element with a unique aria-label, establishing clear landmarks for assistive technologies. This framework enforces consistent ARIA roles across primary navigation, breadcrumbs, and mobile menus.

When should I use role='menu' vs disclosure pattern for dropdown navigation?

Avoid role='menu' for website navigation and implement a disclosure-based dropdown pattern instead. The menu role is designed for application-like interfaces, whereas disclosure patterns provide proper keyboard support for standard navigation submenus.

How do I add skip links for keyboard focus in my web project?

Add skip links as the first focusable elements in your DOM, allowing keyboard users to bypass repetitive navigation and jump directly to main content. This framework provides patterns for implementing and managing skip link focus behavior.

How do I handle focus management and screen reader announcements during SPA route changes?

During SPA route changes, announce the new page title and move focus to a target element so screen readers detect the navigation context shift. This framework provides specific guidance for managing focus and route announcements in single-page applications.

What is the correct way to use aria-current for navigation breadcrumbs and pagination?

Apply aria-current to indicate the active page within breadcrumbs and pagination by setting its value to 'page' or 'location'. This framework ensures proper aria-current handling across all navigation patterns to help assistive technologies identify the user's current position.