Custom interactive controls should be focusable.
<div> into a fancy dropdown,
it won't automatically be inserted into the tab order.
You need to manually check that all custom controls are keyboard focusable.
See also Keyboard access fundamentals.
How to manually test
To test that the custom control is focusable,
TAB key to navigate through the site:
Are you able to reach all of the interactive controls on the page?
If not, you may need to use
tabindex to improve the focusability of those controls.
See also Control focus with tabindex.
How to fix
To make a custom control focusable,
insert the custom control element into the natural tab order using
<div tabindex="0">Focus me with the TAB key</div>
Why this matters
For users who either cannot or choose not to use a mouse, keyboard navigation is the primary means of reaching everything on a screen. Good keyboarding experiences depend on a logical tab order and easily discernable focus styles. If a keyboard user can't see what's focused, they have no way of interacting with the page.
Learn more in How to do an Accessibility Review.
- Source code for Custom controls have associated labels audit
- Some elements have a
[tabindex]value greater than