Stall library · Buy
A control an agent needs is not exposed as one
A control that is not exposed is an option picker or an add to cart that works for a person and is not declared as a control. It is a styled element rather than a select list, a button, a form or anything marked as a choice. A shopper sees it and clicks it. An AI agent that reads the controls a page declares finds nothing to press and stops, even though the purchase works.
Why the agent stops
Agents read a page in two ways. Some look at it, the way a person does. Many read its structure instead: the buttons, links, select lists and form fields the markup declares, and the names and roles the accessibility tree gives them. That is faster and cheaper, and it is how most automated readers find what to press.
A store that builds its option picker from a styled div, or adds to the cart with a quantity stepper and no add to cart button, works for the first kind of agent and not the second. The scan reports it when the purchase only went through because the walk read the page as a person would.
How often we see this
Not stated here. A frequency means nothing without the cohort it was counted over, and this page is about one stall rather than one category. Where a category has enough stores measured at every stage, the share of them showing this stall is published on its benchmark page, with the methodology beside it.
See it for yourself
- Open the product page with a screen reader, or the accessibility tree in your browser’s developer tools, and look for the option picker and the add to cart by role. A select list, a radio group or a button should be listed. A generic element is not.
- Try to reach both with the keyboard alone, using Tab and Enter. A control a keyboard cannot reach is usually one an agent cannot find either.
What to change
- Build the option picker from a select list, or from buttons or radio inputs with labels.
- If the picker has to be custom, give the list role="listbox" and each choice role="option", with the chosen one marked aria-selected.
- Give the product a real add to cart button, labelled "Add to cart", and keep a quantity stepper for changing the amount once it is in the cart.
What Ottom looks at
Ottom reports this when the walk got past a step only through its custom-control approach: it opened an option list that is not a select or a set of buttons, or pressed an add that is a styled element or a quantity stepper beside 0. The walk went on, so the finding is Low; it says what an agent that reads declared controls would have met.
Questions
The purchase worked. Why is this reported at all?
Because it worked for an agent that reads the page the way a person looks at it. Many agents read the controls a page declares instead, and to them there was no option to choose and nothing to press. The fix is small and the page looks the same afterwards.
Is a quantity stepper not an add to cart?
For a person, yes. To an agent looking for an add to cart button it is a plus sign beside a number. A labelled add to cart button tells every kind of agent what to press, and the stepper can stay for changing the quantity.