Explore behaviors before defining the interface.
Quick guide for designers
Always consider the context of the application, even when the guidance follows a standard pattern. Interaction design documents intent. Behavior must be verified in the implementation.
When to use
Use for persistent access to the interface’s main areas. Define whether items navigate to destinations or switch panels.
What to draw
Show short labels, the current area, focus, and counts when present. The bar must not cover content or controls.
How it behaves
For web destinations, Tab moves through links and Enter navigates. For panels, use the tabs pattern with arrows and manual or automatic activation according to context.
What to document in Figma
Record the chosen pattern, destinations, selection, and focus after changes. Preserve progress and respect safe areas and the virtual keyboard.
How to review
Check whether the purpose and states are clear on small and large screens and with zoom. Verify documented behavior in the implementation, including keyboard and screen reader use where applicable.
Full guidance
Interaction Design
Questions to ask when designing a Tabbar: a persistent bar providing access to an interface's main areas.
Define whether items navigate between destinations or switch content panels. This choice determines semantics, keyboard navigation, and focus management.
Designing for "no interaction"
- Do main destinations have short, understandable labels in addition to icons?
- Can you identify the current area without relying solely on color?
- Do order and destinations remain consistent across interface areas?
- Does the item count allow each destination to be recognized and reached without truncated labels?
Designing for mouse use
- Does each item provide a clear click area and interaction feedback?
- Does the chosen item lead to the expected destination without confusing navigation with actions such as save or delete?
Designing for gesture use
- Does the touch area allow selecting a destination without activating a neighboring item?
- Does the bar respect device safe areas and avoid covering content, focus, or controls?
- Does the interface remain usable with zoom, rotation, and the virtual keyboard?
Designing for keyboard use
- Is focus visible and does its order follow item presentation?
- Does navigation use native links or a tab set with commands consistent with the chosen behavior?
- After changing destinations, do focus and feedback allow the task to continue?
Designing for screen reader use
- Does the bar have a name identifying its purpose?
- Does each item communicate its name and the current destination or selected tab?
- Are badges, such as new item counts, understandable without relying solely on appearance?
Interaction methods
Mouse interaction
- Clicking an item opens the corresponding destination and updates the current area indicator.
- In the link pattern, preserve native behaviors such as opening a destination in another tab.
- When selecting the current area, avoid unexpected reloads or resets; additional behaviors need to be predictable and documented.
Gesture interaction
- Tapping an item provides access to its corresponding area.
- The selection indicator updates and the bar remains consistent across destinations.
- Additional gestures may supplement navigation while keeping each destination available through an explicit control.
Keyboard interaction — navigation between destinations
- In a web Tabbar that navigates between pages or routes,
TabandShift + Tabmove through links in interface order. Enteractivates the focused link. Do not requireSpacefor links or intercept arrow keys as though they were tabs.- When changing routes without reloading the page, update the title and position focus at a logical destination, such as the heading or start of content.
Keyboard interaction — panel switching
- When the component actually switches panels on the same page, apply the tabs pattern:
Tabenters through the selected tab and then leaves the set for the next element in the sequence. Right ArrowandLeft Arrowmove focus between horizontal tabs, including wrapping from last to first and vice versa.- With manual activation,
EnterorSpacedisplays the focused tab's panel. Automatic activation is appropriate only when the panel appears without noticeable delay. HomeandEndmay move focus to the first and last tabs. This behavior is optional and should be consistent.- Update
aria-selectedand the panel association; focus remains on the tab after selection, andTaballows moving on to the content.
Keyboard (or gesture) interaction + screen reader
- For web navigation between destinations, identify the navigation region, each link's name, and the current area through
aria-current="page". - For panel switching, identify the set as
tablist, each control as a tab, and the panel astabpanel, with appropriate labels and associations. - In native applications, use the semantics and commands provided by the platform for the bar and its items.
- With a mobile screen reader, navigate items using platform gestures and double-tap or use the activation gesture to open the destination.
Gherkin
BDD (Behavior-Driven Development) methodology focusing on three pillars: User Stories, Acceptance Criteria, and Gherkin Syntax (Given, When, Then).
Scenario: Given that I am on a page or application containing a Tabbar
Keyboard navigation — destinations
- WHEN I use
Tabkey to move focus to a Tabbar link - The focus I SEE is strongly indicated visually
- THEN, when I use
Enterto activate the link - I SEE the corresponding area and the current destination indicator updated
- AND I perceive that focus allows continued navigation in the new content
- WHEN I use
TaborShift + Tab, I SEE that I can move through links without trapping focus in the bar
Desktop screen reader
- WHEN I use a screen reader on a computer (NVDA, JAWS, VoiceOver) and use
Tabto focus a navigation item - I HEAR the destination name, identification as a link or equivalent native control, and the current area indication when applicable
- THEN, when I activate the item with the appropriate platform command
- I HEAR or perceive that the corresponding area opened and I can continue navigating the content
Mobile screen reader
- WHEN I use a screen reader on a phone (TalkBack, VoiceOver) and swipe to focus a navigation item
- I HEAR the destination name, identification as a link or equivalent native control, and the current area indication when applicable
- THEN, when I double-tap or use the appropriate gesture
- I HEAR or perceive that the corresponding area opened and I can continue navigating the content
Panel switching on the same page
- WHEN the Tabbar is implemented as a tab set and I use
Tabto enter the set - I SEE focus reach the selected tab
- THEN, when I use
Right ArroworLeft Arrow - I SEE focus move between tabs
- AND, with manual activation, when I use
EnterorSpace, I SEE the corresponding panel - WHEN I use a screen reader, I HEAR the tab name and its updated selected state
- AND I can move on to the panel content with
Tab
Mouse or touch interaction
- WHEN I click or tap an item in the bar
- I SEE the corresponding area and current area indicator
- AND I SEE that the bar does not cover content or controls needed to continue the task
Considerations
- Navigation Tabbars and content tabs may look similar but behave differently. Do not use tablist merely because links are aligned in a bar.
- On the web, use links for navigable destinations and
aria-current="page"for the current one. Use the tabs pattern andaria-selectedwhen switching panels on the same page. - Keep the number of main destinations small. The count and position should follow the context and the chosen platform's recommendations.
- Do not use the bar for isolated actions such as saving, deleting, or submitting a form.
- Keep labels visible whenever possible. If only icons are used, provide accessible names and assess whether their purpose is recognizable. Prefer Material Icons in web examples.
- Hide decorative icons from assistive technologies. Informative counts and badges need accessible meaning and should avoid duplicate announcements.
- Do not rely solely on color to indicate the current destination; combine text with a perceptible visual indicator.
- If the bar is fixed, reserve space in the content and respect platform safe areas. Check focus, zoom, and the virtual keyboard.
- Route changes need to update title, focus, and navigation history according to the flow. Avoid clearing data or progress when switching areas.
- Native Apple and Material patterns use their platforms' own resources. Adapt web examples to the component's purpose and verify behavior with assistive technologies.
References
Design patterns
- Apple — Tab bars open_in_new (external link, opens in a new tab) — Guidance on navigation bars in Apple interfaces.
- W3C WAI-ARIA APG — Tabs Pattern open_in_new (external link, opens in a new tab) — Reference for the variation that switches panels on the same page.
Design System
- Material Design 3 — Navigation bar open_in_new (external link, opens in a new tab) — Navigation bar between main destinations.
- Bootstrap — Navs and tabs open_in_new (external link, opens in a new tab) — Web navigation and tab examples; choose semantics according to purpose.