C3.04.2Drag slop versus scroll direction lockdesignresearch

Competition between drag-start slop and scroll-direction discrimination

Aliases: scroll versus drag · direction lock · drag capture

What it is

Once an object may be dragged, the first millimetres of motion look both like starting a drag and like starting a scroll. Recognizers usually each have a gate: drag waits for displacement to leave slop; scroll also asks whether that displacement is “axial enough.” Whichever gate trips first captures every later move. The fight is in the first motion after arming, not in the long-press wait.

Why it happens

A scroll recognizer wants to lock direction early so content tracks immediately and diagonal jitter is projected onto the main axis. A drag recognizer wants to watch longer, to be sure this is not a page flip. If scroll locks first, a sideways carry into another column is eaten as a vertical flip. If drag slop is tiny, a micromotion meant as a flip peels the row up. Once a direction lock is on, even a later, obvious lateral component cannot appeal—the lock exists to keep scrolling stable, and during it drag has no appeal. A nested horizontal list inserts a third candidate and makes the order still harsher.

Studying it

Place rows that can be dragged sideways (or into another slot) inside a vertical list. Vary drag slop, the scroll direction-lock angle window, and the lock interval. Dependent measures: intended drags that scrolled, intended scrolls that dragged, and 30° diagonal gestures projected onto the wrong axis. Log which recognizer claimed capture on which move event. Watching only whether the item ended in the right slot misses trajectories kidnapped by a scroll lock and lucky enough to return.

Where it stops holding

Edit mode or an obvious drag handle can make the scroll recognizer abstain on that pointer, and the fight vanishes. A fullscreen canvas with no scroll parent has no such fight. A system back gesture that starts at the edge inserts yet another bar before list drag—an edge problem for another group. A stylus barrel button held while moving arms at the hardware layer, and software slop competition weakens a lot.

Applying it

  • Give in-list drag a main axis opposite or orthogonal to scroll (drag out horizontally, scroll vertically), and make drag slop a little wider than the scroll lock window so a page flip does not win first.
  • Once drag is armed, explicitly cancel parent scroll capture. Once scroll has locked, do not steal the pointer back for drag mid-gesture.
  • Have people do twenty trials: ten list flips, ten carries of a named row into a named slot. Read capture from logs, not only the final frame. The diagonal entries show whether the lock fired too early or slop was too tight.

Related

  • Same group: C3.04.1 Drag may start from a long-press or from an immediate down, with different meanings · C3.04.3 The drop target must stay visible during a drag · C3.04.4 Auto-scroll and speed when a drag hits the screen edge
  • Adjacent: C3.07 Pan · C3.28 Gesture direction locking
  • Search: scroll versus drag · touch slop · direction lock

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/C3.04.2