PRACTICE 4 OF 8 · Complex widgets and data
Drag and drop alternative
Reorder items with keyboard-accessible controls instead of relying on pointer-only drag.
Check whether drag-and-drop workflows have an operable keyboard alternative.
PREPARE
Set up your test
- Turn on a screen reader you know how to operate.
- Navigate by controls or use Tab where the task asks you to.
- Listen for purpose and state, not one exact sequence of spoken words.
WORKING EXAMPLE
Establish the expected behavior
Use the move buttons to reorder the list. Listen for each button’s purpose.
- Design review
- QA pass
Current order: Design review, QA pass.
Expected behavior: the same reordering task is possible without pointer drag.
INTENTIONAL DEFECT
Find the barrier
The example below deliberately contains one accessibility defect. Skip the defective example.
Try to reorder the list with the keyboard.
- Design review
- QA pass
Hint
A visual drag handle does not create a keyboard-operable reorder control.
End of intentional defect.
DIAGNOSE
Choose the primary cause
EXPLANATION
Understand and repair it
Reveal explanation
What happened
The defective list relies on pointer dragging. Keyboard and many screen reader users cannot perform the reorder task.
Repair
Provide explicit controls such as Move up and Move down, with names that include the item being moved. Announce the resulting order when it changes.
<button type="button">Move QA pass up</button>
<p role="status">QA pass moved to position 1 of 2.</p>Retest
- Complete the reorder task using only the keyboard.
- Confirm each control has a specific name.
- Confirm the new position is communicated after a move.
Report it
Example: The task list can only be reordered by dragging, with no keyboard-operable move controls.
Standards and support
This exercise describes behavior rather than promising identical speech across screen reader and browser combinations.
- WCAG 2.2: Understanding Keyboard
- WCAG 2.2: Understanding Pointer Gestures
- WCAG 2.2: Understanding Name, Role, Value
Editorially reviewed 20 July 2026.