Skip to main content
Perceivly: Perceivly home

3.2.3 Consistent Navigation

Level AA · added in WCAG 2.0

Navigation that repeats across a set of pages, such as a main menu, skip link or search box, must appear in the same relative order each time. The order may differ only when the user changes it.

Who it helps

People with low vision using magnification see only part of the screen and rely on finding links in the same place. Screen reader and keyboard users learn where items sit in the reading order. People with cognitive disabilities find a predictable layout easier to use.

How to meet it

Examples

Fails:The same menu items appear in a different order on two pages
<!-- Home page -->
<nav aria-label="Main">
  <a href="/">Home</a> <a href="/products">Products</a>
  <a href="/pricing">Pricing</a> <a href="/contact">Contact</a>
</nav>
<!-- Pricing page -->
<nav aria-label="Main">
  <a href="/pricing">Pricing</a> <a href="/">Home</a>
  <a href="/contact">Contact</a> <a href="/products">Products</a>
</nav>
Passes:A submenu is added on one page, but the shared items keep their order
<!-- Products page -->
<nav aria-label="Main">
  <a href="/">Home</a> <a href="/products" aria-current="page">Products</a>
  <a href="/pricing">Pricing</a> <a href="/contact">Contact</a>
</nav>
<nav aria-label="Products">
  <a href="/products/web">Web</a> <a href="/products/mobile">Mobile</a>
</nav>

Can a scanner detect this?

No

axe-core checks one page at a time, so it cannot compare navigation across pages. A person must visit several pages and check that repeated navigation keeps the same order in both the layout and the reading order.

No automated rule tests this criterion. Check it by hand.

Common mistakes

Official W3C explanation of 3.2.3

Check your own page

See which automated WCAG checks your page fails, with the failing elements and how to fix them.

Enter a page address, for example example.com/shop.

Reviewed November 2, 2026