Tabs
Layered content sections selected by a tab list, with roving-tabindex keyboard navigation (ARIA APG tabs pattern). Where tabs are closeable, closing one is undoable: Ctrl/Cmd+Z reopens it with its selection.
- Axe
- Name
- Roving
- Focus
- Undo
- Restore
Preview
Account settings.
Password settings.
Display settings.
Installation
npx shadcn@latest add https://ui.publictheta.com/r/tabs.jsonConformance
Verified against the @publictheta/ui-spec tabs specification on both the React and vanilla reference implementations, across Chromium, Firefox, and WebKit.
- Axe — No WCAG 2 A/AA axe-core violations
- Name — The widget container exposes an accessible name
- Roving — Exactly one tab stop; Arrow keys move within the widget
- Focus — A visible focus indicator appears on keyboard focus (WCAG 2.4.7)
- Undo — What it destroys or moves comes back: Cmd/Ctrl+Z takes the last change back and announces it, Cmd/Ctrl+Shift+Z does it again, and a run of like changes is one step
- Restore — What the user set is still there after a reload — the pane size, the column widths, the open section, the active tab, the scroll position — but only where the host opted in, and never at the cost of working when storage is unavailable
See the full conformance matrix across all components.