Concurrent Input Mechanisms
What this means
A page shouldn't arbitrarily restrict which input method a user can use. It shouldn't force touch-only interaction on a device that also supports a mouse, keyboard, or stylus. It also shouldn't disable keyboard input just because a touch event happened recently. Users should be free to switch between whatever input methods their platform supports, and even use more than one at once, like typing on a keyboard while also using a touchpad. The exception is when restricting a particular input is essential to the function, or needed for security, such as requiring a physical key press for a sensitive confirmation.
Who it affects
People often rely on more than one input method, depending on the task, their physical state that day, or what's convenient in the moment. Someone might switch between a stylus and a finger on a tablet, or use a mouse for precise pointing and a keyboard for text entry in the same session. People with fluctuating or situational disabilities, such as a temporary hand injury, may need to switch input methods on the fly. Rigid restrictions locking them into one input type can turn a minor inconvenience into a hard barrier.
Code example
Bad
// Disables keyboard focus and interaction entirely once a touch
// event is detected anywhere on the page, locking the user into
// touch-only input for the rest of the session
document.addEventListener('touchstart', () => {
document.body.classList.add('touch-only-mode');
disableKeyboardHandlers();
});Good
// Touch and keyboard/mouse input remain simultaneously available;
// detecting one input type doesn't disable the others
document.addEventListener('touchstart', () => {
document.body.classList.add('touch-active-styles');
// Keyboard handlers remain fully functional
});How to test it
On a device that supports multiple input methods, such as a touchscreen laptop with a keyboard, trackpad, and touch all available, try switching between them mid-task. Start an interaction with touch, then continue it with the keyboard or mouse, and try it the other way too. Suppose using one input method disables or breaks the others, or the page locks you into a single mode after your first interaction. This fails, unless that restriction is essential or security-related.