OGE logoOGE

Breadcrumb

The WAI-ARIA APG breadcrumb: a <nav> landmark holding an ordered list of links, the current page carrying aria-current="page". The APG defines no keyboard behavior for a breadcrumb — crumbs are plain links in the Tab order, so no roving tabindex is invented here. (Neither DevExtreme nor Angular Material/CDK ships a breadcrumb at all; the parity references are Kendo and PrimeNG.)

When the container runs out of room the oldest middle crumbs collapse first — the first and last crumb always stay visible — and unlike the references the collapsed crumbs stay reachable: the ellipsis opens them as real links. The fitting arithmetic is core's pure fitToolbarItems, measured against the breadcrumb's own box, never the window.

APG breadcrumb aria-current container-width collapse

Getting started

One flat items trail. url crumbs are real links (middle-click and copy-address work; preventDefault() in itemClick hands navigation to a router), the last crumb is never interactive and disabled crumbs stay visible but inert.

items itemClick aria-current

Last click: —

Declarative items

Both APIs, one rule: declarative children render first, then the items input — the house merge order shared across the suite.

oge-breadcrumb-item children first

Collapse modes

auto (default) collapses against the breadcrumb's own container; the ellipsis menu keeps the hidden crumbs reachable as real links. wrap breaks onto rows and none keeps one scrollable row. Drag the range to squeeze it.

collapseMode container width ellipsis menu

Templates

The item template replaces the crumb's interior only — link/current/disabled semantics stay with the component. The separator template renders aria-hidden: a separator is decoration, never content.

ogeBreadcrumbItemTemplate ogeBreadcrumbSeparatorTemplate

Configuration

Suite-wide defaults for collapseMode plus every user-facing string — the nav landmark's label and the ellipsis button's label — via provideOgeBreadcrumbConfig(), overridable per instance with [messages].

provideOgeBreadcrumbConfig messages