Jump to main content

Breadcrumbs


You can use the breadcrumbs pattern to indicate where the current page sits in the site's navigation.

  • A <nav> element with an aria-label "Breadcrumb" identifies the structure as a breadcrumb trail
  • The set of links is structured using an ordered list
  • The separators between each item are added via CSS, so you don't have to include them manually.

Accessibility

How it works

It establishes a landmark on the page which assists the user in understanding where they currently are and which pages exist in the current page’s hierarchical order.

It comprises a set of links structured using an ordered list. A nav element using aria-label="Breadcrumbs" identifies the structure as a breadcrumb trail and makes it a navigation landmark so that it is easy to locate. It can be navigated via keyboard using the Tab key.

To prevent screen reader announcement of the visual separators between links, they are added via CSS. The separators are part of the visual presentation that signifies the breadcrumb trail, which is already semantically represented by the nav element.

Considerations

This component strives to follow WCAG 2.1 (level AA) guidelines, and care must be taken to ensure this effort is maintained when the component is implemented across other projects. This section offers advice to that effect:

  • The breadcrumb text should reflect the page title accurately and concisely.
  • The breadcrumb should remain in the same relative order and location on each web page.
  • The breadcrumb indicating the current page should be visually distinct from the preceding breadcrumbs.
  • If the breadcrumb reflecting the current page is a link, it should have an aria-current="page"attribute.

Resources

Import

To import just this component into your project, copy the snippet below and include it in your main Sass file.

// import Vanilla and include base mixins
// this only needs to happen once in a given project
@import 'vanilla-framework';
@include vf-base;

@include vf-p-breadcrumbs;

For more information see Customising Vanilla in your projects, which includes overrides and importing instructions.

Design

For more information view the breadcrumbs design spec, which includes the specification in markdown format and a PNG image.