Inline Two-Step Confirmation
Summary
An interaction pattern where a destructive action requires two consecutive user actions to complete, without using a modal or external confirmation UI.
The first action arms the operation by changing the UI state. The second action confirms and executes it.
When to use
Use this pattern when:
- The action is destructive or irreversible (e.g., delete account, remove data)
- You want to avoid interruptive modals
- The action happens in a dense or repeated UI (lists, settings pages)
- You need lightweight friction to prevent accidental clicks
When NOT to use
Avoid this pattern when:
- The action is high-risk and irreversible (e.g., legal/financial consequences)
- Users need clear, explicit confirmation
- Accessibility and clarity are critical (modals are more explicit)
- The consequence is complex or not obvious
Anatomy
Default state
- Primary destructive action is visible
- Example:
Delete account
Armed state (after first click)
- Label changes to indicate confirmation step
- Visual emphasis increases (color, warning tone)
- Optional: countdown or timeout
Example:
Delete account→Click again to delete
Execution
- Second click performs the action immediately
Interaction flow
- User clicks destructive action
- UI transitions to armed state
- User clicks again to confirm
- If:
- Confirmed → action executes
- No action / timeout → revert to default state
Behavior guidelines
State change clarity
- Must be highly visible
- Change label, color, and/or icon
- Avoid subtle transitions
Timing (optional but recommended)
- Revert to default after 3–10 seconds
- Prevents accidental delayed confirmations
Feedback
- Provide immediate feedback after execution:
- Toast (“Account deleted”)
- Navigation change
- Undo option (if possible)
Accessibility considerations
- Ensure screen readers announce the state change:
- e.g., “Press again to confirm deletion”
- Maintain focus on the button
- Do not rely on color alone
- Ensure sufficient contrast in warning state
Advantages
- Less disruptive than modals
- Keeps users in context
- Fast for intentional actions
- Reduces accidental clicks
Disadvantages
- Less explicit than modal confirmations
- Can be confusing if state change is subtle
- Easy to miss on first use
- Risky for very critical actions
Design recommendations
Copywriting
- Be explicit and action-oriented:
- ✅ “Click again to delete”
- ❌ “Are you sure?”
Visual design
- Use stronger destructive styling in armed state:
- Red background / border
- Warning icon
- Consider micro-animation to signal change