Human-computer interaction · intermediate
Gesture arbitration
Gesture arbitration is the process of delaying, accepting, or rejecting competing interpretations of the same pointer sequence as movement, time, direction, and cancellation evidence arrive.
Why it matters
A press can become a tap, drag, pan, long press, or viewport scroll. Treating recognition as a competition explains delayed callbacks, cancelled gestures, directional thresholds, and why nested interactions sometimes feel unreliable.
Mental model
How to reason about gesture arbitration
Every recognizer begins in a possible state and consumes the same stream of down, move, time, up, and cancel evidence. A recognizer accepts only after its conditions become decisive; incompatible candidates then reject, while cancellation can end the contest without a winner.
Analogy
Several judges watch the same race start. Each waits for different evidence: a quick finish, sustained stillness, or movement in a particular direction. Once one verdict becomes decisive, conflicting verdicts are withdrawn.
Interactive lab
Let the evidence choose the gesture
Draw a pointer path or load a scenario. Every recognizer sees the same evidence, but accepts only when its own conditions become decisive.
Draw your own
Drag inside the field, then release
Press, move, and release
The dashed circle is the movement tolerance.
Displacement
0 px
Elapsed
0 ms
Hold evidence
Try a known path
Current decision
Waiting for a pointer sequence
Tap
possibleWaiting for pointer down.
Horizontal drag
possibleWaiting for pointer down.
Free pan
possibleWaiting for pointer down.
Long press
possibleWaiting for pointer down.
Scroll
possibleWaiting for pointer down.
Lab rules
This is an explicit teaching model: movement beyond the tolerance rejects tap and long press; a 1.25× directional bias selects horizontal drag or scroll; otherwise free pan wins. Real systems tune these rules for device, context, and accessibility.
Waiting for a pointer sequence. Maximum displacement is 0 pixels after 0 milliseconds.
Examples
See the boundary, not just the happy path
Worked example · Quick tap
down → small movement → up before hold thresholdTap remains possible while the pointer stays inside the movement tolerance, then accepts on release. Drag, pan, scroll, and long press reject because their required evidence never arrived.
Worked example · Horizontal drag wins
down → Δx exceeds threshold while |Δx| dominates |Δy|Crossing the movement threshold rejects tap and long press. Directional evidence accepts horizontal drag, so incompatible pan and scroll interpretations can stop waiting.
Worked example · Long press wins
down → remain within tolerance until hold duration elapsesTime becomes decisive while movement remains small. Long press accepts before release and the quick-tap interpretation is no longer valid.
Useful contrast · The sequence is cancelled
down → vertical movement → pointercancelA system may take ownership for viewport manipulation or another native action. Cancellation is not a failed release; all application recognizers must end without inventing an up event.
Common mistakes
Misconceptions to remove early
Choosing a gesture on pointer down
The first contact rarely contains enough evidence. Accepting immediately makes taps trigger during scroll attempts and prevents direction or hold duration from resolving ambiguity.
Treating thresholds as universal constants
Movement tolerance, direction bias, timing, device precision, and accessibility settings vary. The lab uses explicit teaching rules, not values that every platform must share.
Handling release but not cancellation
Operating systems and user agents can cancel a pointer sequence. Cleanup, visual state, and pending timers must handle cancellation as a separate terminal outcome.
Quick check
Can you predict the result?
1. Why should a tap recognizer usually wait until pointer release before accepting?
- • Later movement or cancellation may reveal that the sequence was a drag, pan, scroll, or interrupted interaction instead.
- • Pointer-down events never contain coordinates.
- • A tap must always last longer than a long press.
2. What evidence makes a long press distinct from a tap in the lab?
3. What should recognizers do when the pointer sequence is cancelled?
Keep building