Back to compare picker

Long press vs Touch gesture vs Context menu vs Tooltip vs Popover vs Action menu

Use long press for the sustained-contact gesture and its threshold, feedback, cancellation, and equivalent path. Use touch gesture for the broad gesture system, context menu for the command surface opened by invocation, tooltip for brief noninteractive help, popover for richer contextual content, and action menu for visible explicit commands.

Learn the decision

Match the interaction to the person's task

Use long press for the sustained-contact gesture and its threshold, feedback, cancellation, and equivalent path. Use touch gesture for the broad gesture system, context menu for the command surface opened by invocation, tooltip for brief noninteractive help, popover for richer contextual content, and action menu for visible explicit commands.

Long press

Use it when: A touch-first interface needs an optional shortcut to secondary item actions, selection mode, preview, or drag pickup.

Make this state clear: Idle target state with visible identity and alternate action path.

Observe the result: A user touches and holds a photo, sees the hold progress cross threshold, receives haptic feedback, then a context menu opens with Copy, Share, Favorite, and Delete.

Study the full pattern →

Touch gesture

Use it when: A touchscreen interaction needs deliberate design for gesture vocabulary, thresholds, feedback, target sizing, cancellation, and equivalent controls.

Make this state clear: Touch down or gesture start state that identifies the active target.

Observe the result: A user starts swiping a gallery card, sees the next-card preview, changes their mind by moving back under the threshold, and the card snaps back with position unchanged.

Study the full pattern →

Context menu

Use it when: Objects or selections have secondary commands that experienced users expect near the target.

Make this state clear: Resting object or selection state before invocation.

Observe the result: Right click on Forecast.xlsx opens commands for that file, Arrow keys move through items, Escape closes the menu, and focus returns to the file row.

Study the full pattern →

Tooltip

Use it when: A compact control needs a brief supplemental explanation.

Make this state clear: Keyboard focus state where the tooltip appears and focus remains on the trigger.

Observe the result: Tabbing to Archive keeps focus on the button, shows a short description, Escape hides it, and focus remains on Archive.

Study the full pattern →

Popover

Use it when: A local control needs brief explanatory content or light editing while page context remains visible.

Make this state clear: Closed trigger state with visible label, icon name, or field relationship.

Observe the result: Opening the due-date popover moves focus to the first date option, choosing Tomorrow updates the field, closes the layer, and returns focus to the Due date trigger.

Study the full pattern →

Action menu

Use it when: A resource, row, card, selected set, or local page object has several contextual commands.

Make this state clear: Closed trigger or contextual entry point with resource scope.

Observe the result: A user opens Customer actions, chooses Duplicate customer, and receives status that names the customer and keeps focus anchored to the action context.

Study the full pattern →

Practice the judgment: Imagine this situation: A hidden long press is the only way to select, archive, delete, inspect, or open item actions. Write the person's goal, choose one of these patterns, and show the state that helps the person continue. Use the decision rules and source trail below to explain your choice.

Review the underlying principle →

Decision dimensions

Dimension Long pressTouch gestureContext menuTooltipPopoverAction menu
UI or UX UI + UX - Sustained pointer contact that reveals secondary actions, selection, preview, or drag pickupUI + UX - Touch-first gesture vocabulary and fallback contract for taps, swipes, drags, pinches, and multi-touch interactionsUI + UX - Location-invoked contextual command menuUI + UX - Short noninteractive description tied to a triggerUI + UX - Small anchored contextual overlayUI + UX - Contextual command list for a resource or selection
UI guidance Show long press as a sustained-contact gesture with a discoverable hint, press progress, hold threshold, cancellation, release behavior, and a visible non-gesture equivalent.Render touch gesture affordances with visible targets, enough spacing, state feedback, and non-gesture controls for the same outcome when a gesture is path-based, multipoint, hidden, or easy to misfire.Render a context menu as a compact command menu anchored to the object, selection, pointer position, or focused item that invoked it, with clear item labels, disabled reasons, separators, and destructive separation.Render a tooltip as a small text-only bubble visually tied to a focusable trigger, with concise copy, readable contrast, stable placement, and an optional arrow that points to the target.Render a popover as a compact surface visually tied to the trigger, field, selection, or object that opened it, with a clear title or labelled content when the body is more than a short sentence.Render a compact menu of verb-led actions scoped to one resource, row, card, selected set, or page object, with clear section headings, object-aware labels, disabled reasons, and separated dangerous commands.
UX guidance Use long press when a touch-first surface needs a secondary action that benefits from deliberate dwell time and can coexist with tap, scroll, swipe, and drag.Use touch gesture when the product needs direct manipulation on a touchscreen, but treat gestures as part of a larger interaction contract rather than the only way to act.Use a context menu when users need fast object-specific commands from a secondary invocation path such as right click, long press, context-menu key, or Shift+F10.Help the person reach a clear task outcome.Make opening, light dismissal, Escape, outside click, anchor scrolling, focus order, and focus return predictable so the surface feels contextual rather than interruptive.Make the current object or selection count explicit, update actions when scope changes, and route destructive or privacy-sensitive commands into confirmation, undo, restore, or review instead of running silently.
Good UI A file tile shows a short Touch and hold for actions hint, displays a hold ring after press down, opens a context menu at the tile after threshold, and keeps a visible More actions button.A photo viewer supports pinch to zoom, double tap to zoom, plus and minus buttons, a reset button, zoom percent feedback, and a clear pan boundary after zoom.A file row opens a context menu at the selected row with Open, Rename, Duplicate, Download, Archive, and Delete separated at the end.A labelled Archive icon button receives focus and shows a short tooltip that says Moves this report to archived reports.A Due date button in a task row opens a small popover beside the field with Today, Tomorrow, Friday, a custom date field, and a visible close control.A Customer actions menu has Manage customer, Data requests, and Account risk sections, with Edit customer, Merge customer, Request data export, and Delete customer separated at the end.
Bad UI A long press starts drag pickup while users are trying to scroll the list.A hidden edge swipe deletes a message while the user is trying to scroll the list.Right clicking a row opens a menu beside the toolbar and still shows actions for the previously selected row.The tooltip appears only on mouse hover.Escape closes the layer but focus disappears or jumps to the top of the page.Safe, risky, disabled, external, and value-selection items share the same style and role.
Good UX A user touches and holds a photo, sees the hold progress cross threshold, receives haptic feedback, then a context menu opens with Copy, Share, Favorite, and Delete.A user starts swiping a gallery card, sees the next-card preview, changes their mind by moving back under the threshold, and the card snaps back with position unchanged.Right click on Forecast.xlsx opens commands for that file, Arrow keys move through items, Escape closes the menu, and focus returns to the file row.Tabbing to Archive keeps focus on the button, shows a short description, Escape hides it, and focus remains on Archive.Opening the due-date popover moves focus to the first date option, choosing Tomorrow updates the field, closes the layer, and returns focus to the Due date trigger.A user opens Customer actions, chooses Duplicate customer, and receives status that names the customer and keeps focus anchored to the action context.
Bad UX A user taps a card slowly and accidentally opens a hidden destructive menu.A user tries to scroll a feed but the product interprets a short diagonal movement as a destructive swipe action.The menu opens for a stale selected object instead of the object under the pointer.A user presses Escape to hide the tooltip and focus jumps to the top of the page.The user scrolls and the popover stays in the old position, so it appears to describe the wrong field.A user activates a menu item that looks like a command but navigates away and loses unsaved context.
Best fit A touch-first interface needs an optional shortcut to secondary item actions, selection mode, preview, or drag pickup.A touchscreen interaction needs deliberate design for gesture vocabulary, thresholds, feedback, target sizing, cancellation, and equivalent controls.Objects or selections have secondary commands that experienced users expect near the target.A compact control needs a brief supplemental explanation.A local control needs brief explanatory content or light editing while page context remains visible.A resource, row, card, selected set, or local page object has several contextual commands.
Avoid when The action is primary, required, urgent, destructive, security-sensitive, consent-related, payment-related, or account-changing.The gesture is only an implementation detail inside a more specific pattern such as swipe action, pull to refresh, long press, drag and drop, bottom sheet, carousel, or map view.The command is primary, urgent, safety-critical, or required for task completion.The text is the only label or action name.The content is essential instruction that must remain visible for task completion.Only one or two commands are needed and visible buttons would be faster.
Required state Idle target state with visible identity and alternate action path.Touch down or gesture start state that identifies the active target.Resting object or selection state before invocation.Keyboard focus state where the tooltip appears and focus remains on the trigger.Closed trigger state with visible label, icon name, or field relationship.Closed trigger or contextual entry point with resource scope.
Accessibility burden Provide visible controls, action menus, custom screen reader actions, keyboard shortcuts, context-menu invocation, or selection checkboxes for the same outcomes.Provide a simple single-pointer alternative for multipoint or path-based gestures unless the gesture is essential.Support keyboard invocation through the context-menu key or Shift+F10 where the platform expects it.Use tooltip text as a description with aria-describedby when it supplements the trigger.Use a real button or equivalent control as the trigger whenever possible.Give the trigger or menu an accessible name that includes the resource or selected-set scope.
Common misuse Hiding required or primary actions behind undiscoverable long press.Making a hidden gesture the only way to find navigation, delete, refresh, zoom, or edit controls.Making right click or long press the only way to discover important commands.Using hover-only tooltip text as the only label for an icon button.Using a popover as a hidden modal, drawer, sheet, command menu, or full workflow.Letting a bulk action menu run single-object commands against multiple selected items.

Long press

UI or UX
UI + UX - Sustained pointer contact that reveals secondary actions, selection, preview, or drag pickup
UI guidance
Show long press as a sustained-contact gesture with a discoverable hint, press progress, hold threshold, cancellation, release behavior, and a visible non-gesture equivalent.
UX guidance
Use long press when a touch-first surface needs a secondary action that benefits from deliberate dwell time and can coexist with tap, scroll, swipe, and drag.
Good UI
A file tile shows a short Touch and hold for actions hint, displays a hold ring after press down, opens a context menu at the tile after threshold, and keeps a visible More actions button.
Bad UI
A long press starts drag pickup while users are trying to scroll the list.
Good UX
A user touches and holds a photo, sees the hold progress cross threshold, receives haptic feedback, then a context menu opens with Copy, Share, Favorite, and Delete.
Bad UX
A user taps a card slowly and accidentally opens a hidden destructive menu.
Best fit
A touch-first interface needs an optional shortcut to secondary item actions, selection mode, preview, or drag pickup.
Avoid when
The action is primary, required, urgent, destructive, security-sensitive, consent-related, payment-related, or account-changing.
Required state
Idle target state with visible identity and alternate action path.
Accessibility burden
Provide visible controls, action menus, custom screen reader actions, keyboard shortcuts, context-menu invocation, or selection checkboxes for the same outcomes.
Common misuse
Hiding required or primary actions behind undiscoverable long press.

Touch gesture

UI or UX
UI + UX - Touch-first gesture vocabulary and fallback contract for taps, swipes, drags, pinches, and multi-touch interactions
UI guidance
Render touch gesture affordances with visible targets, enough spacing, state feedback, and non-gesture controls for the same outcome when a gesture is path-based, multipoint, hidden, or easy to misfire.
UX guidance
Use touch gesture when the product needs direct manipulation on a touchscreen, but treat gestures as part of a larger interaction contract rather than the only way to act.
Good UI
A photo viewer supports pinch to zoom, double tap to zoom, plus and minus buttons, a reset button, zoom percent feedback, and a clear pan boundary after zoom.
Bad UI
A hidden edge swipe deletes a message while the user is trying to scroll the list.
Good UX
A user starts swiping a gallery card, sees the next-card preview, changes their mind by moving back under the threshold, and the card snaps back with position unchanged.
Bad UX
A user tries to scroll a feed but the product interprets a short diagonal movement as a destructive swipe action.
Best fit
A touchscreen interaction needs deliberate design for gesture vocabulary, thresholds, feedback, target sizing, cancellation, and equivalent controls.
Avoid when
The gesture is only an implementation detail inside a more specific pattern such as swipe action, pull to refresh, long press, drag and drop, bottom sheet, carousel, or map view.
Required state
Touch down or gesture start state that identifies the active target.
Accessibility burden
Provide a simple single-pointer alternative for multipoint or path-based gestures unless the gesture is essential.
Common misuse
Making a hidden gesture the only way to find navigation, delete, refresh, zoom, or edit controls.

Context menu

UI or UX
UI + UX - Location-invoked contextual command menu
UI guidance
Render a context menu as a compact command menu anchored to the object, selection, pointer position, or focused item that invoked it, with clear item labels, disabled reasons, separators, and destructive separation.
UX guidance
Use a context menu when users need fast object-specific commands from a secondary invocation path such as right click, long press, context-menu key, or Shift+F10.
Good UI
A file row opens a context menu at the selected row with Open, Rename, Duplicate, Download, Archive, and Delete separated at the end.
Bad UI
Right clicking a row opens a menu beside the toolbar and still shows actions for the previously selected row.
Good UX
Right click on Forecast.xlsx opens commands for that file, Arrow keys move through items, Escape closes the menu, and focus returns to the file row.
Bad UX
The menu opens for a stale selected object instead of the object under the pointer.
Best fit
Objects or selections have secondary commands that experienced users expect near the target.
Avoid when
The command is primary, urgent, safety-critical, or required for task completion.
Required state
Resting object or selection state before invocation.
Accessibility burden
Support keyboard invocation through the context-menu key or Shift+F10 where the platform expects it.
Common misuse
Making right click or long press the only way to discover important commands.

Tooltip

UI or UX
UI + UX - Short noninteractive description tied to a trigger
UI guidance
Render a tooltip as a small text-only bubble visually tied to a focusable trigger, with concise copy, readable contrast, stable placement, and an optional arrow that points to the target.
UX guidance
Help the person reach a clear task outcome.
Good UI
A labelled Archive icon button receives focus and shows a short tooltip that says Moves this report to archived reports.
Bad UI
The tooltip appears only on mouse hover.
Good UX
Tabbing to Archive keeps focus on the button, shows a short description, Escape hides it, and focus remains on Archive.
Bad UX
A user presses Escape to hide the tooltip and focus jumps to the top of the page.
Best fit
A compact control needs a brief supplemental explanation.
Avoid when
The text is the only label or action name.
Required state
Keyboard focus state where the tooltip appears and focus remains on the trigger.
Accessibility burden
Use tooltip text as a description with aria-describedby when it supplements the trigger.
Common misuse
Using hover-only tooltip text as the only label for an icon button.

Popover

UI or UX
UI + UX - Small anchored contextual overlay
UI guidance
Render a popover as a compact surface visually tied to the trigger, field, selection, or object that opened it, with a clear title or labelled content when the body is more than a short sentence.
UX guidance
Make opening, light dismissal, Escape, outside click, anchor scrolling, focus order, and focus return predictable so the surface feels contextual rather than interruptive.
Good UI
A Due date button in a task row opens a small popover beside the field with Today, Tomorrow, Friday, a custom date field, and a visible close control.
Bad UI
Escape closes the layer but focus disappears or jumps to the top of the page.
Good UX
Opening the due-date popover moves focus to the first date option, choosing Tomorrow updates the field, closes the layer, and returns focus to the Due date trigger.
Bad UX
The user scrolls and the popover stays in the old position, so it appears to describe the wrong field.
Best fit
A local control needs brief explanatory content or light editing while page context remains visible.
Avoid when
The content is essential instruction that must remain visible for task completion.
Required state
Closed trigger state with visible label, icon name, or field relationship.
Accessibility burden
Use a real button or equivalent control as the trigger whenever possible.
Common misuse
Using a popover as a hidden modal, drawer, sheet, command menu, or full workflow.

Action menu

UI or UX
UI + UX - Contextual command list for a resource or selection
UI guidance
Render a compact menu of verb-led actions scoped to one resource, row, card, selected set, or page object, with clear section headings, object-aware labels, disabled reasons, and separated dangerous commands.
UX guidance
Make the current object or selection count explicit, update actions when scope changes, and route destructive or privacy-sensitive commands into confirmation, undo, restore, or review instead of running silently.
Good UI
A Customer actions menu has Manage customer, Data requests, and Account risk sections, with Edit customer, Merge customer, Request data export, and Delete customer separated at the end.
Bad UI
Safe, risky, disabled, external, and value-selection items share the same style and role.
Good UX
A user opens Customer actions, chooses Duplicate customer, and receives status that names the customer and keeps focus anchored to the action context.
Bad UX
A user activates a menu item that looks like a command but navigates away and loses unsaved context.
Best fit
A resource, row, card, selected set, or local page object has several contextual commands.
Avoid when
Only one or two commands are needed and visible buttons would be faster.
Required state
Closed trigger or contextual entry point with resource scope.
Accessibility burden
Give the trigger or menu an accessible name that includes the resource or selected-set scope.
Common misuse
Letting a bulk action menu run single-object commands against multiple selected items.
Decision rules
  • Choose long press when users press and hold a target long enough to reveal secondary actions, enter selection mode, open preview, or begin drag pickup.
  • Choose touch gesture when the design problem spans multiple gestures such as tap, swipe, pinch, drag, threshold, cancellation, target sizing, and system gesture boundaries.
  • Choose context menu when the primary issue is the target-scoped command menu itself: command labels, grouping, disabled reasons, focus movement, and keyboard context-menu invocation.
  • Choose tooltip when the content is short, supplemental, noninteractive text tied to hover or focus rather than sustained touch contact.
  • Choose popover when the target opens richer nonmodal contextual content or lightweight controls that need focus and dismissal behavior.
  • Choose action menu when commands should be exposed by a visible button or menu trigger instead of discovered through sustained contact.
  • Long press must define hold duration, press-down feedback, progress or threshold cue, movement tolerance, release-before-threshold cancellation, destination after threshold, and equivalent non-gesture control.
  • Long press must not be the only path to primary, destructive, required, security-sensitive, payment, consent, or account actions.
  • Long press conflicts must be resolved against tap, double tap, vertical scroll, swipe action, pull-to-refresh, drag pickup, text selection, hover tooltip, and system gestures.
  • Do not treat a context menu, tooltip, popover, or action menu as long press unless the sustained-contact invocation itself is designed and tested.
Inspect live examples
Failure modes
  • A hidden long press is the only way to select, archive, delete, inspect, or open item actions.
  • Slow tap accidentally opens a menu because hold duration and cancellation are poorly tuned.
  • A press-and-hold tooltip contains required instructions but cannot be reached through keyboard or assistive technology.
  • Long press starts drag pickup while users are trying to scroll.
  • The long-press destination and the visible action menu expose different commands.
  • A destructive action commits when the hold threshold is reached instead of revealing a label, confirmation, or undo path.
  • The comparison confuses the input gesture with the menu, tooltip, popover, or command surface it may open.

Saved items