Back to compare picker

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

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.

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.Use tooltips to add a brief description on focus or hover without asking users to open a separate layer or change task mode.Use a popover when users need local context, clarification, or a small edit without losing their place in the page.Use an action menu when users need several contextual commands without keeping every command visible, and the list itself must explain scope, availability, risk, and outcome.
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 silently deletes an item with no hint, progress, confirmation, undo, or visible alternative.A map can only be zoomed with a two-finger pinch and has no plus, minus, or reset controls.Right clicking a row opens a menu beside the toolbar and still shows actions for the previously selected row.A mystery icon has no label and the only explanation is a hover-only tooltip that never appears for touch users.A large floating panel appears in the middle of the screen with no arrow, no title, no trigger relationship, and hidden controls below the fold.A More menu contains Open, Edit, View, Delete, Settings, Filter, Owner, and a search box with no sections or object names.
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 pinches a diagram to zoom, sees the scale change, releases outside the threshold without committing a rotate gesture, then uses visible Zoom in and Reset controls with one finger.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 with a head pointer cannot trigger a two-finger gesture and has no single-pointer alternative.Keyboard invocation opens at the top-left corner with no visible relationship to the focused object.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 chooses Delete from a generic row menu and cannot tell whether it deletes the row, account, attached files, or selected customers.
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.Idle state with visible touch targets, gesture hints when needed, and no reliance on hover.Resting object or selection state before invocation.Resting trigger state with a visible or accessible name that works without the tooltip.Closed trigger state with visible label, icon name, or field relationship.Closed trigger or contextual entry point with resource scope.
Accessibility burden Do not require sustained contact as the only way to access functionality.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.Requiring pinch, rotate, two-finger swipe, or shape gestures with no single-pointer alternative.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.Treating the action menu as a junk drawer for every command that does not fit elsewhere.

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 silently deletes an item with no hint, progress, confirmation, undo, or visible alternative.
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
Do not require sustained contact as the only way to access functionality.
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 map can only be zoomed with a two-finger pinch and has no plus, minus, or reset controls.
Good UX
A user pinches a diagram to zoom, sees the scale change, releases outside the threshold without committing a rotate gesture, then uses visible Zoom in and Reset controls with one finger.
Bad UX
A user with a head pointer cannot trigger a two-finger gesture and has no single-pointer alternative.
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
Idle state with visible touch targets, gesture hints when needed, and no reliance on hover.
Accessibility burden
Provide a simple single-pointer alternative for multipoint or path-based gestures unless the gesture is essential.
Common misuse
Requiring pinch, rotate, two-finger swipe, or shape gestures with no single-pointer alternative.

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
Keyboard invocation opens at the top-left corner with no visible relationship to the focused object.
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
Use tooltips to add a brief description on focus or hover without asking users to open a separate layer or change task mode.
Good UI
A labelled Archive icon button receives focus and shows a short tooltip that says Moves this report to archived reports.
Bad UI
A mystery icon has no label and the only explanation is a hover-only tooltip that never appears for touch users.
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
Resting trigger state with a visible or accessible name that works without the tooltip.
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
Use a popover when users need local context, clarification, or a small edit without losing their place in the page.
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
A large floating panel appears in the middle of the screen with no arrow, no title, no trigger relationship, and hidden controls below the fold.
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
Use an action menu when users need several contextual commands without keeping every command visible, and the list itself must explain scope, availability, risk, and outcome.
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
A More menu contains Open, Edit, View, Delete, Settings, Filter, Owner, and a search box with no sections or object names.
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 chooses Delete from a generic row menu and cannot tell whether it deletes the row, account, attached files, or selected customers.
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
Treating the action menu as a junk drawer for every command that does not fit elsewhere.
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.