058Usability heuristic

Error prevention

Even better than good error messages is a careful design that prevents a problem from occurring in the first place.

Why it matters

Preventing mistakes is cheaper than recovering from them—for users and support. Constraints, defaults, and confirmations at the right level reduce harm.

What to inspect

  • Are destructive actions gated by confirmation or undo where appropriate?
  • Do inputs constrain invalid values before submit?
  • Are ambiguous dates, amounts, or time zones clarified before commitment?
  • Does the happy path avoid unnecessary branching that invites wrong choices?

Common anti-patterns

  • Delete with no confirmation and no undo.
  • Free-text fields where structured input would eliminate whole classes of errors.
  • Letting users proceed with known-invalid combinations.

Critique prompts

  • What is the most expensive mistake a user could make here—and how is it prevented?
  • Which invalid states are still reachable through normal interaction?