Affordance
What is affordance?
Affordance is the quality of an object or element that suggests how it can be used. In UI, perceived affordance is what users infer from appearance: a button looks pressable, a link looks clickable, a field looks editable. Good affordances reduce guessing and support usability and interaction design.
Use it when: you’re designing controls, links, or inputs. If users can’t tell what’s interactive or how to use it, strengthen the affordance (shape, style, label, convention).
Copy/paste checklist
- [ ] Buttons – Look like buttons (e.g. filled or outlined; hover/focus state). Not plain text unless it’s clearly a link or secondary action.
- [ ] Links – Underline, colour, or both so they’re distinguishable from body text.
- [ ] Inputs – Bordered or clearly delineated; look like something you can type in.
- [ ] Clickable areas – Large enough (e.g. 44×44px touch target); cursor or hover change where applicable.
- [ ] Disabled – Look disabled (e.g. greyed out, reduced contrast) so users don’t try to use them. See negative affordance.
- [ ] No false affordances – Don’t make non-interactive elements look like buttons or links.
Why affordance matters
- Users know what they can do without reading instructions.
- Reduces errors and support requests (“I didn’t know I could click that”).
- Supports accessibility when focus and semantics match the visual affordance (e.g. keyboard works where it looks interactive).
- Aligns with interaction design and UI design best practice.
What good affordance includes
Checklist
- [ ] Convention – Use familiar patterns (button shape, link style) so users don’t have to learn new ones.
- [ ] Consistency – Same type of control looks the same across the product (e.g. all primary buttons share the same style).
- [ ] Feedback – Hover, focus, and active states reinforce “this is interactive.” See interaction design.
- [ ] No false affordances – Nothing looks clickable but isn’t (e.g. underlined non-links).
- [ ] Accessible – Focusable and operable via keyboard where it looks interactive; ARIA for custom controls.
- [ ] Clear purpose – Label or icon supports the affordance (“Save” on a button, not “Click here”).
Common formats
- Visual: Shape, colour, border, shadow (e.g. raised = pressable). Use with design system components.
- Convention: Buttons look like buttons; links look like links. Don’t break convention without a strong reason.
- Signifiers: Text, icon, or label that clarifies the action (e.g. “Add to cart” on a button).
Examples
Example (the realistic one)
Problem: “Users don’t realise the card is clickable.” Current: Plain card with no hover or cursor change. Fix: Add hover state (e.g. subtle shadow or border), cursor: pointer, and ensure the whole card (or a clear “View” link/button) is focusable and clickable. Buttons: Primary actions use a filled button style from your design system; secondary use outline. Disabled: Greyed out and aria-disabled or disabled so they look and behave disabled. You test with usability testing to confirm users recognise what’s interactive.
Common pitfalls
- False affordance: Underlined or blue text that isn’t a link. → Do this instead: Reserve link styling for real links; use plain text or a button for other actions.
- No affordance: Important control looks like static text or decoration. → Do this instead: Use button or link style, or add an icon/label that suggests action.
- Inconsistent: Same action looks different in different places. → Do this instead: Use design system components so affordances are consistent.
- Looks interactive but isn’t: Div with click handler, not focusable. → Do this instead: Use
<button>or<a>, or addtabindex="0"and keyboard support so accessibility matches the affordance.
Affordance vs. related concepts
- Affordance vs signifier: A signifier is the cue (e.g. label, icon) that indicates use; affordance is the property that supports that use. In UI we often design perceived affordance via signifiers (e.g. “Save” on a button).
- Affordance vs interaction design: Interaction design defines behaviour and feedback; affordance is the “this looks like it does X” that makes the interaction discoverable.
- Affordance vs usability: Usability is the outcome; good affordances support usability by making actions obvious.
Related terms
- Interaction design – behaviour and feedback that support affordance.
- UI design – affordance is part of UI clarity.
- Usability – affordances help users complete tasks.
- Design systems – consistent components create consistent affordances.
- Keyboard navigation – focusable elements should match what looks interactive.
- Accessibility – semantics and focus should match the visual affordance.
- Microcopy – labels and button text are signifiers.
Next step
Audit one screen: list every interactive element and check that it looks interactive (button, link, or input style), has a clear label or icon, and is keyboard focusable. Fix any false or missing affordances. Use usability testing to confirm users recognise what they can do.