C2.08.1Slide-out touch cancellationdesign

Sliding outside the target then lifting equals cancellation

Aliases: slide-out cancellation · touch cancellation · touch-up commit

What it is

After holding a touch button or target, sliding outside then lifting cancels: the system commits only if the finger lifts in the valid region. This makes recovery from a mis-tap direct and low-cost, rather than executing first and searching for undo.

Why it happens

Press enters candidate state, leaving the target enters cancellation, and lift decides not to commit; re-entry can restore candidacy. There is a detail that implementations easily get wrong: the decision must be based on the current position at the exact moment of lift, not the path traveled during the whole hold — if someone slides out and slides back in, ultimately lifting inside the valid region, that should commit normally, because the path itself should not be remembered; the system only needs to know whether the finger is inside the valid region the instant it releases. A shortcut implementation sometimes uses an "ever left the region" flag instead, permanently marking the interaction as cancelled the moment the boundary is crossed even once, so it never commits even if the finger slides back in later. This turns a state machine that should be reversible at any moment into an irreversible trap: the person slides back onto the target fully expecting it to commit, and gets silently blocked by a flag that was already set earlier.

Where it stops holding

For continuous dragging, drawing, or sliders, leaving a boundary may need to keep controlling rather than cancel. Tiny targets, vague boundaries, and narrow cancellation areas also cause accidental cancellation; high-risk work should layer confirmation and undo.

Applying it

  • Implement ordinary buttons as press candidate, exit cancel, and lift commit.
  • Use highlight, fading, or a cancel visual state to state the current outcome.
  • How to check: specifically test the sequence "slide out of the target, slide back in, then lift inside the region," and confirm the result exactly matches "never leaving and lifting directly" — this catches an implementation that tracks a historical ever-left flag instead of checking only the position at the moment of lift.

Related

  • Same group: C2.08.2 The decision boundary of a cancellation region must be explicit · C2.08.3 Discoverability of cancellation depends on pressed-state feedback
  • Nearby: C2.07 Touch-down and touch-up activation · D1 Output and feedback channels
  • Search terms: touch cancellation · slide out · touch up

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/C2.08.1