agentspeed.
← all fixes
Remediation

The page expresses its primary action as a real clickable element - a link with an href, a button, or a submit input - rather than as text painted into an image or onto a plain element. Passes as soon as one clickable element carries action language. Skips when the page asks the reader to do nothing. Fails only when the page clearly asks for an action and nothing clickable carries it.

operability.primary_action_in_domactionabilityweight 2deterministic
Why it matters

A browser-driving agent acts on the DOM, not on pixels. It builds a list of elements it can click, and a call to action painted into a banner image or styled onto a plain <div> never appears on that list. In a controlled experiment a call to action baked into an image was clicked 0 times out of 10 by every model tested, while the same action expressed as a real element was clicked 7 times out of 10. The same study found alt text and invented data-llm-* attributes did nothing for interaction, 0 out of 30.

How to fix
  1. Express the primary action as a real `<a href="…">` or `<button>`, with the words present as text.
  2. If the design requires an image, nest it inside the link or button and give the element an `aria-label` carrying the action: `<a href="/cart" aria-label="Add to cart"><img …></a>`.
  3. An `<a>` with no `href` is not a link an agent can follow. Give it a destination, or make it a `<button>`.
  4. Verify with the keyboard: press Tab. If focus never reaches your main action, an agent cannot reach it either.
  5. Do not add a hidden duplicate link that only agents can see. That is cloaking, and the coherence checks are built to catch it.
Hand it to your AI assistant

Paste this into Claude Code, Cursor, or any assistant with your repository open. It carries the steps, how to verify them, and the shortcuts to avoid. It is generic, though: run a scan to get one written from what your pages actually do.

Run a scan to check your site
Verify on your site

Run a scan against your domain to see whether operability.primary_action_in_dom currently passes, warns, or fails. Free, no signup; the score page is permanent and citable.

Run a scan →See the full rubric →
Fix operability.primary_action_in_dom · AgentSpeed