Back to compare picker

Confirmation fatigue vs Confirmation dialog vs Destructive action confirmation vs Undo vs Warning text vs Dangerous-action review

Flag confirmation fatigue when routine or reversible actions are repeatedly blocked by low-value prompts; use confirmation dialog, destructive action confirmation, undo, warning text, or dangerous-action review according to consequence, reversibility, and inspectable risk.

Learn the decision

Match the interaction to the person's task

Flag confirmation fatigue when routine or reversible actions are repeatedly blocked by low-value prompts; use confirmation dialog, destructive action confirmation, undo, warning text, or dangerous-action review according to consequence, reversibility, and inspectable risk.

Confirmation fatigue

Use it when: Use this anti-pattern entry to audit products that ask for confirmation on many routine actions or use identical prompts for different levels of risk.

Make this state clear: Prompt inventory state showing which actions are confirmed, how often they occur, and what consequence each confirmation prevents.

Observe the result: A user archives ten low-risk notifications quickly, can undo the last archive, and still pauses when the only modal names permanent account deletion.

Study the full pattern →

Confirmation dialog

Use it when: The action is destructive, irreversible, costly, security-sensitive, privacy-affecting, or externally visible.

Make this state clear: Pre-action state with an explicit consequential trigger.

Observe the result: Cancel, Escape, and Keep archive leave the archive unchanged and return focus to Delete archive.

Study the full pattern →

Destructive action confirmation

Use it when: A user has initiated a destructive command that can permanently remove, revoke, reset, deactivate, or cancel something valuable.

Make this state clear: Review state that names the destructive verb, target object, and affected scope.

Observe the result: A user opens Delete workspace, reviews the object count and webhooks, cancels, and returns to the same workspace with nothing changed.

Study the full pattern →

Undo

Use it when: The action is common and mistakes are likely.

Make this state clear: Normal state before the user action.

Observe the result: Undo restores the deleted task to the list and reports Quarterly report restored.

Study the full pattern →

Warning text

Use it when: A user must understand a serious consequence before taking or skipping an action.

Make this state clear: Before-action warning state placed immediately before the related control or declaration.

Observe the result: Users see the fine or eligibility consequence before checking the declaration and can pause to verify their answer.

Study the full pattern →

Dangerous-action review

Use it when: A user, agent, automation, or admin tool is about to execute a high-impact action that can affect money, access, production systems, legal/compliance state, customers, external recipients, sensitive data, or safety.

Make this state clear: Armed action state with verb, target, payload, actor, source, and exact execution boundary.

Observe the result: A release manager sees that a deploy action affects production EU, has a stale smoke test, cancels execution, refreshes checks, and then runs the action with an audit record.

Study the full pattern →

Practice the judgment: Imagine this situation: A product confirms every archive, filter reset, dismiss, and close action, then users click through a real permanent-delete prompt unread. 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 Confirmation fatigueConfirmation dialogDestructive action confirmationUndoWarning textDangerous-action review
UI or UX UI + UX - Anti-pattern where repeated low-value confirmations train users to dismiss real risk prompts automaticallyUI + UX - Consequential alert decisionUI + UX - Final destructive commit reviewUX - Post-action recovery behaviorUI + UX - Severe-consequence warning copy before an actionUI + UX - Pre-execution review of high-impact actions that may affect money, access, production systems, legal status, customers, external recipients, or safety
UI guidance Make the UI distinguish routine action feedback from genuine risk: use inline status, undo, warning text, disabled prevention, review, or clearer command placement instead of another generic Are you sure dialog.Render an alert-style modal decision with a specific title, consequence description, safe cancellation, and a destructive action label that names the object or scope.Render a destructive confirmation after the user invokes a destructive command, with a title and final action button that repeat the destructive verb and target, such as Delete workspace or Cancel subscription.Show a named recovery affordance after the completed action, such as Undo delete for a specific task, near the result or in a consistent status region.Render warning text as a short high-emphasis statement with a warning icon, visible or hidden warning label, and explicit consequence copy placed before the relevant action, declaration, or instruction.Render dangerous-action review as a pre-execution checkpoint that names the armed action, actor, target, scope, affected systems, external effects, risk reason, evidence, freshness, permissions, alternatives, and exact outcome of Run, Cancel, Edit, or Escalate.
UX guidance Help the person reach a clear task outcome.Help the person reach a clear task outcome.Make the safe path explicit and easy, keep the destructive action unavailable until required review is satisfied, and report whether the object was kept, blocked, or permanently committed.Let users move quickly through frequent reversible actions, then recover from mistakes after seeing the result.Use warning text when users must understand a serious consequence before acting or failing to act, such as a fine, loss of access, permanent deletion, eligibility impact, or legal responsibility.Help users decide whether to run, revise, cancel, defer, or escalate the action by making the action payload inspectable, comparing it with safer alternatives, revalidating stale state, and recording what the reviewer saw before execution.
Good UI Archiving a message completes immediately with Message archived and Undo, while permanently deleting a workspace opens a specific destructive confirmation.Delete Research archive? explains that 14 notes and shared links will be permanently removed, offers Keep archive, and labels the danger action Delete archive.Delete Payments project? lists 4 dashboards, 12 saved views, 3 webhooks, and 8 shared links, offers Keep project, and labels the danger action Delete Payments project.Deleting Quarterly report removes it from the list and shows a recovery panel saying Quarterly report deleted with an Undo task button.Before Submit declaration, a warning with an exclamation icon says the user may be fined if they provide false information.A production console shows Restart payment workers, affected region, open incidents, customer impact, rollback owner, evidence links, change window, dry-run result, and Run restart only after the reviewer checks the risk inventory.
Bad UI Every Save, Dismiss, Filter, Archive, and Close action opens the same Are you sure? modal with OK and Cancel.The red destructive action is enabled immediately and sits where users expect the routine primary button.A soft archive action opens the same severe deletion confirmation used for permanent account closure.Undo action disappears before users can activate it.A red sentence says Important below the submit button after the user has already acted.A warning says This may be risky but hides the target, policy trigger, evidence, and whether the action can be undone.
Good UX A user archives ten low-risk notifications quickly, can undo the last archive, and still pauses when the only modal names permanent account deletion.Cancel, Escape, and Keep archive leave the archive unchanged and return focus to Delete archive.A user opens Delete workspace, reviews the object count and webhooks, cancels, and returns to the same workspace with nothing changed.Undo restores the deleted task to the list and reports Quarterly report restored.Users see the fine or eligibility consequence before checking the declaration and can pause to verify their answer.A release manager sees that a deploy action affects production EU, has a stale smoke test, cancels execution, refreshes checks, and then runs the action with an audit record.
Bad UX A user clicks OK through a production delete prompt because the last 30 prompts all looked identical and protected harmless actions.Every archive, filter, and dismiss action opens the same confirmation until users click through automatically.A user confirms deletion because OK looks like the primary next step, then discovers shared links and child reports were lost.The UI promises undo for a side effect that has already notified external recipients.Users incur a penalty because the warning looked like ordinary hint text.A user approves a notification from email after the underlying payload changed, and the system executes against a different customer.
Best fit Use this anti-pattern entry to audit products that ask for confirmation on many routine actions or use identical prompts for different levels of risk.The action is destructive, irreversible, costly, security-sensitive, privacy-affecting, or externally visible.A user has initiated a destructive command that can permanently remove, revoke, reset, deactivate, or cancel something valuable.The action is common and mistakes are likely.A user must understand a serious consequence before taking or skipping an action.A user, agent, automation, or admin tool is about to execute a high-impact action that can affect money, access, production systems, legal/compliance state, customers, external recipients, sensitive data, or safety.
Avoid when Choose another interaction when the task calls for a different route.The action is routine and easily reversible.The action is a routine reversible archive, hide, dismiss, move, reorder, or trash move.Recovery would restore only part of the user's lost work.The message is a dynamic task status that must be announced when it appears.The risk is narrowly permanent deletion or loss of a named object; use destructive action confirmation.
Required state Prompt inventory state showing which actions are confirmed, how often they occur, and what consequence each confirmation prevents.Pre-action state with an explicit consequential trigger.Review state that names the destructive verb, target object, and affected scope.Normal state before the user action.Before-action warning state placed immediately before the related control or declaration.Armed action state with verb, target, payload, actor, source, and exact execution boundary.
Accessibility burden Reducing unnecessary dialogs reduces focus disruption, but replacement feedback and undo controls must remain keyboard reachable and programmatically identifiable.Use alertdialog semantics or platform equivalent when the decision is urgent and requires a response.Use alertdialog semantics or platform equivalent when the destructive decision requires an immediate response.Make the undo control keyboard reachable and programmatically identifiable.Keep the warning in reading order before the control, declaration, or instruction it qualifies.Use headings and labels that name the action and target before risk details.
Common misuse Using one generic confirmation component for every action from closing a panel to deleting a workspace.Asking users to confirm every routine action until they stop reading.Labelling the destructive commit OK, Yes, Continue, or Confirm.Restoring only part of the prior state while implying full recovery.Using warning text for routine hints, explanations, or mild reminders.Showing a risk warning but hiding the action payload, target, recipients, amount, command, environment, or external effect.

Confirmation fatigue

UI or UX
UI + UX - Anti-pattern where repeated low-value confirmations train users to dismiss real risk prompts automatically
UI guidance
Make the UI distinguish routine action feedback from genuine risk: use inline status, undo, warning text, disabled prevention, review, or clearer command placement instead of another generic Are you sure dialog.
UX guidance
Help the person reach a clear task outcome.
Good UI
Archiving a message completes immediately with Message archived and Undo, while permanently deleting a workspace opens a specific destructive confirmation.
Bad UI
Every Save, Dismiss, Filter, Archive, and Close action opens the same Are you sure? modal with OK and Cancel.
Good UX
A user archives ten low-risk notifications quickly, can undo the last archive, and still pauses when the only modal names permanent account deletion.
Bad UX
A user clicks OK through a production delete prompt because the last 30 prompts all looked identical and protected harmless actions.
Best fit
Use this anti-pattern entry to audit products that ask for confirmation on many routine actions or use identical prompts for different levels of risk.
Avoid when
Choose another interaction when the task calls for a different route.
Required state
Prompt inventory state showing which actions are confirmed, how often they occur, and what consequence each confirmation prevents.
Accessibility burden
Reducing unnecessary dialogs reduces focus disruption, but replacement feedback and undo controls must remain keyboard reachable and programmatically identifiable.
Common misuse
Using one generic confirmation component for every action from closing a panel to deleting a workspace.

Confirmation dialog

UI or UX
UI + UX - Consequential alert decision
UI guidance
Render an alert-style modal decision with a specific title, consequence description, safe cancellation, and a destructive action label that names the object or scope.
UX guidance
Help the person reach a clear task outcome.
Good UI
Delete Research archive? explains that 14 notes and shared links will be permanently removed, offers Keep archive, and labels the danger action Delete archive.
Bad UI
The red destructive action is enabled immediately and sits where users expect the routine primary button.
Good UX
Cancel, Escape, and Keep archive leave the archive unchanged and return focus to Delete archive.
Bad UX
Every archive, filter, and dismiss action opens the same confirmation until users click through automatically.
Best fit
The action is destructive, irreversible, costly, security-sensitive, privacy-affecting, or externally visible.
Avoid when
The action is routine and easily reversible.
Required state
Pre-action state with an explicit consequential trigger.
Accessibility burden
Use alertdialog semantics or platform equivalent when the decision is urgent and requires a response.
Common misuse
Asking users to confirm every routine action until they stop reading.

Destructive action confirmation

UI or UX
UI + UX - Final destructive commit review
UI guidance
Render a destructive confirmation after the user invokes a destructive command, with a title and final action button that repeat the destructive verb and target, such as Delete workspace or Cancel subscription.
UX guidance
Make the safe path explicit and easy, keep the destructive action unavailable until required review is satisfied, and report whether the object was kept, blocked, or permanently committed.
Good UI
Delete Payments project? lists 4 dashboards, 12 saved views, 3 webhooks, and 8 shared links, offers Keep project, and labels the danger action Delete Payments project.
Bad UI
A soft archive action opens the same severe deletion confirmation used for permanent account closure.
Good UX
A user opens Delete workspace, reviews the object count and webhooks, cancels, and returns to the same workspace with nothing changed.
Bad UX
A user confirms deletion because OK looks like the primary next step, then discovers shared links and child reports were lost.
Best fit
A user has initiated a destructive command that can permanently remove, revoke, reset, deactivate, or cancel something valuable.
Avoid when
The action is a routine reversible archive, hide, dismiss, move, reorder, or trash move.
Required state
Review state that names the destructive verb, target object, and affected scope.
Accessibility burden
Use alertdialog semantics or platform equivalent when the destructive decision requires an immediate response.
Common misuse
Labelling the destructive commit OK, Yes, Continue, or Confirm.

Undo

UI or UX
UX - Post-action recovery behavior
UI guidance
Show a named recovery affordance after the completed action, such as Undo delete for a specific task, near the result or in a consistent status region.
UX guidance
Let users move quickly through frequent reversible actions, then recover from mistakes after seeing the result.
Good UI
Deleting Quarterly report removes it from the list and shows a recovery panel saying Quarterly report deleted with an Undo task button.
Bad UI
Undo action disappears before users can activate it.
Good UX
Undo restores the deleted task to the list and reports Quarterly report restored.
Bad UX
The UI promises undo for a side effect that has already notified external recipients.
Best fit
The action is common and mistakes are likely.
Avoid when
Recovery would restore only part of the user's lost work.
Required state
Normal state before the user action.
Accessibility burden
Make the undo control keyboard reachable and programmatically identifiable.
Common misuse
Restoring only part of the prior state while implying full recovery.

Warning text

UI or UX
UI + UX - Severe-consequence warning copy before an action
UI guidance
Render warning text as a short high-emphasis statement with a warning icon, visible or hidden warning label, and explicit consequence copy placed before the relevant action, declaration, or instruction.
UX guidance
Use warning text when users must understand a serious consequence before acting or failing to act, such as a fine, loss of access, permanent deletion, eligibility impact, or legal responsibility.
Good UI
Before Submit declaration, a warning with an exclamation icon says the user may be fined if they provide false information.
Bad UI
A red sentence says Important below the submit button after the user has already acted.
Good UX
Users see the fine or eligibility consequence before checking the declaration and can pause to verify their answer.
Bad UX
Users incur a penalty because the warning looked like ordinary hint text.
Best fit
A user must understand a serious consequence before taking or skipping an action.
Avoid when
The message is a dynamic task status that must be announced when it appears.
Required state
Before-action warning state placed immediately before the related control or declaration.
Accessibility burden
Keep the warning in reading order before the control, declaration, or instruction it qualifies.
Common misuse
Using warning text for routine hints, explanations, or mild reminders.

Dangerous-action review

UI or UX
UI + UX - Pre-execution review of high-impact actions that may affect money, access, production systems, legal status, customers, external recipients, or safety
UI guidance
Render dangerous-action review as a pre-execution checkpoint that names the armed action, actor, target, scope, affected systems, external effects, risk reason, evidence, freshness, permissions, alternatives, and exact outcome of Run, Cancel, Edit, or Escalate.
UX guidance
Help users decide whether to run, revise, cancel, defer, or escalate the action by making the action payload inspectable, comparing it with safer alternatives, revalidating stale state, and recording what the reviewer saw before execution.
Good UI
A production console shows Restart payment workers, affected region, open incidents, customer impact, rollback owner, evidence links, change window, dry-run result, and Run restart only after the reviewer checks the risk inventory.
Bad UI
A warning says This may be risky but hides the target, policy trigger, evidence, and whether the action can be undone.
Good UX
A release manager sees that a deploy action affects production EU, has a stale smoke test, cancels execution, refreshes checks, and then runs the action with an audit record.
Bad UX
A user approves a notification from email after the underlying payload changed, and the system executes against a different customer.
Best fit
A user, agent, automation, or admin tool is about to execute a high-impact action that can affect money, access, production systems, legal/compliance state, customers, external recipients, sensitive data, or safety.
Avoid when
The risk is narrowly permanent deletion or loss of a named object; use destructive action confirmation.
Required state
Armed action state with verb, target, payload, actor, source, and exact execution boundary.
Accessibility burden
Use headings and labels that name the action and target before risk details.
Common misuse
Showing a risk warning but hiding the action payload, target, recipients, amount, command, environment, or external effect.
Decision rules
  • Choose the confirmation-fatigue anti-pattern when Save, Close, Filter, Dismiss, Archive, Move, Hide, reorder, or delete-to-trash actions repeatedly open modal prompts even though the exact prior state can be restored or the risk is low.
  • Choose the confirmation-fatigue anti-pattern when the same generic Are you sure, OK, Yes, Continue, or Confirm copy is used across low-risk and high-risk actions, training automatic dismissal.
  • Choose confirmation dialog when a rare consequential action needs one pre-action decision and the dialog adds object, scope, consequence, or recovery-limit information that could make the user cancel.
  • Choose destructive action confirmation when the user has invoked a destructive final commit and the UI must name the destructive verb, target, loss inventory, dependency blocks, safe cancellation, and committed outcome.
  • Choose undo when a frequent action can complete immediately and the exact object, ordering, selection, relationship, permissions, and visible counts can be restored before external effects occur.
  • Choose warning text when the user has not started the risky command and only needs concise severe-consequence copy near a declaration, instruction, or action before deciding.
  • Choose dangerous-action review when the action is high impact because of money, access, production, customers, legal status, external recipients, sensitive data, or privileged agent tool use, and the user must inspect payload, evidence, freshness, side effects, alternatives, and audit before running.
  • Remove or suppress confirmations that add no new information beyond the trigger label, especially when prompt frequency and fast dismissals show habituation.
  • Do not stack confirmation dialog, destructive action confirmation, typed confirmation, warning text, and undo on the same low-risk command; each safeguard must address a different concrete risk.
  • Keep strong confirmation for irreversible or externally visible actions, but make it rare and specific enough that users can distinguish it from routine feedback.
Inspect live examples
Failure modes
  • A product confirms every archive, filter reset, dismiss, and close action, then users click through a real permanent-delete prompt unread.
  • The UI uses identical Are you sure text for deleting a workspace and hiding a notification, so the prompt gives no consequence signal.
  • A routine recoverable action is blocked by confirmation and then still shows undo, adding friction without improving recovery.
  • A dangerous production command uses a generic confirmation instead of a review that exposes payload, stale evidence, side effects, and audit.
  • A severe destructive action loses its confirmation because the team treats all prompts as fatigue rather than classifying consequence and reversibility.
  • Prompt telemetry tracks only cancellation count and misses fast confirm-through, repeated prompts per task, keyboard burden, and user recall.

Saved items