An extra link appears with a mouse but remains hidden during keyboard use. Alternatively, Tab reaches a button without revealing its position. Inspect whether the action can be understood and completed, not just whether its element is technically focusable.

Start at the top without moving the pointer. Follow actual Tab order and record invisible, duplicate or obscured targets. An off-screen element can remain problematic even when Enter activates it.

Design a deliberate indicator

A simple custom focus indicator might use:

.action:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

Match its colour to the surrounding surface. Do not remove an existing browser indicator before providing a usable replacement. This rule alone does not establish sufficient contrast on every background.

For hover interactions, check that focus or another appropriate persistent control exposes the same functionality. Use buttons for actions and real links for navigation rather than attaching click handlers to arbitrary containers.

Test complete tasks: open a menu, select a destination, close a dialog and return to the previous position. Focus should not silently disappear after closing. Repeat with enlarged text and record concrete locations instead of a blanket “keyboard works” claim.

Sources