Page Properties | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Item | Type | Notes | |
---|---|---|---|
Navigation name | Text link |
| |
<nav> |
| ||
Overflow button |
| tdb
|
Visual Style
Examples
...
Anatomy
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.
Behaviour
General:
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)
Overflow
...
:
Without JS:
Breadcrumbs don’t overflow and instead wrap onto the next line.
...
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.
Tabbing:
When tabbing though the list of links a user is able to tab into the truncation menu as if it were the next item in the list.
When the user reaches the last item in the list, the next tab will close the list and move focus onto the next item.
Level control:
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’s link. For example if the current page title is repeated as the next element in the page.
Note. Controls visibility only - It’s still rendered in the dom.
Editorial
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.
...
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. |
|
|
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 witharia-label="breadcrumbs"
Use
ol
to denote link hierarchyadd
aria-current='location'
to the current page link.
...