Operability
Buttons, links and form controls
All buttons, links, and form controls should be operable using the keyboard by default. This can be overridden by the use of certain scripts and HTML attributes if necessary, but that step is taken on a case-by-case basis.
onclick effect
When applied to an HTML element, the “onclick” attribute can be used to activate JavaScript and other forms of interactivity. Clicking the assigned element triggers “onclick,” which is operable using the keyboard with most browsers and assistive technology.
onmouseover and onfocus effects
When applied to an HTML element, the “onmouseover” attribute can be used to activate JavaScript and other forms of interactivity. Users can activate “onmouseover” by hovering over the assigned “onclick” element, but “onmouseover” is not operable using the keyboard.
Instead, the “onfocus” attribute provides equivalent functionality by activating the effect when the interactive element receives keyboard focus.
Equivalency
Making some functions, such as a drag-and-drop system, keyboard accessible isn’t practical or possible.
In these situations, equivalent functionality must be provided for keyboard-only users. They may be unable to drag and drop content elements, but as long as they can reorder the elements through other means, the function is considered keyboard accessible.
Traps
A keyboard trap occurs when a user tabs to an interactive element, frame, etc, but cannot move on to the next element and/or return to an earlier element. Keyboard interactions should never be trapped, and any apparent traps should be remedied immediately.