C3.33.1Gesture actions follow the same undo rules as tapsdesignresearch

Gesture-triggered actions follow the same undo rules as taps

Aliases: gesture undo · equal undo · command ledger

What it is

If swipe-to-archive, two-finger undo, or long-press delete commits the same model command as a tap, it should enter the same undo ledger as tapping that command. An action must not become irreversible, or only reverse-swipeable, because the door was a gesture. Undoability follows the consequence, not the trajectory.

Why it happens

People remember “archive this message,” not “a leftward velocity.” If undo forks by entry—taps can undo, gestures cannot—the same consequence has two legal statuses, and the cost of error is higher on the harder-to-discover door. Gestures already misfire more; they need the same undo more, not less. Implementation should key on a command id: the gesture callback calls archive(id), and the undo stack pops archive(id), not “undo the last swipe.”

Studying it

Have people perform a destructive command once with a button and once with a gesture, then recover. Record whether undo is findable and whether the path is the same (shake / toolbar undo / reverse swipe). Code “only a reverse swipe will save it” separately from “shared stack with the tap.” Accidental triggers are more informative than deliberate ones.

Where it stops holding

Continuous manipulations (scroll, pinch, ink) are not command units and do not use this ledger. A system three-finger undo that is out of sync with the app stack will undo the wrong thing. A gesture that only changes a view transient (revealing an action tint, not yet committing) has no command to undo. Equal rules do not mandate a timed undo toast.

Applying it

  • Pipe gesture commits through the same command function and undo stack as the button.
  • Keep a visible undo door (toolbar, top of the list); do not rely on reverse swipe alone.
  • Archive the same message with a button and with a swipe, then undo: both should return the same state.

Related

  • Same group: C3.33.2 Some gestures offer a brief undo window instead of taking effect at once · C3.33.3 Inertial scrolling is not an undoable unit · C3.33.4 Irreversible gesture actions should raise the trigger bar, not only offer undo
  • Adjacent: C3.17 Swipe actions · C3.19 Gesture conflicts and disambiguation
  • Search: command undo · gesture undo · action ledger

Cards in the same group

Quick Actions

Share

Share this page

ios_share

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