<nav> and ordered lists.
Basic Usage
Use a semantic breadcrumb<nav> with an ordered list and aria-current="page" for the active item.
Structure
Classes Used
Removes default list styling and link underlines
Creates a horizontal stack layout with appropriate spacing
Accessibility
ARIA Label
ARIA Label
The
aria-label="Breadcrumb" on the <nav> element helps screen readers identify the navigation type.Current Page
Current Page
Use
aria-current="page" on the last link to indicate the current page location. This is more semantic than using aria-disabled or removing the link.Separator Visibility
Separator Visibility
Separators use
aria-hidden="true" so screen readers don’t announce them, providing a cleaner experience.Ordered List
Ordered List
Using
<ol> instead of <ul> better represents the hierarchical nature of breadcrumbs.Custom Separators
You can use different separator characters or icons:Styling
The breadcrumb uses utility classes and CSS custom properties:Best Practices
Keep it Simple
Don’t include too many levels - typically 3-5 levels max
Make Links Clear
Each breadcrumb should clearly indicate what page it links to
Current Page Optional
You can make the current page a non-clickable
<span> instead of a linkMobile Friendly
Consider showing only the parent page on mobile to save space