Constraints
Restricting what is possible is the cheapest way to prevent an entire class of error.
Definition
Norman identifies physical, cultural, semantic and logical constraints as forces that limit the set of possible actions. In interfaces, constraints are what make an invalid state unreachable rather than merely rejected.
Expert heuristic. A review criterion developed by practitioners. Useful and widely taught, but evaluated by judgement rather than measurement.
On this page
Four kinds of constraint, applied to software
| Type | In an interface | Example |
|---|---|---|
| Physical | The interaction is not possible | A date picker that cannot produce an invalid date. |
| Cultural | Convention limits what people try | A red destructive button is not pressed casually. |
| Semantic | Meaning rules out an action | An empty cart cannot be checked out, so the control is not offered. |
| Logical | The structure implies the answer | Only one radio button can be selected, so the model is obvious. |
Constraints that pay for themselves
- Input masks and pickers for structured values.
- Selection controls rather than free text where the set is known and small.
- Maximum and minimum values enforced by the control, not by a message afterwards.
- Dependent fields that only appear when relevant, so an inconsistent combination cannot be entered.
- Disabled or hidden actions for states where they are meaningless, with an explanation of why.
In practice
Quantity steppers with real limits
EcommerceA stepper that stops at available stock prevents an order that cannot be fulfilled. Accepting the number and failing at checkout moves the cost to the worst possible moment.
Conditional fields
FormsShowing the company registration field only when the account type is business makes an inconsistent submission impossible rather than merely invalid.
Sources
Where a source establishes something narrower than the popular reading of it, the note says so.
The Design of Everyday Things
D. A. Norman, Basic Books, 1988, revised 2013
Continue from here
Each link says what the connection is, so you can tell a principle from an alternative from a thing people mix this up with.
Applied through
Where this shows up as a concrete interface decision.
- Date PickerComponent
- Radio GroupComponent
- SelectComponent
- Input ValidationPattern
- Visual StatesUI foundation
Related concept
Connected closely enough to change how you apply this.
- Error PreventionHeuristic
- Postel's LawLaw
- Tesler's LawLaw
- Affordances and SignifiersPrinciple
- Natural MappingPrinciple