Slip vs mistake
A slip is doing the wrong action despite the right goal; a mistake is choosing the wrong goal or plan in the first place.
See it
What it is
Don Norman separates user errors into slips and mistakes. A slip happens when the goal is right but the execution goes wrong: mistyping a date, tapping the neighboring icon, or choosing the wrong file. A mistake happens earlier, when the person forms the wrong goal or plan because their understanding of the system is wrong. Pouring orange juice into your coffee is a slip; driving to the old office because you forgot you moved is a mistake. James Reason's Human Error (1990) is where the full taxonomy lives, including lapses, the memory failures that sit between the two.
The distinction matters because the fixes point in different directions. Prevent slips with forgiving inputs, separated targets, clear feedback, and Undo. Prevent mistakes with better labels, visible constraints, previews, examples, and explanations that repair the person's mental model before they commit.
The gotcha is calling every failure 'user error' and adding a confirmation dialog. A person who misunderstood the outcome may confidently confirm the same mistake, while a frequent confirmation becomes muscle memory and fails to catch slips. Classify the error before choosing the guardrail.
Ask AI for it
Review this flow and classify each likely user error as a slip or a mistake before changing the UI. For slips, separate destructive targets, make tap targets at least 44 by 44 CSS pixels, use HTML inputmode and autocomplete attributes, preserve typed values, and offer an 8-second Undo action after reversible changes. For mistakes, replace vague labels with outcome-based copy, show a plain-language preview of the result and cost before commit, and connect inline guidance with aria-describedby. Do not put a confirmation dialog on every action. Add analytics events with an error_type property set to 'slip' or 'mistake' so the two failure patterns can be measured separately.