How to build an accessible Switcher in React
role="list" structures the entries; each switch target is a real link with the active destination marked, so keyboard and screen-reader users can identify and reach the current app
When to use a Switcher
- Listing sibling apps/products the user can switch between
- Rendering switch destinations inside a HeaderPanel opened from the shell header
- Grouping switch targets with dividers and marking the active one
When not to use it
- Primary in-app navigation — use SideNav
- A small action menu attached to a control — use Dropdown
Keyboard interactions
Role list, verified at WCAG 2.2-AA.
TabEnter
Common mistakes
Avoid: Using Switcher as the main page navigation
Prefer: <SideNav> for primary navigation; Switcher only for app/product switching
Switcher models cross-app jumps, not navigation within the current app
Example
<Switcher
items={[
{ label: 'Console', href: '/console', active: true },
{ label: 'Billing', href: '/billing' },
{ divider: true },
{ label: 'Docs', href: 'https://docs.example.com' },
]}
/>