Heuristic 9: Help Users Recognize, Diagnose, and Recover From Errors

“Error messages should be expressed in plain language (no error codes), precisely indicate the problem, and constructively suggest a solution.” — Jakob Nielsen

Below are six small, working demos. Each one deliberately breaks an error message in some way — too cryptic, too vague, too fast, or too silent about what to do next. Try each one, then click “Reveal what actually happened” to see the plain-language version the system had available all along.

Violation

1. The Cryptic Error Code

When this form fails, the only thing you're told is an opaque error code. It's technically "information", but it tells a normal person nothing about what went wrong or what to do about it.


Violation

2. The Red Border of Mystery

Type something this field doesn't like and click away — it turns red. That's the entire error message: no text, no tooltip, no hint about what format it actually wants.


Violation

3. The Blame-Free Error

Three completely different operations, three completely different real causes of failure — and every single one shows the identical unhelpful banner: “Something went wrong. Please try again.”


Violation

4. The Error That Points Nowhere

Submitting this five-field form fails because of one specific field. The error banner appears at the top, doesn't name the field, doesn't highlight it, and doesn't scroll you to it — you have to check all five yourself.












Violation

5. The Vanishing Error

Click submit with bad input and an error does appear — for about eight-tenths of a second, before fading away completely. Blink and it's already gone.


Violation

6. The No-Suggestion Error

The system correctly detects that your password doesn't meet its requirements — but it never tells you what those requirements actually are, before or after you fail.