Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Component type

Navigation?

Document status

DRAFT

Design source (in Figma)

https://www.figma.com/file/0kGNJaC3xZ66WElO5TWvX3/Chameleon-System-(Phase-2)?node-id=2340%3A49319

Author

Nick Harris

Responsible

Milestone

4

Breadcrumbs are a secondary navigation component used to show a user's location in a hierarchical structure. They communicate the path a user has taken to the current page and offer a quick way to navigate back up the path.

  • The users location in a hierarchical structure is a useful piece of information to communicate.

  • More appropriate navigation components are available.

    • Never use breadcrumbs to replace the main navigation on a page.

  • Table of contents

  • Sitemap Links

Item

Type

Notes

Navigation name

Text link

This would be automated and set in the CMS

<nav>

aria-label="breadcrumbs"

Overflow button

aria-label="Show overflow"

tdb

Item 

Type 

Notes 

1. Page name

Link

2. Divider

Simple text

3. Overflow indicator

Button

4. Overflow list

Dropdown

Screenshot taken from Figma appears to have no focus state for the dark mode. Needs questioning.

  • The current page is always the last item in the list and breadcrumbs should never display children of the current page unless it’s proximate to the page title (see visibility controls).

  • Breadcrumbs should never wrap onto a new line. If the width of the breadcrumbs breaks out of the parent container (or max width), breadcrumbs should adopt the overflow behaviour (see overflow).

  • TDB whether breadcrumbs adopt the max with of their parent container or have a specified max width (similar to max with of content)

Without JS:

  • Breadcrumbs don’t overflow and instead wrap onto the next line.

With JS:

  • When the number of items in the breadcrumb list exceeds the width of its parent container, or specified max width, or specified number of items, breadcrumbs should truncate displaying only the first and last navigation items and a truncation menu button ().

  • The truncation menu displays all options that are no longer visible in the following ways:

    • Option 1

      • The truncation menu displays all options that are no longer visible. Leaving ‘root' and 'current page’

    • Option 2 - If current page is visually hidden (see visibility controls)

      • The truncation menu displays all options that are no longer visible. Leaving ‘root' and the current page’s 'parent page'

    • Items are listed with the hierarchy ordered from top (root) to bottom.

  • Overflows are accessed by clicking the overflow button (…) or appropriate keyboard control (see accessibility)

  • Overflows are ‘pop-overs'. They site above site content and don’t change/push/interact with any content on the page.

  • A mechanism is needed to control the number of breadcrumb items to display.

  • A mechanism is needed to control the visibility of the current page. For example if the current page title is repeated as the next element in the page.

  • Content editors may be given the option to define a ‘short’ version of the page title to be used in some navigational components. If this name has been defined then it should be used instead of the default page title.

Breadcrumbs must be keyboard friendly with the following behaviours:

Key

Interaction

Tab

Move focus to next item

Shift + Tab

Move focus to previous item

Enter or Space

Selects item and navigates to location. If focus is on truncation menu, opens the menu.

Up/Down Arrow

When menu is open, up and down arrow navigate through the menu items.

ESC

When menu is open, closes the menu.

*TDB - Discuss esc behaviour in more details

  • Breadcrumbs should be wrapped in a nav landmark and marked with aria-label="breadcrumbs"

  • Use ol to denote link hierarchy

  • add aria-current='location' to the current page link.

  • X

  • X

  • Currently, breadcrumbs only come in one style but in the future there may be a case where we allow the configuration of the divider style and/or allow icons to be used as links (for example the root link could be a home icon).

  • Extending breadcrumbs for structured data as used by search engines to categorise information from the page in search results: https://developers.google.com/search/docs/advanced/structured-data/breadcrumb

  • Item: Description

  • Item: Description 


https://spectrum.adobe.com/page/breadcrumbs/#Usage-guidelines

https://experienceleague.adobe.com/docs/experience-manager-core-components/using/components/breadcrumb.html

https://atlassian.design/components/breadcrumbs/usage

https://www.aditus.io/patterns/breadcrumbs/#:~:text=Breadcrumbs%20is%20an%20UX%20pattern,parent%20pages%20available%20as%20navigation.

Component kick-off-20220614_130441-Meeting Recording.mp4

  • No labels