Code examples
Use semantic HTML
This semantic HTML contains all accessibility features by default.
<nav id="nav-example" class="example-popover-list" tabindex="-1">
<ol class="level-1">
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/contact/">Contact</a></li>
<li><button class="menu">Sign in</button></li>
</ol>
</nav>
Multiple navigation elements
When there is more than one navigation element, each must have a name.
<nav id="nav" aria-label="Main">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/contact/">Contact</a></li>
</ul>
</nav>
<h2>Categories</h2>
<nav aria-label="Categories">
<ul>
<li><a href="/alpha/">Alpha</a></li>
<li><a href="/bravo/">Bravo</a></li>
<li><a href="/charlie/">Charlie</a></li>
</ul>
</nav>
<footer>
<nav aria-label="Site map">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/contact/">Contact</a></li>
</ul>
</nav>
</footer>
When you can’t use semantic HTML
This custom navigation requires extra attributes.
<div role="navigation">
<ul>
<li><a href="/">Website name</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/contact/">Contact</a></li>
</ul>
</div>