Tabs
Tabs use labels to switch content in one shared panel. The main task stays open.
A real example
Overview, Activity, and Permissions change the panel below while the same project stays open.
Main parts
- 01Current location
- 02Destination labels
- 03Focus order
- 04Responsive behavior
Use it when
Use tabs for a few sections at the same level when their labels should stay visible.
Do not use it when
Never use tabs as small links to pages that have nothing to do with each other.
Name used in code
role="tablist" Before you ship
Before release, check the page structure, keyboard access, visible focus, contrast, and zoom. Also check loading, empty, error, success, cancel, and reduced-motion states.
Outcome: Use Tabs to solve this user need without losing the current context. User context: Overview, Activity, and Permissions change the panel below while the same project stays open. Recommended pattern: Tabs. Why it fits: Use tabs for a few sections at the same level when their labels should stay visible. Do not use it when: Never use tabs as small links to pages that have nothing to do with each other. Product requirements: Define the default, loading, empty, error, success, and recovery states. Keep user input. Give clear feedback after every action. Accessibility and resilience: Use semantic HTML, full keyboard access, and visible focus. Make the layout work when zoomed and support reduced motion. Follow the project’s current rules. Do not add a new UI library unless the project already uses it. Acceptance criteria: The main task works with keyboard only and at 320px width. Focus and status changes are announced. Check loading, failure, retry, cancel, and reduced-motion paths. Evidence and limits (evidence boundary): It is official for that source. Other platforms or teams may use the term in another way. Unknowns to confirm: Product wording, data source, analytics events, supported devices and languages, and platform limits.
Check this request
Review the current use of Tabs. Definition: Tabs use labels to switch content in one shared panel. The main task stays open. Release checks: Before release, check the page structure, keyboard access, visible focus, contrast, and zoom. Also check loading, empty, error, success, cancel, and reduced-motion states. Before changing code, report the evidence you found, gaps, severity, and the smallest safe fix.