Skip to content

Tabs

Tabbed panels with keyboard navigation between tabs.

Browsers
Chrome 123+Firefox 121+Safari 17.5+
Tier
0
Bundle compressed
897 B
Forced layout budget
0 ms
Axe budget
0
SSR compatible
Yes
Built on
elements/choice
Published contract
Test harness

Playground

Tabs

Automatic

Monthly revenueUpdated just now
$12,480
Recent activity12 new events this week
Workspace settingsManage members and preferences

Manual

Monthly revenueUpdated just now
$12,480
Recent activity12 new events this week
Workspace settingsManage members and preferences

API

Tabs

PropTypeDefaultDescription
id*string—Base id used to name the radio group and to link each tab to its panel.
items*TabsItem[]—Tabs to render, each with a value, a label and an optional panel rendered when that tab is selected.
defaultValuestring—Value of the tab checked in the server-rendered markup, so the initial tab is selected before any JavaScript runs.
orientation"horizontal" | "vertical""horizontal"Direction the tab bar is laid out in.
classNamestring—Class applied to the root element.
appendReactNode—Content rendered at the end of the tab bar, after the tabs.

Keyboard

KeyAction
← / →Move between tabs (horizontal)
Home / EndFirst / last tab
Space / EnterActivate tab

Accessibility

Tablist + native radio inputs or roving tabindex pattern when enhanced.

Styling hooks

data-state