# NAC-3 attributes quick reference

Five HTML attributes turn any UI into an agent-addressable surface:

- data-nac-id      stable agent-addressable name (e.g.
                   "checkout.confirm_btn") namespace pattern:
                   "<scenario>.<element>" (see PLAN.md D2)
- data-nac-role    semantic kind: action / region / field / value
- data-nac-action  declarative effect when invoked: submit / open /
                   search / navigate / dismiss / autopilot_toggle
- data-nac-state   lifecycle: loading / disabled / readonly / hidden /
                   selected / error
- data-nac-target  secondary anchor: id of element this one controls

MANIFEST: JSON sidecar (yujin.forge.json) listing every (id, role,
actions, label_i18n). Generated by `yf migrate audit`. Driven by chat
tools.

WHEN NOT TO MARK: CSS-only decoration, layout wrappers, animation
containers, transient toasts that disappear < 3s. Anything an agent
cannot meaningfully act on.

For deep questions about NAC-3 semantics, call forge_consult_nac_spec.
