Named breadcrumb navigation.
Primitive contract
Breadcrumb
Provides a landmark and ordered route trail with decorative separators and an unlinked current page.
Current-location navigation trail · @sanchika/primitivesPurpose and semantics
Provides a landmark and ordered route trail with decorative separators and an unlinked current page.
Recommended semantic: Use nav with an accessible label containing an ordered list; mark the current item aria-current=page and normally do not link it.
Anatomy
Hierarchy order.
Route label or link.
Decorative assistive-hidden marker.
Unlinked current location.
Finite variants and important states
- Required states
- default, long-label, current-page
- Class hooks
.sk-breadcrumb · .sk-breadcrumb__list · .sk-breadcrumb__item · .sk-breadcrumb__separator
Composed synthetic exemplar
Rendered state matrix
Breadcrumb: 3 required states
Each specimen starts from the package-owned example and contract state inventory. Simulated pointer and focus frames are labelled; consumers still verify real interaction in context.
Accessibility and consumer responsibility
- Links keep native keyboard behavior
- Current page is not a redundant focus target
- Name the landmark
- Use ordered list
- Hide separators
- Expose current page
- Provide correct route hierarchy
- Keep current page unlinked
- Own canonical and structured-data logic
- Trail wraps safely; visual truncation preserves full accessible name
No override is required.
- Links and current-page text remain distinguishable
Compact API reference
- Package
@sanchika/primitives- CSS
@sanchika/primitives/styles.css- Contract
primitiveSpecs.find((contract) => contract.name === "Breadcrumb")- Primary class
.sk-breadcrumb