interaction design
Gestures
What are gestures in UX?
Gestures are touch and pointer movements - tap, swipe, long-press, pinch, drag - that trigger actions without an on-screen control. They make interfaces feel fluid and direct and save space, but because a gesture leaves no visible button, its big weakness is discoverability: people can't use what they can't see, so hidden gestures need teaching, hints, or a visible alternative.
Also known as: gestures, touch gestures, swipe
Prefer to watch?
Watch the recap 1:06
The demo
A message you can archive. First the “clean” version where the only way is a swipe you have to know about - then one with a visible button too. Try to archive in each.
What this demo shows (text version)
A message row can be archived. In "gesture only" mode the single way to do it is to swipe (drag) the row left - but nothing on screen tells you that, so a first-time user has no idea the action exists. In "gesture + button" mode the same swipe still works, but there's also a visible Archive button, so anyone can do it whether or not they know the gesture.
That's the gesture trade-off: gestures are fluid and space-saving but invisible, so hiding an essential action behind one hides it from everyone who doesn't already know it. Use familiar gestures, teach the non-obvious ones, and always pair important actions with a visible, accessible control - the gesture as a shortcut, not the only door.
Gestures are powerful and space-saving but invisible - their core problem is that nothing on screen tells you they exist. A swipe-to-archive or long-press menu feels great once you know it, but a first-timer never discovers it, and gestures vary across platforms and can be hard for some motor abilities. So lean on well-known conventions (tap, scroll, pinch-to-zoom) that people already expect, teach the non-obvious ones with hints or coachmarks, and never hide an essential action behind a gesture alone - always pair it with a visible control. Gestures should be a fast shortcut for those who know them, layered over an interface that works without them.
Once you knew to swipe, archiving was quick and satisfying - but did you know to swipe before being told? That's the gesture problem: it's invisible. Add a visible button and the same action works for everyone, with the swipe as a bonus shortcut. Hide an important action behind a gesture alone and you've hidden it from everyone who doesn't already know the trick.
Gestures range from near-universal conventions (tap to select, scroll, pinch-to-zoom, swipe to navigate) to app-specific inventions (swipe a row to reveal actions, long-press for a menu, two-finger shortcuts). The well-known ones transfer via Jakob's Law and are safe to rely on; the bespoke ones carry no signifier, so users won't find them without help. The more a gesture deviates from convention, the more it must be taught.
The recurring weaknesses are discoverability, consistency and accessibility. A gesture has no visible affordance, so it's easy to miss; gestures differ across iOS, Android and web, breaking expectations; and they can be difficult or impossible for people with motor impairments, on assistive tech, or in awkward contexts. Accidental or conflicting gestures (a swipe that fights a scroll) add friction and error.
Design gestures as enhancements, not requirements: use familiar gestures people already expect, hint at non-obvious ones (a peeking action on swipe, a brief coachmark, a settle animation), and always provide a visible, accessible control for anything important so the interface is fully usable without any gesture at all. Give clear feedback during and after the gesture, and avoid hiding critical or destructive actions behind a movement someone has to already know.