Invisible Element
No cue shows how to reach a goal, and the user has no prior learning to get past its absence. The feature exists, but for this person it may as well not.
Name the problem, then trace it to the quality it hurts.
A heuristic evaluation framework of nine tenets and the traps that break them. Each trap is a specific, detectable design problem that maps to exactly one tenet, so a team can say precisely what is wrong and agree on why it matters.
Michael Medlock and Steve Herbst developed the framework at Microsoft in 2009, from a first version they date to 2007. Nine tenets describe the qualities of a good interface, each written in the user’s own voice, and 26 traps name the common, detectable problems that wear those qualities down.
It won Microsoft’s 2013 Planning and Design Excellence Award, and Microsoft kept teaching it after both authors left; Meta and Amazon teach it too. Since 2017 the authors have sold it as a color-coded card deck, and more than 10,000 decks have gone to researchers around the world. The deck holds 26 traps; this page covers the 23 whose definitions are publicly documented.
A tenet is a quality the user should experience, stated the way they would say it: I know what I can do, I don’t wait, I can undo my actions. A trap is a specific pattern that damages one of those qualities. Naming the trap makes a finding precise; tracing it to its tenet explains why it matters.
No cue shows how to reach a goal, and the user has no prior learning to get past its absence. The feature exists, but for this person it may as well not.
A cue exists but is missed or found slowly, because it sits outside foveal vision or somewhere the user doesn’t expect to look.
Something appears suddenly or changes rapidly and pulls the user away from their goal. Motion wins attention whether or not it deserves it.
A critical cue is noticed but misunderstood, so the user ignores it. It looks wrong but is right.
A cue is wrongly taken as the way to a goal. It looks right but is wrong, and the user commits to it before finding out.
The user has to remember information that is easy to forget, carrying it from one screen to the next instead of seeing it where it’s needed.
An important relationship between two or more cues isn’t obvious, so the user can’t tell which controls belong together.
The user doesn’t see, notice, or understand feedback they need, so they can’t tell whether an action worked.
The user knows what to do, but doing it is physically effortful, difficult, or impossible.
The user’s physical actions produce an outcome they didn’t intend, usually because a control sits too close to another or fires too easily.
Real or perceived poor performance, or a design that blocks moving forward or backing out, keeps the user from reaching a goal in a timely way.
Even when the interface is used exactly as intended, reaching a goal takes more navigation than it should, or feels like it does.
The information is understandable, but there is too much of it, and what matters gets lost among what doesn’t.
The system asks again for information it already has, or fails to reuse work the user has already done.
The system guesses at the user’s intent and guesses wrong, so the user has to correct it or work around it.
The user can’t undo a wrong step. Every other safeguard matters less once this one is missing.
The user’s behavior or data becomes public in a way they didn’t intend, causing possible harm, irritation, or embarrassment.
The user can lose their work through something they did, or something they failed to do.
Several cues for the same action appear at one level of the interface, or at a directly nested level, and the user has to work out whether they differ.
A cue looks different, or sits in a different place, than it does elsewhere in the interface, so what the user learned stops working.
The same control does different things depending on the state of the system, so the user can’t predict what it will do.
There is no single place to return to for starting a task or getting reoriented, and several competing homes leave the user unsure where they are.
The system is visually unpleasant, or doesn’t follow its own design language, and users judge its quality by what they see.
The traps were written for interfaces with fixed controls. AI moves where several of them turn up, and makes a few much easier to fall into.
An assistant predicts intent on every turn, so a trap that used to live in autocorrect now sits in every response. What matters most is how cheaply the user can reject a guess.
A prompt box shows no controls at all, so everything it can do is an invisible element until the user thinks to ask for it.