Tabs
Tabs
Switch between related content panels. Horizontal tabs remain common even in vertical reading contexts.
$ npx verticallyworks add tabsDo horizontal tabs still make sense when the primary reading axis is vertical?
DecisionTabs present a list of switchable views. In vertical interfaces, keeping tabs horizontal creates a clear horizontal/vertical semantic split: navigation = horizontal, reading = vertical.
Default
The tabs run as a vertical rail on the right (leading) edge · each label set vertically · with the active tab marked by a bar on its content-facing edge. Categories live on the same axis as the reading.
Source
The exact file npx verticallyworks add tabs copies into your project · yours to edit. Styling comes entirely from the design tokens.
Guidance
- Keep tabs horizontal · the horizontal axis separates content categories from reading content
- Limit labels to 3 CJK characters or a short word
- Place tab panel content in the vertical reading layout that follows
- Stack tabs vertically without differentiating them from the rail
- Use tabs for sequential content (use pagination or chapter navigation instead)
- Add icons to tabs if labels are already short CJK characters
Accessibility
role='tablist'. Each tab is role='tab'. Each panel is role='tabpanel'. Arrow keys navigate between tabs.
When tabs control vertical content panels, should tab keyboard navigation (left/right) feel directionally mismatched with the content (up/down)?