Theme studio

Design a theme, preview it live, then export it. Saved in this browser.

Quick picks #10b981
Generated scale
50100200300400500600700800900
Some text is below AA

Breadcrumb

  • Stable
  • WCAG 2.2 evidence
  • RTL

Shows where the current page sits in the hierarchy and links back to each level. It renders a nav landmark named "Breadcrumb" (translatable) around a React Aria Breadcrumbs ordered list; the last BreadcrumbItem is the current page (aria-current="page"), the others are links in the tab order (WCAG 1.3.1, 2.4.1, 2.4.5, 4.1.2). With maxVisible, long trails collapse their middle levels into an ellipsis menu that keeps every level's name and link. The trail wraps onto further lines on narrow screens (1.4.10); separators mirror in right-to-left layouts. Figma advises against breadcrumbs in flat apps and on mobile, where the top app bar's back button is used instead. Consumer duties: level names that match the page titles, and distinct landmark names when a page has several nav elements.

import { Breadcrumb } from "@nexera-ui/react";
Loading example…
5
examples
8
props
3
live controls
1
platform
10
WCAG criteria
2
blocks use it

Try every prop. Copy the code.

Change the props and the code updates. Check light and dark, LTR and RTL, and phone width.

Loading…
children
separator
isDisabled
Generated code
import { Breadcrumb } from "@nexera-ui/react";

<Breadcrumb />

Examples 4

The same examples as Storybook, rendered live. Open Code to copy one.

Separators and lengths

Figma Separator: chevron or slash, and Length=4 levels.

Loading example…

Collapsed

Figma Length=Collapsed: with maxVisible={4} a longer trail keeps Home and the last two levels and puts the middle levels in the ellipsis menu (press it, or focus it and press Enter).

Loading example…

Long trail

A long trail wraps onto a second line instead of overflowing; long level names wrap too.

Loading example…

Right to left

Right-to-left: the trail starts at the right and the separators point left.

Loading example…

Props 8

Press "Try it" on a card to load that prop into the playground.

8 props shown

children*Nexera
ReactNode

The levels, from the root to the current page: BreadcrumbItem elements. The last one is the current page.

Default –
separatorNexera
"chevron" | "slash"

Separator between levels: a chevron (Icon/LuChevronRight) or a slash. Both mirror in right-to-left layouts.

Default chevron
maxVisibleNexera
number

Maximum number of entries to show. When the trail is longer, the first level, an ellipsis menu with the hidden middle levels and the last maxVisible - 2 levels are shown. At least 3. Without it every level is shown and the trail wraps.

Default –
collapsedLabelNexera
string

Accessible name of the ellipsis button that opens the hidden levels. Translate it.

Default Show hidden levels
isDisabledNexera
boolean

Disables every link of the trail.

Default –
onActionNexera
(key: Key) => void

Called with a level's id when a level without href is pressed (for apps that navigate in code).

Default –
aria-labelNexera
string

Accessible name of the nav landmark. Name each trail when a page has several navigation landmarks. Translate it.

Default Breadcrumb
aria-labelledbyNexera
string

Id(s) of visible element(s) that name the landmark; wins over aria-label.

Default –

* Required. React Aria props shown are the ones most apps use; the component accepts the rest of its React Aria props too.

Accessible by default.

Built on React Aria, and covered by the WCAG 2.2 evidence generated on every build.

WCAG 2.2 evidence

7 direct · 3 supporting
  • 1.1.1Non-text ContentLevel A · tested directly
  • 1.3.1Info and RelationshipsLevel A · tested directly
  • 1.3.2Meaningful SequenceLevel A · supporting test
  • 1.4.10ReflowLevel AA · supporting test
  • 1.4.12Text SpacingLevel AA · supporting test
  • 2.1.1KeyboardLevel A · tested directly
  • 2.4.1Bypass BlocksLevel A · tested directly
  • 2.4.3Focus OrderLevel A · tested directly
  • 2.4.4Link Purpose (In Context)Level A · tested directly
  • 4.1.2Name, Role, ValueLevel A · tested directly

Fits any width.

Nexera components respond to the space they are given. Drag the corner of the frame, or pick a width.

0 px · drag the corner

Styling hooks

Pass className to add Tailwind classes (merged last). State is exposed as data attributes, so you can style it with variants like data-pressed:.

Usage
<Breadcrumb className="shadow-sm" />

Used in blocks

Related components