Skip to content
SkillCodex
Menu

Breadcrumbs

Breadcrumbs

An ordered trail of links to ancestors of the current page that exposes its place in a site hierarchy.

Try the component
Context, sources and actions
Sources and revision
Updated
Version
v1.0.26 · r1
Sources
6 sources
Status
Published
Read the sources

You may have searched for: show where I am in the sitea path from home to this pagelinks to each parent section

All phrasings
Save and share

Recognize

Orient within a journey

Try it

Should this locate the page in a hierarchy, move across result pages, or show a process stage?

Breadcrumbs

Shared trial context

A person needs to understand where they are and what kind of movement is available without confusing site hierarchy, result pages, and process stages.

Breadcrumbs

Mission

Breadcrumbs

Focus the Settings ancestor, activate it, and verify the destination replaces the current Billing location.

Destination: Billing

The trail describes hierarchy, never browser history.

Live result

Billing is current; the three preceding items are links to its ancestors.

Step 1 of 3

Try

Try the component. Your live result appears just above. Move on at your own pace.

Behavior and edge case
What to observe
Current Billing is exposed separately from the ancestor links.
Edge case
Long localized labels wrap or collapse without turning separators into controls or losing accessible names.

What this example shows

Breadcrumbs expose the current page’s ancestry; Pagination moves among quantity-split peer pages, while Stepper tracks meaningful process stages.

Which fits your need?

Breadcrumbs

Pages belong to a hierarchy several levels deep

Pagination

Search results or collections need stable shareable pages

Which component will you use here?
Difference and sources

Breadcrumbs expose the current page’s ancestry; Pagination moves among quantity-split peer pages, while Stepper tracks meaningful process stages.

Read the sources

    Parts of the specimen

    Select a numbered marker on the schematic, or use the list below, to see its role. The schematic shows the concept's representative state.

    Trail

    The ordered sequence that communicates the surrounding hierarchy.

    Position in the atlas

    Relationship map

    Locate the chapter, neighboring concepts, and the next useful decision.

    • Chapter

      Orient within a journey

      Breadcrumbs belongs to this comparison group.

    • Do not confuse

      Pagination

      Choose Breadcrumbs if the current page has ancestors the user may want to return to. Choose Pagination if one long list or result set is split into stable, shareable pages.

      Compare this pair
    • Do not confuse

      Stepper

      Choose Breadcrumbs if pages have ancestors and the user may go up a level. Choose Stepper if a linear process has completed, current, and upcoming stages.

      Compare this pair
    • Next step

      Compare the concepts in the chapter before choosing an implementation.

      Open the chapter

    In your own words

    Understand

    What people describe

    Documented aliases: breadcrumb trail, hierarchical path, location trail

    • show where I am in the site
    • a path from home to this page
    • links to each parent section
    • go back to a higher category
    • show the hierarchy above this item
    • a trail before the page title

    Choose

    Use it when

    • Pages belong to a hierarchy several levels deep
    • People need to move directly to an ancestor

    Avoid it when

    • The product is flat or only has peer pages
    • The desired control is browser history or Back

    Compare

    Compare similar concepts

    Verification checklist

    Try these actions in the lab, then check the same behaviours in your agent’s result. Adapt the example names to your interface.

    1. 1. Do this

      Read the trail from its first ancestor to the current page.

      Expected result

      The sequence describes the page’s place in the hierarchy, and the current location is identifiable.

    2. 2. Do this

      Reach an ancestor link with Tab and activate it with Enter.

      Expected result

      The link opens the named ancestor; separators and a plain current-page label do not create extra keyboard stops.

    3. 3. Do this

      Narrow the window and read the available trail. In your agent’s result, also try a long path if one exists.

      Expected result

      The trail wraps or collapses accessibly, while complete names and access to the useful ancestors are preserved.

    Full contract
    1. 1The landmark has a specific accessible name
    2. 2Ancestors are real links
    3. 3The current page is exposed once
    4. 4Separators are ignored by assistive technology

    Understand → Recognize → Choose → Compare

    Pack for your agent

    Pre-written instructions to paste into your agent. Copying executes nothing.

    Implement correctly

    Build Breadcrumbs without breaking its behavior

    # Implement Breadcrumbs in your agent
    
    ## Objective
    Implement Breadcrumbs for this verified behavior: An ordered trail of links to ancestors of the current page that exposes its place in a site hierarchy.
    
    ## Prerequisites
    - Inspect the repository, design system, and existing tests first.
    - Preserve unrelated changes and keep the file scope bounded.
    - Confirm that Breadcrumbs matches the need before writing code.
    
    ## Required behavior
    - Activating an ancestor link moves to that named level of the current hierarchy.
    - Pointer, touch, or Enter follows the link; Space keeps its native page-scrolling behavior.
    
    ## States to cover
    - Trail ready
    - Ancestor focused
    - Destination loaded
    
    ## Accessibility
    - ARIA role: nav[aria-label] > ol > li > a[aria-current=page]
    - The primary control or named region for Breadcrumbs has a stable accessible name from visible text or an explicit programmatic label; placeholder text and tooltips are not names.
    - Visible focus remains on each ancestor link until navigation; a plain-text current page is not an extra tab stop.
    - Breadcrumbs are persistent navigation and are not dismissible.
    - Name the navigation landmark, expose the current linked page with aria-current=page, and hide decorative separators.
    - Tab and Shift+Tab move among ancestor links
    - Enter activates the focused link
    - Decorative separators never receive focus
    
    ## When not to use
    - The product is flat or only has peer pages
    - The desired control is browser history or Back
    
    ## Acceptance criteria
    - The landmark has a specific accessible name
    - Ancestors are real links
    - The current page is exposed once
    - Separators are ignored by assistive technology
    
    ## Guardrails
    - Show the proposed changes before any external action.
    - Do not publish, send, delete, pay for, or change remote state without explicit authorization.
    - Preserve unrelated changes and stop if the scope becomes ambiguous.
    
    ## Output format
    - Outcome or verdict.
    - Files or actions involved.
    - Checks run and observable evidence.
    - Remaining blockers or limitations.
    
    • Web platform
    • Requires · Access to the repository, design system, and tests
    Why it works
    • The need is tied to canonical behavior before any technical choice.
    • States, accessibility, and non-goals prevent a merely visual implementation.
    • Acceptance criteria and the output format make verification observable.

    Try next

    Verify Breadcrumbs on a real journey

    # Verify Breadcrumbs after implementation
    
    ## Objective
    Audit the Breadcrumbs implementation against its behavior, states, and accessibility requirements without changing it automatically.
    
    ## Checks
    - Replay the smallest representative journey.
    - Check keyboard behavior, focus, accessible name, and announcements.
    - Tie each gap to a specific acceptance criterion.
    
    ## Guardrails
    - Show the proposed changes before any external action.
    - Do not publish, send, delete, pay for, or change remote state without explicit authorization.
    - Preserve unrelated changes and stop if the scope becomes ambiguous.
    
    ## Output format
    - Outcome or verdict.
    - Files or actions involved.
    - Checks run and observable evidence.
    - Remaining blockers or limitations.
    

    sha256:59589950f0a73cc3e59132a12cf3990cc53319d204b3245439238fcfdde75760

    Diagnose a problem

    Find and fix the Breadcrumbs defect

    # Debug Breadcrumbs in your agent
    
    ## Observed symptom
    [DESCRIBE THE SYMPTOM HERE]
    
    ## Observable checks
    - Reproduce the issue with the smallest relevant journey.
    - Compare behavior with the documented states and transitions for Breadcrumbs.
    - Verify keyboard behavior, focus, accessible name, and announcements.
    
    ## Possible causes
    - The chosen primitive does not match the expected behavior.
    - A state, transition, or focus return is missing.
    - A neighboring component captures an event or hides an accessible signal.
    
    ## Bounded corrections
    - Fix the reproduced cause without recreating neighboring components.
    - Preserve the public contract and add a focused regression test.
    - Do not install dependencies or change remote state without authorization.
    
    ## Final verification
    - The landmark has a specific accessible name
    - Ancestors are real links
    - The current page is exposed once
    - Separators are ignored by assistive technology
    
    ## Guardrails
    - Show the proposed changes before any external action.
    - Do not publish, send, delete, pay for, or change remote state without explicit authorization.
    - Preserve unrelated changes and stop if the scope becomes ambiguous.
    
    ## Output format
    - Outcome or verdict.
    - Files or actions involved.
    - Checks run and observable evidence.
    - Remaining blockers or limitations.
    
    • Web platform
    • Requires · Access to the repository, design system, and tests
    Why it works
    • The explicit symptom prevents starting from an assumed fix.
    • Checks separate behavior, accessibility, and neighboring interference.
    • The fix stays bounded and must produce regression evidence.

    Try next

    Lock in the Breadcrumbs fix

    # Prevent the Breadcrumbs regression
    
    ## Objective
    Turn the reproduced cause into a focused regression test and compare Breadcrumbs with neighboring concepts before widening the fix.
    
    ## Checks
    - Prove that the test fails before the fix.
    - Prove that it passes after the bounded fix.
    - Verify that no neighboring component changed behavior.
    
    ## Guardrails
    - Show the proposed changes before any external action.
    - Do not publish, send, delete, pay for, or change remote state without explicit authorization.
    - Preserve unrelated changes and stop if the scope becomes ambiguous.
    
    ## Output format
    - Outcome or verdict.
    - Files or actions involved.
    - Checks run and observable evidence.
    - Remaining blockers or limitations.
    

    sha256:1a2138f7bcd8a4317e7c24c379dfdee9ef71146e03408b2aea3cffcbd048f361

    Full entry, saving and provenance

    Pre-written instruction by SkillCodex — your request is neither sent nor used to adapt this text; no content is generated, and copying executes nothing.

    Pack digest: sha256:c6178d1129ddfd423041fd8015474c728f82505c87447eb3f05f538c6e41fa3e

    In code

    TechnologyPrimitiveVersionCaveat
    Web platform

    nav with ol and a[href]

    NativeCompose a named navigation landmark, ordered list, native ancestor links, and one current item; separators stay decorative.

    Technical details

    Behaviors

    • Navigate to an ancestor

      Activating an ancestor link moves to that named level of the current hierarchy.

    • Follow with native link activation

      Pointer, touch, or Enter follows the link; Space keeps its native page-scrolling behavior.

    States

    • Trail ready

      Trail ready

    • Ancestor focused

      Ancestor focused

    • Destination loaded

      Destination loaded

    State transitions

    • Trail ready → Ancestor focused

      Tab reaches an ancestor link without changing location.

    • Ancestor focused → Destination loaded

      Activating the focused ancestor link loads that hierarchical destination.

    • Destination loaded → Trail ready

      Reset restores the current-page trail.

    Test scenarios

    Context
    Project settings are nested under Workspace, Acme, Settings, and Billing.
    Mission
    Focus the Settings ancestor, activate it, and verify the destination replaces the current Billing location.
    Primary state
    Current Billing is exposed separately from the ancestor links.
    Edge case
    Long localized labels wrap or collapse without turning separators into controls or losing accessible names.

    Visual signals

    • Ordered ancestor trail
    • Decorative separators between items
    • Current location at the end

    Behavioral signals

    • Ancestor links use native navigation
    • Exactly one item exposes the current page
    • The sequence mirrors hierarchy, not visit history

    Accessibility

    Role
    nav[aria-label] > ol > li > a[aria-current=page]
    Accessible name
    The primary control or named region for Breadcrumbs has a stable accessible name from visible text or an explicit programmatic label; placeholder text and tooltips are not names.
    Focus
    Visible focus remains on each ancestor link until navigation; a plain-text current page is not an extra tab stop.
    Dismissal
    Breadcrumbs are persistent navigation and are not dismissible.
    Scroll
    The current location stays visible when possible. Navigation or workflow changes land at a meaningful heading without an unexpected scroll jump.
    Announcement
    Name the navigation landmark, expose the current linked page with aria-current=page, and hide decorative separators.
    Keyboard
    • Tab and Shift+Tab move among ancestor links
    • Enter activates the focused link
    • Decorative separators never receive focus

    Bindings

    Open the HTML, ARIA, Radix, and shadcn matrix
    • nav with ol and a[href]

      implementationKind
      custom
      nativeElement
      nav with ol and a[href]
      ariaPattern
      breadcrumb navigation landmark with aria-current=page
      radixPrimitive
      Not applicable
      shadcnRecipe
      Not applicable
      runtimeDependency
      Not applicable
      packageName
      Not applicable
      exportName
      Not applicable
      exactVersion
      Not applicable
      status
      exception
      sourceId
      source-ui-aria-breadcrumb
      deprecationStatus
      active
      replacement
      Not applicable
      validFrom
      Not applicable
      validUntil
      Not applicable

      Equivalence caveat: Compose a named navigation landmark, ordered list, native ancestor links, and one current item; separators stay decorative.

      Verify binding source

    Sources

    • WAI-ARIA APG: Breadcrumb Pattern
      sourceId
      source-ui-aria-breadcrumb
      kind
      documentation
      canonicalUrl
      https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/
      publisher
      W3C WAI
      sourceRevision
      http-last-modified:2026-08-07T07:06:02Z
      consultedAt
      2026-08-10
      license
      Not stated
      contentDigest
      sha256:7ecac0b55af3614b985f4075562899692a15394bd53f8d1cb2aa4d7611b92e18
      status
      verified

      Claim covered: Breadcrumbs: informative APG guidance for the breadcrumb trail pattern: roles, states, relationships, and keyboard interaction.

    • WHATWG HTML: The nav element
      sourceId
      source-ui-html-nav
      kind
      standard
      canonicalUrl
      https://html.spec.whatwg.org/multipage/sections.html#the-nav-element
      publisher
      WHATWG
      sourceRevision
      http-etag:"6a5dd5e8-2c58d"
      consultedAt
      2026-08-10
      license
      Not stated
      contentDigest
      sha256:cfd126e3b971918ee24c5244457dba55bbde269c92fb879da1ab97dd6fbb89c6
      status
      verified

      Claim covered: Breadcrumbs: normative native semantics, states, attributes, and browser behavior for nav.

    • WHATWG HTML: The ol element
      sourceId
      source-ui-html-ordered-list
      kind
      standard
      canonicalUrl
      https://html.spec.whatwg.org/multipage/grouping-content.html#the-ol-element
      publisher
      WHATWG
      sourceRevision
      http-etag:"6a5dd5e8-34d05"
      consultedAt
      2026-08-10
      license
      Not stated
      contentDigest
      sha256:4e0627672499c1cfdcd9525e54080baafee74ab80e97b8b446737bfe97d146a5
      status
      verified

      Claim covered: Breadcrumbs: normative native semantics, states, attributes, and browser behavior for ol and li.

    • WHATWG HTML: The a element
      sourceId
      source-ui-html-link
      kind
      standard
      canonicalUrl
      https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-a-element
      publisher
      WHATWG
      sourceRevision
      http-last-modified:2026-07-19T13:52:46Z
      consultedAt
      2026-07-19
      license
      Not stated
      contentDigest
      sha256:fe0a3d4315ccdf4f171cbb0c61ee6188b0db2dfe13a7c7f1f04f6b37528661f6
      status
      verified

      Claim covered: Breadcrumbs: normative native semantics, states, attributes, and browser behavior for a[href].

    • WAI-ARIA 1.2: Roles Model
      sourceId
      source-ui-wai-aria-roles
      kind
      standard
      canonicalUrl
      https://www.w3.org/TR/wai-aria-1.2/#roles
      publisher
      W3C WAI
      sourceRevision
      W3C-REC-wai-aria-1.2-20230606
      consultedAt
      2026-07-19
      license
      Not stated
      contentDigest
      sha256:c0fea16fc747779569ab754d2d25bca3e2b7e8a673b8ef5362aeb9ebc73a4849
      status
      verified

      Claim covered: Breadcrumbs: normative ARIA role definitions and constraints for the stated accessible role.

    • WCAG 2.2: Focus Appearance
      sourceId
      source-ui-wcag-understanding-focus-appearance
      kind
      documentation
      canonicalUrl
      https://www.w3.org/WAI/WCAG22/Understanding/focus-appearance.html
      publisher
      W3C WAI
      sourceRevision
      http-last-modified:2026-07-02T10:07:49Z
      consultedAt
      2026-07-19
      license
      Not stated
      contentDigest
      sha256:fdcf316a1f0e3cc758eda9618322d132862124ff0a3f3b1a3acbf20daf804ff0
      status
      verified

      Claim covered: Breadcrumbs: informative WCAG guidance for evaluating visible keyboard focus appearance.