Breadcrumb component overview
When to use
Use breadcrumbs when
- Navigating large content hierarchies with more than two levels
- Users need compact context for where they are in the navigation hierarchy
- Users need to move back through parent levels from the current page
Do not use breadcrumbs when
- They would substitute the primary navigation
- The product has single-level navigation and breadcrumbs would add unnecessary clutter
- The user is in a multistep process; use a progress indicator instead
Anatomy
Breadcrumb component anatomy
Design guidelines
Placement
Breadcrumbs should appear near the top of the page, above the page title or directly below the page header.Label and icon
States
All parent breadcrumb items share the same brand primary color. Each interactive state provides a distinct visual cue:Sizing and spacing
Breadcrumb items use consistent internal padding and separator spacing controlled by CSS custom properties. You can adjust these tokens when integrating the breadcrumb into a custom page header:--bq-breadcrumb-item--paddingY— vertical padding of each item--bq-breadcrumb-item--padding-start/--bq-breadcrumb-item--padding-end— horizontal padding of each item--bq-breadcrumb-item--padding-start-separator/--bq-breadcrumb-item--padding-end-separator— spacing around the separator
Truncation
Show a maximum of four items in the breadcrumb trail. When the path is deeper, keep the first (root) and last (current page) items visible and collapse the intermediate levels into a dropdown so users can still reach any level.
Usage
The examples below cover the most common ways to use breadcrumbs in BEEQ.Default
Use a default breadcrumb to show the current page within a hierarchy. Whenhref is not set, each breadcrumb item renders as a button.
Always place
bq-breadcrumb-item elements directly inside bq-breadcrumb. Items rendered outside the component will not receive separator or aria-current handling.Custom separator
Use theseparator slot to replace the default / separator.
Use the same separator throughout a breadcrumb trail. Mixing separator styles in a single trail breaks visual consistency.
Options
The following example shows how to combine icons with breadcrumb items.With icons
Icons next to labels help users recognize categories at a glance. Usesize="16" icons and always pair them with a text label or aria-label for screen reader clarity.
Best practices
DoFor breadcrumbs on detail pages, include the page type (Create, Edit, View) followed by the item name.
Don’tAvoid indicating the item number or using dynamically generated names without context.
DoTruncate labels longer than 30 characters with an ellipsis and show the full text in a tooltip on hover.
Don’tDisplay overly long labels that wrap or truncate without a way to view the complete text.
DoShow a maximum of four items in the breadcrumb trail. For longer paths, truncate and show the first and last items.
Don’tDisplay more than four items in a single breadcrumb trail, as it overloads the visual and reduces usability.
DoMake all parent breadcrumb items clickable links, including the current page as the last non-interactive item.
Don’tDisplay the current page as a clickable link; it should be non-interactive text to reflect the user’s current location.
Accessibility
- Navigation — navigate to each link in the breadcrumb using Tab and activate it with Enter.
- Landmark label — use the
labelprop to set anaria-labelon the<nav>landmark. The default value isBreadcrumbs; override it when multiple navigation regions exist on the same page. - Current page — the last breadcrumb item receives
aria-current="page"automatically. - Icon-only items — when a breadcrumb item contains only an icon, set
aria-labelon thebq-breadcrumb-itemto describe the destination (e.g.aria-label="Home page"). - Decorative icons — when an icon appears alongside a visible text label, set
aria-hidden="true"on thebq-iconso screen readers do not announce it twice.
API reference
bq-breadcrumb properties
bq-breadcrumb-item properties
Events
Events are emitted bybq-breadcrumb-item.
Slots
bq-breadcrumb
bq-breadcrumb-item
CSS parts
bq-breadcrumb
bq-breadcrumb-item
CSS custom properties
Resources
Interactive playground
Explore all breadcrumb configurations in Storybook
Source code
View the breadcrumb implementation on GitHub