Service Navigation
Use service navigation to help users navigate between different sections of a complex service. It appears below the main header.
When to Use
- When a service has multiple distinct sections
- When users need to move between sections non-linearly
- For account dashboards with multiple features
When Not to Use
- For simple linear services - use the back link instead
- For site-wide navigation - use the main header navigation
- When there are only 2-3 pages - consider a simpler approach
Default Service Navigation
<nav class="service-navigation" aria-label="Service">
<ul class="service-navigation-list">
<li class="service-navigation-item">
<a href="#" class="service-navigation-link" aria-current="page">Dashboard</a>
</li>
<li class="service-navigation-item">
<a href="#" class="service-navigation-link">Applications</a>
</li>
<li class="service-navigation-item">
<a href="#" class="service-navigation-link">Messages</a>
</li>
<li class="service-navigation-item">
<a href="#" class="service-navigation-link">Settings</a>
</li>
</ul>
</nav>With Service Name
<nav class="service-navigation" aria-label="Service">
<div class="service-navigation-inner">
<span class="service-navigation-name">Tax Account</span>
<ul class="service-navigation-list">
<!-- Navigation items -->
</ul>
</div>
</nav>With Notification Badge
<a href="#" class="service-navigation-link">
Messages
<span class="service-navigation-badge">3</span>
<span class="visually-hidden">unread messages</span>
</a>Mobile Behaviour
On smaller screens, the navigation can scroll horizontally or collapse into a dropdown menu.
Accessibility
- Use
aria-label="Service"to distinguish from other navigation - Mark the current page with
aria-current="page" - Notification badges should include visually hidden text for screen readers
- Ensure sufficient touch targets on mobile (at least 44x44 pixels)
Placement
Place service navigation directly below the main site header, above the page content.
<header class="header">
<!-- Main header content -->
</header>
<nav class="service-navigation" aria-label="Service">
<!-- Service navigation -->
</nav>
<main>
<!-- Page content -->
</main>