Skip to content

Technique G65:Providing a breadcrumb trail

About this Technique

This technique relates to 2.4.8: Location (Sufficient).

This technique applies to all technologies.


A breadcrumb trail helps the user to visualize how content has been structured and how to navigate back to previous Web pages, and may identify the current location within a series of Web pages. A breadcrumb trail either displays locations in the path the user took to reach the Web page, or it displays the location of the current Web page within the organization of the site.

Breadcrumb trails are implemented using links to the Web pages that have been accessed in the process of navigating to the current Web page. They are placed in the same location within each Web page in the set.

It can be helpful to users to separate the items in the breadcrumb trailing with a visible separator. Examples of separators include ">", "|", "/", and "→".


Example 1: Photographer's portfolio

A photographer's portfolio Web site has been organized into different galleries and each gallery has further been divided into categories. A user who navigates through the site to a Web page containing a photo of a Gentoo penguin would see the following breadcrumb trail at the top of the Web page:

Home / Galleries / Antarctica / Penguins / Gentoo Penguin

All of the text items except "Gentoo Penguin" are implemented as links. The current location, Gentoo Penguin, is included in the breadcrumb trail but it is not implemented as a link.

Example 2: E-commerce site

The information architecture of an e-commerce Web site is categorized from general to increasingly more specific product subsections.

You are here: Acme Company → Electronics → Computers → Laptops

The trail begins with "You are here" and ends with the current page. Items in the trail are clickable or tappable links with the exception of "You are here" and "Laptops." This example uses a right arrow symbol (→) as a separator.

In this example a h2 element, a nav element with an aria-label attribute, and an unordered list are used to provide semantics. The markup would be styled using CSS to display the breadcrumb trail horizontally.


<nav aria-label="Breadcrumbs"> 
  <h2>You are here:</h2> 
    <li><a href="/">Acme Company</a> &#8594;</li> 
    <li><a href="/electronics/">Electronics</a> &#8594;</li>
    <li><a href="/electronics/computers/">Computers</a> &#8594;</li>
    <li><a aria-current="page">Laptops</a></li>


nav, h2, ul, ul li{ display: inline;}
nav > h2{ font-size: 1em; } 
ul { padding-left: 0em; }

Working example: Breadcrumb example

Related Resources

No endorsement implied.



When breadcrumb trails have been implemented in a set of Web pages:

  1. Navigate to a Web page.
  2. Check that a breadcrumb trail is displayed.
  3. Check that the breadcrumb trail displays the correct navigational sequence to reach the current location or the correct hierarchical path to the current location within the site structure.
  4. For a breadcrumb trail that does not include the current location:

    1. Check that all elements in the breadcrumb trail are implemented as links.
  5. For a breadcrumb trail that does include the current location:

    1. Check that all elements except for the current location are implemented as links.
    2. Check that the current location is not implemented as a link.
  6. Check that all links navigate to the correct Web page as specified by the breadcrumb trail.

Expected Results

  • For all Web pages in the set using breadcrumb trails,

    • Checks #2, #3, and #6 are true.
    • Either check #4 or #5 is true.
Back to Top