Skip to main content

Affordances

In UX, an affordance is a property of an object that indicates how it can be used — a button affords clicking, a slider affords dragging.

In AX, affordances are declared capabilities. An AXAG-annotated element declares what operations it affords to agents through its axag-intent and axag-action-type attributes.

Visual vs Semantic Affordances

Visual AffordanceSemantic Affordance
A button shape suggests "clickable"axag-action-type="mutate" declares "invocable operation"
A text field suggests "typeable"axag-parameter-type="string" declares "accepts text input"
A dropdown suggests "selectable"axag-parameter-type="enum" declares "accepts constrained value"

Agent-Facing Affordances

For agents, affordances MUST be:

  • Explicit — Declared through annotations, not inferred from appearance
  • Typed — Carrying parameter type information
  • Scoped — Bounded by declared context
  • Constrained — Governed by declared validation rules

Next Steps