Reachable affordances
Reachable affordances are the things in the user's environment they can actually engage with from right where they are: the buttons, prompts, tools, and options currently within reach without first having to take other steps to make them available. The set shifts as the user moves; options that weren't accessible a moment ago become reachable, while ones that were available drop out of reach or stop being relevant. The distinction is from the wider landscape of what exists somewhere, which includes plenty the user can't get to without first advancing.
Definition
Reachable affordances are the affordances currently integratable from the user's now-state — the slice of the affordance landscape that, at this moment, the user could begin to use without first having to advance through intermediate steps to make them engageable.
The currently-engageable slice
The affordance landscape is the totality of intent-aligned affordances in existence — provider-built, third-party, user-external, and substitute. Most of it isn't currently usable for the user at any given moment. Reachable affordances are the subset of that landscape the user could engage from where they are right now, without first having to take some other step to unlock the engagement.
The criterion is engageability from the user's current state. An affordance that requires the user to first complete X before they can pick it up isn't reachable until X is complete; it sits in the landscape, it may be highly relevant to the user's pursuit, but the user can't get to it from here. Reachable affordances are what the user actually has to work with at this moment.
This is the slice the user selects from at each route-step. The "available affordance" the user picks among during hopscotch is exactly the reachable-affordance slice — not the whole landscape, but the part of it engageable from the user's now-state.
How the slice shifts
The reachable-affordance slice moves as the user advances. Affordances that were previously out of reach become engageable when the user reaches a state where they're integratable. Affordances that were previously reachable can exit the slice — either by becoming irrelevant to the user's pursuit, or by passing out of reach through time-decay or state changes that close access.
The slice tracks the user's position in their timeline. A static affordance landscape can produce very different reachable-affordance slices for the same user at moments minutes or hours apart, depending on what the user has done in between.
Composition with reachability
Reachable affordances is the affordance-side fact of what's engageable around the user. Reachability is the user-side fact of whether the user has the capacity to advance — energy, attention, decisiveness, assets, skills, motivation, and so on. The two are independent.
A user with reachability might step using a reachable affordance, or might step using only internal capacity — running a mental procedure, using body skill — without engaging any external affordance at all. A user without reachability can't engage reachable affordances regardless of what's available around them. The two meet at hopscotch (the user with reachability picks among reachable affordances), but each can fail on its own.
Example
A user has just signed up for an invoicing tool and lands in an empty dashboard. Reachable affordances at this now-state include the "create your first invoice" button, the templates gallery, the import-from-Quickbooks option, and the settings menu. Not reachable from here: the recurring-billing setup (requires a customer record), the team activity feed (requires teammates), the payment-reconciliation view (requires a paid invoice).
As the user creates a customer and sends an invoice, the slice shifts. The recurring-billing setup and the payment-reconciliation view enter the reachable set; the empty-state onboarding banner exits. The affordance landscape — the totality of what the tool can do — hasn't changed at all. Only the slice currently engageable from the user's now-state has.