| UI or UX | UI + UX - Ambiguous action anti-pattern | UI + UX - Consequential alert decision | UX - Post-action recovery behavior |
| UI guidance | Replace ambiguous symbol-only controls with visible text or icon-plus-text actions that name the verb and affected object. | 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. | 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 | Make users confident about what will happen before activation instead of forcing recognition, memorization, or trial-and-error. | Interrupt users only when the action has a meaningful consequence that cannot be safely recovered afterward. | Let users move quickly through frequent reversible actions, then recover from mistakes after seeing the result. |
| Good UI | A report row shows Archive report, Download report, and Share report as labeled controls with matching accessible names. | Delete Research archive? explains that 14 notes and shared links will be permanently removed, offers Keep archive, and labels the danger action Delete archive. | Deleting Quarterly report removes it from the list and shows a recovery panel saying Quarterly report deleted with an Undo task button. |
| Bad UI | A row exposes !, tray, and arrow buttons with no visible label and unclear consequences. | A popup says Are you sure? with OK and Cancel but does not name the project, notes, or irreversible outcome. | A tiny x removes an item with no object-specific recovery label. |
| Good UX | Users can identify the action before activation and receive confirmation, undo, or result status after consequential actions. | Cancel, Escape, and Keep archive leave the archive unchanged and return focus to Delete archive. | Undo restores the deleted task to the list and reports Quarterly report restored. |
| Bad UX | Hover-only tooltip is the only explanation for a destructive action. | Every archive, filter, and dismiss action opens the same confirmation until users click through automatically. | A second delete overwrites the first recoverable item without explaining which action Undo affects. |
| Best fit | Use this anti-pattern entry to audit toolbars, row actions, cards, command bars, mobile action sheets, and generated UIs with symbol-only controls. | The action is destructive, irreversible, costly, security-sensitive, privacy-affecting, or externally visible. | The action is common and mistakes are likely. |
| Avoid when | The icon is paired with visible text that names the action. | The action is routine and easily reversible. | The action has external side effects that cannot be recalled. |
| Required state | Default state where the action name is visible or programmatically exposed before activation. | Pre-action state with an explicit consequential trigger. | Normal state before the user action. |
| Accessibility burden | Every interactive icon control needs an accessible name that describes the action and, when useful, the affected object. | Use alertdialog semantics or platform equivalent when the decision is urgent and requires a response. | Make the undo control keyboard reachable and programmatically identifiable. |
| Common misuse | Using a trash, tray, box, arrow, or exclamation icon for archive, delete, download, export, and warning actions without visible words. | Asking users to confirm every routine action until they stop reading. | Offering undo for an action that cannot actually be reversed. |