Accessible Navigation Menu
Creates a semantic navigation menu with proper ARIA attributes, keyboard navigation, current page indication, and responsive hamburger toggle.
Code
<nav aria-label="Primary navigation">
<button class="menu-toggle"
aria-expanded="false"
aria-controls="main-menu"
aria-label="Toggle navigation menu">
<span class="hamburger"></span>
</button>
<ul id="main-menu" class="menu" role="menubar">
<li role="none">
<a href="/" role="menuitem" aria-current="page">Home</a>
</li>
<li role="none">
<a href="/products" role="menuitem">Products</a>
</li>
<li role="none">
<a href="/about" role="menuitem">About</a>
</li>
<li role="none">
<a href="/blog" role="menuitem">Blog</a>
</li>
<li role="none">
<a href="/contact" role="menuitem">Contact</a>
</li>
</ul>
</nav>
<nav aria-label="Breadcrumb">
<ol class="breadcrumb">
<li><a href="/">Home</a></li>
<li><a href="/products">Products</a></li>
<li aria-current="page">Details</li>
</ol>
</nav>
<style>
.menu { list-style: none; display: flex; gap: 1rem; }
.menu a { text-decoration: none; padding: 0.5rem 1rem; }
.menu a[aria-current="page"] { font-weight: bold; border-bottom: 2px solid currentColor; }
.breadcrumb { list-style: none; display: flex; gap: 0.5rem; }
.breadcrumb li:not(:last-child)::after { content: " > "; }
</style>Report a problem with this exampleOpens a pre-filled issue on GitHub.