Navigation trail that shows the user’s location in a hierarchy. Supports linked intermediate items, a non-clickable current item with aria-current="page", and glassy context for overlays.
Context = Physical placement in the layout (standard
page vs. glassy overlay/hero).
Theme = Site-wide user preference (light/dark mode
toggle 🌙).
Below previews show each breadcrumb in both contexts. Use the 🌙 toggle (top-right) to test how breadcrumbs look in both themes. Breadcrumbs should work correctly in all 4 combinations: Light+Standard, Light+Glassy, Dark+Standard, Dark+Glassy.
Standard breadcrumb trail with linked ancestors and a non-clickable current page. Use for signed-in pages and structured admin areas.
Use on light surfaces (cards, content containers, dialogs)
<nav class="ui-breadcrumb" aria-label="Breadcrumb">
<ol class="ui-breadcrumb-list">
<li class="ui-breadcrumb-item">
<a href="/pl/admin" class="ui-breadcrumb-link">Dashboard</a>
<svg class="ui-breadcrumb-sep" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" />
</svg>
</li>
<li class="ui-breadcrumb-item">
<!-- Focus-visible demo for documentation -->
<a href="/pl/admin/dictionaries" class="ui-breadcrumb-link is-focus-visible">Dictionaries</a>
<svg class="ui-breadcrumb-sep" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" />
</svg>
</li>
<li class="ui-breadcrumb-item">
<span class="ui-breadcrumb-current" aria-current="page">User Roles</span>
</li>
</ol>
</nav>
Use on dark overlays and glass panels (signed-in shell)
<nav class="ui-breadcrumb is-glassy" aria-label="Breadcrumb">
<ol class="ui-breadcrumb-list">
<li class="ui-breadcrumb-item">
<a href="/pl/admin" class="ui-breadcrumb-link">Dashboard</a>
<svg class="ui-breadcrumb-sep" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" />
</svg>
</li>
<li class="ui-breadcrumb-item">
<a href="/pl/admin/dictionaries" class="ui-breadcrumb-link">Dictionaries</a>
<svg class="ui-breadcrumb-sep" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" />
</svg>
</li>
<li class="ui-breadcrumb-item">
<span class="ui-breadcrumb-current" aria-current="page">User Roles</span>
</li>
</ol>
</nav>
aria-current="page"
on the current item
is-glassy in glassy containersis-focus-visible only to demonstrate focus in docsis-focus-visible in production markup
Breadcrumb styles live in
/assets/css/breadcrumb.css.
Do not re-style breadcrumb links locally. If you need new behavior or variants,
extend the Design System component instead of overriding in page CSS.
All breadcrumb styles are defined in:
/assets/css/breadcrumb.css
Imported by: /assets/css/ui-system.css
Includes: Base breadcrumb layout, list+item structure, focus-visible styling, glassy context colors, separator styling, icon sizing, and truncation helpers.