Skip to content

Navigation Testing

DodaTech 3 min read

title: "Navigation Testing — Verifying Navigation Accessibility" description: "Learn how to test navigation components for accessibility using keyboard-only testing, screen reader landmark verification, and automated audit tools." weight: 14 date: 2026-06-28 lastmod: 2026-06-28 tags: [accessibility, navigation]


Testing navigation accessibility requires keyboard-only navigation, screen reader landmark verification, and automated checks for ARIA attributes and focus order.

## What You'll Learn

How to test navigation components using multiple methods to verify they work for all users.

## Why It Matters

Navigation is the most-used component on any site. A broken navigation blocks access to every page. Testing ensures all users can find and use it.

## Real-World Use

A QA tester verifies navigation for an e-commerce site. They Tab through the mega menu, verify arrow keys open submenus, check landmarks with NVDA, and run axe DevTools to confirm no ARIA violations.

## Keyboard Test Checklist

| Test | Action | Expected |
|------|--------|----------|
| Tab to skip link | Tab on page load | Skip link visible |
| Skip link activation | Enter on skip link | Focus moves to main |
| Navigation items | Tab through | Each item focusable |
| Submenu open | Enter/Space on trigger | Submenu appears |
| Submenu navigate | Arrow keys | Move between items |
| Submenu close | Escape | Menu closes, focus returns |
| Tab order | Tab through all | No jumps, logical order |

## Screen Reader Testing

// NVDA Commands for Navigation Testing // Insert + F7: Element list - verify landmarks appear // B: Move to next landmark // Shift + B: Move to previous landmark // Arrow keys: Navigate lists // H: Navigate by heading

// Verify announcements: // "navigation, Main" - labeled nav element // "About, link" - standard link // "About, current page, link" - current page // "Products, expanded, button" - open submenu


## Automated Testing

```javascript
// axe-core programmatic test for navigation
const results = await axe.run(document, {
  runOnly: ['color-contrast', 'aria-allowed-role', 'aria-valid-attr']
});
const navIssues = results.violations.filter(v =>
  v.nodes.some(n => n.target.includes('nav'))
);

Common Mistakes

1. Testing only with mouse

Navigation must work without a mouse. Keyboard-only testing reveals most navigation issues.

2. Not testing with multiple screen readers

NVDA, JAWS, and VoiceOver handle landmarks and ARIA attributes differently. Test with at least two.

3. Forgetting mobile testing

Touch navigation on mobile has different patterns (hamburger menus, larger targets).

4. Not verifying focus indicators

Ensure each navigation item has a visible focus ring. Default outlines may be removed by CSS.

5. Not testing aria-current

Verify that aria-current is set correctly on the current page and that screen readers announce it.

Practice Questions

1. What is the first thing to test on any navigation? Verify that a skip link exists and is the first focusable element on the page.

2. How do you test landmark navigation in NVDA? Open the element list (Insert + F7), select Landmarks tab, and verify all navigation landmarks appear with labels.

3. What should happen when you press Escape on an open submenu? The submenu should close and focus should return to the trigger button.

Challenge: Create a test suite for a navigation component. Include 10 test cases covering keyboard, screen reader, and automated checks. Run the tests and document results.

FAQ

Do I need to test every page?

Test the navigation template once if it is shared across pages. But verify aria-current on each distinct page.

Can I automate navigation testing?

Yes, use Playwright or Cypress with axe-core to write automated tests for focus management and ARIA attributes.

What is the most common navigation test failure?

Missing skip links and unlabeled navigation landmarks are the most common failures.

Should I test with JavaScript disabled?

Yes. Navigation should degrade gracefully. Core links should work without JavaScript.

How do I document navigation issues?

Include the WCAG criterion, the specific navigation element, how to reproduce the issue, and the expected behavior.

Mini Project

Write a playbook for testing navigation accessibility. Include 15+ test cases covering keyboard, screen reader, landmarks, focus management, and mobile patterns. Run the tests on a real site.

What's Next

Apply everything you learned in the Navigation Project by building a complete accessible navigation system from scratch.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro