Horizontal
Default orientation — flex row of links.
Link list for navbar chrome or standalone navigation — not a tablist. Use Tabs for panel switching.
Live
Default orientation — flex row of links.
.ui-nav--vertical / React orientation="vertical".
.is-active, aria-current="page" (or
"location" for in-page sections), and
data-active (React active sets
page).
<nav> landmark with a required
aria-label (especially when multiple navs exist on a page).
aria-current="page" on the active link —
not a tablist pattern. For section-in-view highlighting, use
aria-current="location" (styled the same) or prefer
Scrollspy.
ul → li → a for list semantics.
| Class | Description |
|---|---|
.ui-nav |
Root navigation landmark. |
.ui-nav--vertical |
Stacked (column) link list. |
.ui-nav__list |
Unordered list of items. |
.ui-nav__item |
List item wrapper. |
.ui-nav__link |
Anchor styled as a nav link. |
.is-active |
Current visual state on the link. Also applied when
aria-current is page or location.
|
From src/core/Nav.tsx — compound
Nav / NavItem / NavLink.
| Prop | Type | Default | Description |
|---|---|---|---|
aria-label |
string |
— | Required accessible name for the nav landmark. |
orientation |
'horizontal' | 'vertical' |
'horizontal' |
Layout direction; vertical adds .ui-nav--vertical. |
NavLink active |
boolean |
false |
Sets aria-current="page", data-active, and
.is-active. Hosts may set
aria-current="location" for in-page sections — CSS and the
active track treat it like page.
|
className |
string |
— | Merged via cx onto the root of each part. |