Error prevention is the design practice of structuring an interface so that mistakes are difficult or impossible to make, rather than relying on good error messages after the fact. It is one of the oldest principles in usability, appearing in Nielsen's heuristics and in earlier human factors literature, and it rests on the observation that a mistake avoided costs nothing while a mistake corrected costs time, attention, and often trust.
The techniques fall into a few recognizable groups. Constraints prevent invalid input entirely, as when a date picker makes an impossible date unselectable or a numeric field accepts only digits. Sensible defaults reduce the number of decisions where a wrong choice is possible. Clear formatting requirements shown before entry, rather than after rejection, avoid the frustration of guessing what a field wants. Confirmation steps guard irreversible actions. Undo, where it can be offered, is superior to confirmation because it does not interrupt the common case of the user being correct.
Human factors work distinguishes between slips and mistakes, and the distinction changes the remedy. A slip is an execution failure, where the person intended the right thing and did the wrong one: mistyping, clicking the adjacent control, missing a small target. These are addressed by physical design, through larger targets, adequate spacing, separation of destructive from constructive actions, and forgiving input handling. A mistake is a planning failure, where the person did exactly what they intended and their intention was wrong for the situation. These require better information, clearer models, and more informative feedback, and no amount of target sizing will help.
Validation timing is a recurring practical decision. Validating on submission forces the user to correct problems long after creating them, out of context and often after the page has re-rendered and lost their entries. Validating on every keystroke flags errors before entry is complete and feels hostile. Validating when a field loses focus, while confirming valid entries positively, is the pattern that tests best in most contexts, and preserving all entered data on failure is non-negotiable regardless of timing.
Error prevention also has to account for what happens when the system itself fails, since not all errors originate with the user. Payment failures, timeouts, expired sessions, and lost connections are all situations where the person did nothing wrong and needs a clear route forward rather than a message describing an internal condition. Preserving work across a session expiry, retrying transparently where safe, and explaining what to do next are the equivalent of error prevention for system faults.
Error prevention also applies to the operational decisions surrounding a product, not only to the interface. Systems that permit an account to be closed with an outstanding balance, an order to be placed for an item that cannot be delivered to that address, or an appointment to be booked outside operating hours are creating errors through business rules rather than through interaction design, and the resulting problems surface as customer complaints rather than as usability findings. Identifying these requires tracing the constraints of the actual operation and confirming that the interface enforces them at the earliest point the information is available, rather than accepting the input and failing later, which is the pattern that produces the most expensive recovery work.
In commercial terms, the flows where prevention pays best are the high-value, high-abandonment ones: checkout, registration, application forms, and any process a person completes once and cannot easily resume. These are the flows where a single error frequently ends the session entirely. Identifying where errors actually occur, using form field analytics and session recordings, is standard diagnostic work in a UX audit, and the resulting fixes are among the most reliable items in a CRO service backlog because they address a documented failure rather than a hypothesis about preference.