Navigation
Navigation patterns define how users move through your application. A clear, consistent navigation structure reduces confusion and helps users find what they need quickly. This pattern covers app shells, mobile adaptation, and deep linking.
Components used
Anatomy
Best practices
App shell
Header at the top (56px height, sticky). Sidebar on the left (240–280px, sticky, scrollable). Main content fills the remaining space. The sidebar is the primary navigation; the header provides global actions and branding.
Mobile adaptation
On mobile (below 1024px), collapse the sidebar into a hamburger overlay. Replace sidebar navigation with a Bottom Nav showing the 3–5 most important destinations. The Command Menu (⌘K) remains available via a search icon in the header.
Breadcrumbs
Show on all nested pages to provide location context. Format: Home > Section > Page. On mobile, truncate middle segments with an ellipsis or show only the parent. Always include a link back to the parent level.
Tabs vs Segmented Control
Use Tabs for switching between content panels (Overview, Activity, Settings). Use Segmented Control for switching views or display modes (Grid/List, Monthly/Annual). Tabs are for content; Segmented Control is for views.
Command Menu
⌘K (Ctrl+K on Windows) should always be available as a quick navigation shortcut. Group results by category: pages, components, actions, settings. Show recent items first. Filter as the user types.
Skip Link
Always include a Skip Link as the first focusable element on every page. It should be visible only on focus and link to #main-content. This is essential for keyboard users and required by WCAG 2.4.1 (Bypass Blocks).