While selection is active, other gestures should yield
Aliases: selection mode · selection preemption · exclusive select
What it is
Once a selection and its handles exist, the surface is in selection mode. Until a lift-to-cancel or a tap on empty space exits, swipe-to-archive, pull-to-refresh, double-tap zoom, and back gestures should stand down and leave touch to stretching the range, moving the caret, and toolbar buttons. Selection mode is an exclusive stretch of time, not one more parallel recognizer.
Why it happens
Selection work is short, slow, one-finger travel—kinematically close to swipe, refresh, and back. If those recognizers stay live, the first attempt to lengthen a selection may archive the mail or spin a refresh spinner. Yielding turns the conflict set off by mode, rather than inventing yet sharper thresholds. Exit must be cheap: tap outside, tap Done, or the system Done control. If the mode never exits, yielding becomes a permanent cripple.
Studying it
With a selection already up, play swipe, pulldown, edge-back, and double-tap. Count how many were treated as selection work versus external commands. Also measure whether exiting the mode takes extra steps. Measures include accidental archive, accidental refresh, and selections cleared by mistake. Do not measure yielding before selection mode—that is ordinary conflict.
Where it stops holding
Selection mode must not freeze the document autoscroll a handle needs, nor freeze Copy on the toolbar. Full-screen reader taps that turn pages should also yield while selecting. Dragging selected text into another app is an extension of selection mode, not a yield failure. Yielding does not explain how selection is entered.
Applying it
- On entering selection mode, pause list swipe-actions, pull-to-refresh, and double-tap zoom; keep handle drags and edge autoscroll of the document.
- Provide a one-beat exit: tap outside the selection or Done on the toolbar, and restore those gestures immediately.
- After selecting a sentence, swipe once: the mail must not archive. Exit, swipe again: archive should work.
Related
- Same group: C3.30.1 Long-press to select text and long-press for a menu share an onset · C3.30.2 Dragging selection handles versus scrolling needs handle hit priority · C3.30.3 Double-tap select versus double-tap zoom must drop one in text
- Adjacent: C3.17 Swipe actions · C3.19 Gesture conflicts and disambiguation
- Search:
selection mode·gesture preemption·text selection