UI + UXCross-Device And Physical Interactionstandard
Long press
Design long press as an optional sustained-contact shortcut with visible teaching, threshold feedback, movement tolerance, cancellation, equivalent controls, clear destination, and recovery or confirmation for risky outcomes.
A touch-first interface needs an optional shortcut to secondary item actions, selection mode, preview, or drag pickup.
The target can show clear feedback before threshold and a predictable destination after threshold.
The same outcome is available through visible, keyboard, and assistive paths.
Avoid when
The action is primary, required, urgent, destructive, security-sensitive, consent-related, payment-related, or account-changing.
Users need persistent instructions or interactive content that should be a popover, inline message, or visible control.
The target already has unresolved scroll, swipe, drag, text-selection, or system-gesture conflicts.
The product cannot provide an equivalent non-gesture path.
The task requires fast repeated actions where a visible button or action menu is more efficient.
Problem it prevents
Long press is useful for secondary touch actions, but sustained hidden contact is hard to discover, easy to confuse with tap, scroll, swipe, drag, context menus, and tooltips, and inaccessible when it replaces visible or keyboard-reachable controls.
Pattern anatomy
What a strong implementation has to make clear
User need
A touch-first surface has objects, cards, rows, messages, files, canvas items, map markers, or media that support secondary actions.
Pattern promise
Design long press as an optional sustained-contact shortcut with visible teaching, threshold feedback, movement tolerance, cancellation, equivalent controls, clear destination, and recovery or confirmation for risky outcomes.
Required state
Idle target state with visible identity and alternate action path.
Recovery path
A hidden long press is the only way to delete, archive, select, or inspect an item.
Access contract
Do not require sustained contact as the only way to access functionality.
Quality bar
The difference between expert and weak execution
Strong implementation
Specific, visible, recoverable
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 task card enters selection mode after a long press, announces 1 task selected, shows a selection toolbar, and lets keyboard users select the same task with a checkbox.
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 holding a row but moves beyond tolerance while scrolling; the hold cancels and the row scrolls normally.
Weak implementation
Vague, hidden, hard to recover from
A long press silently deletes an item with no hint, progress, confirmation, undo, or visible alternative.
A press-and-hold tooltip contains required instructions but cannot be reached by keyboard or screen reader users.
A user taps a card slowly and accidentally opens a hidden destructive menu.
A user with tremor cannot keep contact still for the full threshold and has no alternate control.
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.
Use long press for secondary or accelerated item actions such as selection mode, context menu, preview, reorder pickup, or inspect details; never make it the only route to primary or critical work.
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.
Define the hold duration, movement tolerance, haptic or visual feedback, cancel path, equivalent menu or button, and post-hold destination before implementation.
Implementation contract
What the implementation must handle
States
Idle target state with visible identity and alternate action path.
Gesture hint state that teaches touch and hold without relying on hover.
Press down state that identifies the target before threshold.
Hold progress state showing duration or affordance before action fires.
Interaction
Long press starts only from a target that intentionally supports sustained contact.
The interface gives press-down feedback immediately and progress or dwell feedback before threshold when the delay is noticeable.
The gesture cancels cleanly if the user releases before threshold, moves beyond tolerance, begins vertical scroll, starts an incompatible swipe, or presses Escape on an equivalent path.
Crossing threshold opens a named destination such as context menu, selection mode, preview, inspect panel, or drag pickup rather than performing an unexplained action.
Accessibility
Do not require sustained contact as the only way to access functionality.
Provide visible controls, action menus, custom screen reader actions, keyboard shortcuts, context-menu invocation, or selection checkboxes for the same outcomes.
Expose target name, hold result, selected count, opened menu, preview, or drag pickup through status text when state changes.
Avoid relying on haptic feedback, motion, color, or hover-only hints as the sole cue.
Review
What exact outcome happens after the hold threshold: menu, selection, preview, drag pickup, or action?
How do users discover that touch and hold is available before needing it?
What hold duration, movement tolerance, and cancellation rules prevent accidental activation?
What visible or accessible control performs the same outcome without sustained contact?
Interactive lab
Inspect the states before you copy the pattern
Use sustained contact for secondary actions
Inspect idle target, gesture hint, press down, hold progress, threshold reached, release cancel, movement cancel, context menu, selection mode, preview, drag pickup, disabled action, destructive handoff, keyboard path, screen reader action, and mobile compact states; compare hidden-only, slow tap misfire, no cancel, scroll conflict, required tooltip, destructive commit, and no equivalent failures.
Long press
Interactive demo is ready
Launch the live UI/UX lab when you want to inspect states, keyboard behavior, and common failure modes.
State To Inspect
Idle target state with visible identity and alternate action path.
Keyboard / Access
Keyboard users can open the same action set through a visible button, context-menu key, Shift+F10, checkbox, shortcut, or focused command.
Avoid Generating
Hiding required or primary actions behind undiscoverable long press.
Supports non-gesture alternatives where gesture behavior is demanding or path-based.
Full agent/debug reference
Problem Context
A touch-first surface has objects, cards, rows, messages, files, canvas items, map markers, or media that support secondary actions.
The same target may also support tap-to-open, double tap, swipe action, drag pickup, text selection, scroll, context menu, hover tooltip, or popover.
Users may need selection mode, item actions, preview, inspect details, reorder pickup, copied text actions, or temporary reveal.
The product must support users who cannot sustain contact, cannot keep a pointer still, use keyboard or switch control, use a screen reader, or interact with a mouse and trackpad.
Selection Rules
Choose long press when the design problem is a sustained-contact gesture and its threshold, feedback, cancellation, and equivalent action path.
Use touch gesture when the question is the broader vocabulary and fallback contract across tap, swipe, pinch, drag, and other gestures.
Use context menu when the main question is the menu surface, command grouping, focus movement, and target-specific command scope after invocation.
Use tooltip when the surface only supplies short supplemental text and no interactive controls.
Use popover when the target opens nonmodal contextual content with richer text or controls.
Use action menu when commands should be opened from a visible trigger instead of relying on sustained contact.
Use swipe action when a horizontal row gesture reveals or commits an item action.
Use drag and drop when sustained contact is only the pickup phase for moving an object to a destination.
Provide a visible More actions button, menu, checkbox, shortcut, or custom action for every long-press-only outcome.
Do not use long press for primary, urgent, destructive, payment, consent, account, security, or required instructions.
Required States
Idle target state with visible identity and alternate action path.
Gesture hint state that teaches touch and hold without relying on hover.
Press down state that identifies the target before threshold.
Hold progress state showing duration or affordance before action fires.
Threshold reached state with haptic, visual, or status feedback.
Release-before-threshold cancellation state that leaves data unchanged.
Movement-tolerance cancellation state when the user scrolls, swipes, drags too far, or leaves the target.
Context menu, preview, selection mode, or drag-pickup destination state after threshold.
Disabled or unavailable long-press state with explanation.
Destructive or high-impact action handoff to undo, confirmation, or review.
Mobile compact, large-text, one-handed, landscape, and assistive-touch states.
Interaction Contract
Long press starts only from a target that intentionally supports sustained contact.
The interface gives press-down feedback immediately and progress or dwell feedback before threshold when the delay is noticeable.
The gesture cancels cleanly if the user releases before threshold, moves beyond tolerance, begins vertical scroll, starts an incompatible swipe, or presses Escape on an equivalent path.
Crossing threshold opens a named destination such as context menu, selection mode, preview, inspect panel, or drag pickup rather than performing an unexplained action.
Tap, double tap, swipe action, pull-to-refresh, drag, and system gestures have explicit priority rules against long press.
Every outcome is available through a non-gesture equivalent with matching disabled, pending, success, and recovery states.
Destructive outcomes after long press require explicit tap, confirmation, or undo according to reversibility.
Status messaging names the target and action when long press changes selection, opens actions, or completes work.
Implementation Checklist
Inventory each long-press target, purpose, duration threshold, movement tolerance, destination, action scope, and equivalent control.
Decide whether long press opens a context menu, enters selection mode, shows preview, starts drag pickup, reveals hidden controls, or performs another specific outcome.
Add visible teaching such as More actions, selection checkbox, handle, hint text, or onboarding only where users need to discover the shortcut.
Implement press-down feedback, progress feedback, haptic feedback where platform appropriate, threshold reached state, cancellation, and release behavior.
Resolve conflicts with tap, double tap, scroll, swipe action, pull-to-refresh, drag pickup, text selection, hover tooltip, popover, and system gestures.
Expose the same actions through buttons, menus, keyboard, screen reader custom actions, context menu key, switch control, or other assistive paths.
Route destructive or high-impact outcomes through confirmation, undo, delayed commit, or review rather than committing on threshold.
Test slow tap, tremor, accidental movement, long text selection, nested scrollers, one-handed use, large text, screen reader touch exploration, keyboard, switch, mouse, trackpad, stylus, and mobile landscape.
Common Generated-UI Mistakes
Hiding required or primary actions behind undiscoverable long press.
Using long press as a tooltip that contains required or interactive content.
Committing destructive work as soon as the hold threshold is reached.
Failing to cancel when users release early or start scrolling.
Conflicting with swipe action, drag pickup, text selection, or pull-to-refresh on the same target.
Providing no keyboard, screen reader, switch, mouse, or visible menu equivalent.
Using hover hints to teach a touch gesture.
Making the required hold duration too long, too short, or inconsistent across similar targets.
Critique Questions
What exact outcome happens after the hold threshold: menu, selection, preview, drag pickup, or action?
How do users discover that touch and hold is available before needing it?
What hold duration, movement tolerance, and cancellation rules prevent accidental activation?
What visible or accessible control performs the same outcome without sustained contact?
How do tap, scroll, swipe action, pull-to-refresh, drag, text selection, context menu, and system gestures avoid conflict?
What happens if the target becomes disabled, moves, or changes state during the hold?
Does any destructive outcome require confirmation, undo, or explicit activation after reveal?
Accessibility
Do not require sustained contact as the only way to access functionality.
Provide visible controls, action menus, custom screen reader actions, keyboard shortcuts, context-menu invocation, or selection checkboxes for the same outcomes.
Expose target name, hold result, selected count, opened menu, preview, or drag pickup through status text when state changes.
Avoid relying on haptic feedback, motion, color, or hover-only hints as the sole cue.
Respect target size and spacing for the target and equivalent controls.
Let users cancel without data change when release, movement, scroll, or focus change occurs before threshold.
Avoid long hold requirements for users with motor impairments unless a simpler path exists beside it.
Keyboard Behavior
Keyboard users can open the same action set through a visible button, context-menu key, Shift+F10, checkbox, shortcut, or focused command.
Enter or Space on the target follows the primary tap behavior, not a hidden long-press result.
Escape cancels equivalent revealed menus, previews, selection modes, or drag-pickup states where applicable.
After opening a context menu or popover, focus follows that pattern's focus rules.
After entering selection mode, focus remains on or near the selected target and selected count is announced.
After completion, focus moves to a status, undo control, confirmation, affected object, or next logical target.