Breadcrumb: Breadcrumb region is missing appropriate roles and/or attributes
custom-breadcrumb
Rule
The name, role, value, states, and properties of user interface components MUST be programmatically determinable by assistive technologies.
Background
Every user interface control must have a role along with any applicable states and properties so that screen reader users know how to interact with the control. Native HTML elements - such as <button>, <a>, <input>, <select> - already have a role, and their necessary states and properties - such as the checked/unchecked state of a checkbox - are automatically conveyed so nothing more needs to be done. If you create a custom version of a native HTML element or a custom control or widget that does not have a native HTML equivalent, you must add the relevant role(s) and any applicable states and properties using ARIA as well as expected keyboard interactions.
How to Fix
Fix this issue by doing ALL of the following:
- Place the breadcrumb trail inside a navigation region: i.e. <nav> or role="navigation".
- Use an aria-label or aria-labelledby attribute to label the navigation region.
- Use aria-current="page" on the current page link. If the element representing the current page is not a link, aria-current is optional.
<nav aria-label="breadcrumb"> <ol> <li><a href="https://www.deque.com">Home</a></li> <li><a href="https://www.deque.com/tools/>Tools"</a></li> <li><a href="https://www.deque.com/axe/devtools/" aria-current="page">axe DevTools</a></li> </ol> </nav>