Around 2005, Ajax let web pages update without reloading, and screen readers lost the plot. Content changed with no signal that anything had happened. The W3C's fix was ARIA: attributes developers could attach to HTML elements to declare what they were and what state they were in. A div styled as a button could finally say so. Browsers translated these annotations into an accessibility tree, a parallel semantic map of the page that assistive technology consumed instead of raw HTML.
ARIA worked when developers kept it current. Most teams didn't, because their sighted users never noticed the rot.
AI web agents now navigate interfaces through that same tree. They're parsing a semantic layer that was treated as someone else's problem for twenty years, built and neglected by teams whose real job was always visual rendering.
First draft: September 2006. Became a W3C Recommendation eight years later, March 2014.
Scale: 82.7% of the top million home pages use ARIA, averaging 133 attributes per page (WebAIM Million, 2026).
Error rates: Pages with ARIA average 59.1 accessibility errors. Pages without average 42. More annotation, more mistakes.
W3C's first rule of ARIA: Don't use it if a native HTML element already does the job.
In practice: "No ARIA is better than bad ARIA." A wrong role attribute doesn't fail silently — it lies to whatever's consuming it.

