What it asks for, in plain English
If something is operated by dragging, which means pressing, moving the pointer while held down, and releasing somewhere else, there has to be another way to do it with single presses: a click, a tap, or a series of them. Range sliders, drag-to-reorder lists, kanban boards, map panning, resizable panels, drag-to-upload areas and sortable tables are the usual cases.
A keyboard alternative on its own is not enough for this criterion, because the people it protects may be using a pointer they cannot hold steady while moving. Buttons that move an item up or down, a text field next to a slider, click-to-select then click-to-place, or a plain file picker alongside the drop zone all work.
This is new in WCAG 2.2. Dragging that is essential, such as drawing in a sketch tool, is exempt. Browser-native controls like the default range input are also exempt because the browser provides them.
This is an independent explanation. The binding wording is the W3C Recommendation, and the W3C's own Understanding 2.5.7 page has the full intent, techniques and definitions.
Who it affects
Someone with a tremor or arthritis can click, but cannot keep the button held down while moving across the screen.
A person using a head pointer or eye tracker has no reliable way to hold and move at the same time.
Someone using a touch screen with a stylus in their mouth taps easily but cannot drag.
How to check it
- List every control on the site that you operate by dragging: sliders, reorder handles, kanban cards, map panning, file drop zones, resizers.
- For each one, try to achieve the same result with single clicks or taps only, without holding the button down while moving.
- Check the alternative is visible or easily discovered, not a hidden gesture.
- Check it on a touch device as well as with a mouse.
What Websight checks for 2.5.7
Websight has no automated check for this criterion. It lists it in the manual checklist that comes with every report, so it is not forgotten.
Only a person can check this. A scanner cannot drag, and cannot tell which elements respond to dragging.
Practical tips
- Pair every slider with a number field or step buttons.
- Give draggable lists 'move up' and 'move down' buttons, or a 'move to' menu.
- Next to a drag-and-drop upload area, keep an ordinary 'Choose file' button.
Other criteria in guideline 2.5, Input Modalities
- 2.5.1 Pointer Gestures (level A)
- 2.5.2 Pointer Cancellation (level A)
- 2.5.3 Label in Name (level A)
- 2.5.4 Motion Actuation (level A)
- 2.5.8 Target Size (Minimum) (level AA)