What an Affordance Actually Is
Gibson's ecological theory and why precision matters before you borrow the concept
Learning Objectives
By the end of this module you will be able to:
- Define affordance as a relational property between an agent and an environment — not a feature of either alone.
- Explain why affordances exist independently of perception, and what that implies for design.
- Distinguish between an affordance, an anti-affordance, and an action possibility.
- Identify the ecological roots of affordance theory and explain why they matter when applying the concept to software.
- Recognize that the same structure can afford different actions to different agents.
Core Concepts
1. The Origin: Gibson's Ecological Psychology
The term "affordance" was coined by perceptual psychologist James J. Gibson. He introduced it in 1966 in The Senses Considered as Perceptual Systems, then developed it more fully in his 1977 essay "The Theory of Affordances," and gave it its most complete treatment in his 1979 magnum opus, The Ecological Approach to Visual Perception.
Gibson was reacting against both behaviorism and cognitivism. He proposed an "ecological approach" that treated the organism-environment system as the fundamental unit of analysis — not the organism alone, and not the environment alone. The argument is that perception evolved to help organisms survive in specific environmental niches, and that what organisms perceive is not raw sensory data but functionally significant properties of the environment — the things that matter for action.
This is the frame within which the concept of affordance lives. Understanding it is prerequisite to using the word correctly.
2. The Definition
Gibson's own words are worth quoting directly:
"The affordances of the environment are what it offers the animal, what it provides or furnishes, either for good or ill." — James J. Gibson, [The Ecological Approach to Visual Perception](https://cs.brown.edu/courses/cs137/2017/readings/Gibson-AFF.pdf) (1979)
Three things in this sentence deserve unpacking.
"What it offers the animal" — an affordance is not a property of the environment in isolation. The floor affords walking to a biped, not to a fish. A cliff affords falling to any organism that can fall from it. The action possibility only makes sense relative to a specific organism with specific capabilities.
"What it provides or furnishes" — affordances are possibilities, not actualities. The cup affords grasping whether or not anyone grasps it. The affordance pre-exists the action; the action is one possible actualization of an available affordance.
"For good or ill" — affordances are not normatively positive. A surface affords slipping. A ledge affords a fall. Gibson was explicit that affordances are objective relational properties, value-neutral. This matters for design: building a system that only affords intended actions requires deliberately removing affordances for unintended ones.
3. The Relational Property
This is the most important and most frequently misunderstood aspect of the theory.
An affordance is neither in the environment nor in the perceiver. It is in the relation between them. Gibson wrote that an affordance "points both ways, to the environment and to the observer" and is "equally a fact of the environment and a fact of behavior."
Ask: would this action possibility still exist if you swapped the agent? If the answer is "not necessarily," you are describing a relational property — an affordance — not an objective feature of the artifact.
Consider a set of stairs one meter high. It affords climbing to most adults. It does not afford climbing to a crawling infant. It affords resting to a tired adult who sits on the step. The stairs have not changed. The agent has changed. The affordance — the set of action possibilities — has changed accordingly.
From contemporary information systems research, this relational nature extends to three-way interactions: actor capabilities × user goals × structural features. The same technology affords different actions in different organizational contexts because the relational configuration differs. Affordances are not features; they are action potentials that arise from a particular alignment between what a structure makes possible and what an agent with specific capabilities and intentions can do with it.
The implication: you cannot catalog affordances by examining only the artifact. You must also specify the agent.
4. Affordances Exist Independently of Perception
Gibson insisted on a distinction that many subsequent users of the term have blurred: the affordance is not the same as the perception of the affordance.
A hidden door affords opening. Whether the occupant perceives that door — whether they know it exists — is a separate matter. The affordance is there regardless. As Gibson put it, the objective action possibility exists independently of perceptual access to it.
This distinction generates two design-relevant states:
- Hidden affordance: the action is possible but not perceived. The affordance exists; the signal does not reach the agent.
- False affordance: something appears to offer an action that is not actually possible. The perception exists; the affordance does not.
The practical consequence: you can manipulate affordances, perceptual signals, and feedback independently. They are distinct design variables. A button that looks clickable but does nothing is not an affordance problem — it is a signal problem. A function that can be called but is never documented is not a signal problem — it is a hidden affordance.
5. Potential vs. Actualized Affordances
Gibson's framework draws a further distinction: an affordance is a potential — a possibility for action — and it may or may not be actualized through actual behavior.
The environment specifies available affordances through ecological information, but the organism is in control of which possibilities become realized actions. This has measurement implications: potential affordances can be assessed through structural examination; actualized affordances require observing behavior. An affordance becomes actionable only when it is simultaneously perceived, valued, and enacted by an agent with relevant intent.
When auditing a system for affordances, you must distinguish: what can agents do here (potential), versus what do they actually do (actualized). The gap between these two is a design signal — and often the most informative one.
6. Direct Perception and Ecological Information
Gibson proposed that organisms perceive affordances directly — without requiring complex cognitive inference or internal mental modeling. This is his controversial "direct perception" claim: action possibilities are available in the structure of the environment itself, carried through ambient energy arrays. The organism detects higher-order patterns in this information — patterns that specify the affordances available.
This part of the theory remains debated. Some contemporary researchers challenge the idea that perception requires no mediation. But the design principle that flows from it is robust even if the psychological mechanism is contested: when affordances must be inferred rather than perceived, cognitive load increases. Systems that make their action possibilities structurally visible — through explicit boundaries, transparent contracts, visible dependencies — reduce the burden on the agent. Systems with hidden coupling or implicit assumptions force something closer to cognitive reconstruction.
7. Anti-Affordances
An anti-affordance is a deliberate design feature that prevents an action — it removes an affordance for incorrect or unintended usage. Anti-affordances work through physical, logical, semantic, or structural constraints that make it difficult or impossible to take a particular action without encountering an error.
Anti-affordances are not accidents or omissions. When well-designed, they are intentional: they collapse the space of possible actions toward the set of correct ones. The constraint itself communicates: "this path is not open."
The distinction from an affordance is directional. An affordance opens a possibility. An anti-affordance closes one. Both are relational; both require specifying the agent whose action is being enabled or foreclosed.
Analogy Bridge
The stairs analogy is useful but let's extend it into a domain closer to the daily work of someone designing systems.
Consider a well-typed function signature versus a weakly typed one.
A function processPayment(amount: Money, currency: Currency) affords calling with semantically valid arguments. The type system creates anti-affordances against passing a raw integer as an amount — the compiler rejects it. The structure itself communicates, without documentation, what actions are possible and which are forbidden.
Compare this to processPayment(data: any). The signature affords passing anything. It makes no affordance distinctions and creates no anti-affordances. The action space is unconstrained — not because the underlying system accepts all inputs gracefully, but because the structural signal has been eliminated. The affordances of the system (what it actually supports) are now hidden. Perception requires inference.
This is not a metaphor constructed for illustration. It is the same mechanism Gibson described. The environment (the codebase) offers action possibilities to the organism (the developer). Those possibilities emerge from the relationship between the code's structure and the developer's capabilities. They exist whether or not they are perceived. And they can be good or ill.
A system that only affords correct usage by convention affords incorrect usage by structure.
Common Misconceptions
"Affordance means feature or capability"
This is the most common misuse. In casual product and engineering speech, "affordance" drifts toward meaning any action a system enables, often as a synonym for "feature." The word becomes decorative.
The loss is not merely semantic. When "affordance" means "feature," you lose the relational insight: you can no longer distinguish between what the system makes possible and what a specific agent with specific capabilities can do with it. You can no longer reason about hidden affordances, false affordances, or anti-affordances. The analytical precision that makes the concept valuable disappears.
"Affordances are only about usability or UX"
Affordance theory originated in perceptual psychology, not UX. Its application to design — by Norman and others in the HCI tradition — is one important downstream use, but the original concept is a general theory about organism-environment relationships. When applied to software engineering contexts, the relevant agents are engineers, the environments are codebases and systems, and the affordances are what those structures offer the engineers who work within them.
"A perceivable affordance is a better affordance"
Perceptibility is a separate variable from the affordance itself. A system can afford many things that are difficult to perceive, and can signal many things it does not actually afford. Designing for good affordances requires attending to both the structural possibility and the signal that makes it accessible — they are distinct levers.
"Affordances are always positive"
Gibson was explicit: affordances exist "for good or ill." A codebase affords large-scale refactoring to a developer who understands its structure — and affords accidental data corruption to one who does not. The relational asymmetry is the point. Designing for one class of agent without considering other classes produces systems that afford harm to the agents you did not design for.
"The same structure affords the same actions to everyone"
This contradicts the relational definition directly. Affordances depend on the capabilities, intentions, and context of the agent. A microservices architecture affords independent deployment to a distributed team with the right tooling. To a solo developer without that infrastructure, the same architecture may afford only increased complexity. The structure is identical; the affordances are not.
Key Takeaways
- Affordance is a relational property. It exists neither in the environment nor in the perceiver, but in the relationship between an organism's capabilities and the structure of the environment. The same object affords different actions to different agents.
- Affordances exist independently of perception. The action possibility is real whether or not the agent perceives it. Hidden affordances (unperceived real possibilities) and false affordances (perceived but unreal possibilities) are distinct failure modes.
- Potential and actualized affordances are not the same. The environment offers; the organism chooses. The gap between what a system makes possible and what agents actually do with it is a primary design signal.
- Anti-affordances are a design tool, not a side effect. Deliberately closing action possibilities — through structural constraints — is how you make a system difficult to misuse. Anti-affordances require specifying which agent you are constraining.
- "Affordance" is not a synonym for "feature." Precision here is not pedantry — it is the difference between reasoning about relational possibilities and producing a flat list of capabilities. The relational lens is the lens that makes the concept useful.
Further Exploration
Primary sources
- Gibson, J. (1979). The Ecological Approach to Visual Perception, Chapter 8 — Read the original chapter. It is shorter and clearer than most secondary summaries suggest.
- Gibson, J. (1977). The Theory of Affordances — The precursor essay, useful for tracing how the definition evolved.
On the relational nature of affordances
- Affordances — Open Encyclopedia of Cognitive Science (MIT) — A careful philosophical treatment of what it means for affordances to be relational.
- Affordances — Encyclopedia of Human-Computer Interaction, 2nd Ed. — Broad overview connecting Gibson's original theory to subsequent HCI appropriations.
- Gibson's Affordances — ResearchGate — Scholarly review of the concept and its debates.
On the ecological approach more broadly
- The History and Philosophy of Ecological Psychology — PMC/NIH — Situates Gibson's work in its intellectual context and traces how it diverged from cognitivism and behaviorism.
- On the Evolution of a Radical Concept: Affordances According to Gibson — Sage Journals — Traces how the concept has been developed and debated after Gibson.
On the potential/actualized distinction
- Mind in action: expanding the concept of affordance — Taylor & Francis — Contemporary treatment of how affordances move from potential to actualized.
- What is an affordance? 40 years later — ScienceDirect — Reviews four decades of theoretical development and remaining disagreements.
On anti-affordances
- Anti-Affordances: Intentional Prevention in Designs — KPU — Accessible introduction to deliberate constraint as design practice.
- Affordances and Constraints — NYU Music Experience Design Lab — Short treatment of how constraints and affordances work together.