The Alt Text Problem Nobody Wants to Solve

Alt text has been a one-attribute job for thirty years, and it is still the second most common failure on the web. The problem was never the typing.

Picture a product manager at the end of a long sprint, staring at a CMS field labelled “Alt text (required).” The page is a news story about a housing protest. The photo shows a crowd outside a council building, one woman in the foreground holding a cardboard sign. The cursor blinks. She types: “people at protest.” The field accepts it. The audit will pass. Somewhere, a screen reader will speak those three words aloud to a blind reader, who will learn almost nothing about the story they came to read.

This is the strange, durable scandal of the accessible web: the failure that should be easiest to fix is the one that never goes away. In the WebAIM Million audit of February 2026 — the eighth annual crawl of the top million home pages — 53.1% of pages contained images with missing alternative text, making it the second most common detected WCAG failure after low-contrast text, and a fixture near the top of the list every single year the audit has run. The alt attribute itself has existed since HTML 2.0 in 1995, and the accessibility mandate — “provide a text equivalent for every non-text element” — has been a Priority 1 requirement since WCAG 1.0 in May 1999. A quarter-century-old rule, one attribute, no build step, no budget line. And still, more than half the web skips it.

Ignorance cannot explain that. Every accessibility checklist on earth leads with alt text; every CMS nags about it. The real explanation is hiding in the wording of the current standard. WCAG 2.2 doesn’t ask for a description of the image. It asks for “a text alternative that serves the equivalent purpose.” Equivalent purpose. That is an editorial judgement — a decision about what an image is doing in a specific context — and it is exactly the kind of decision no checklist can make for you.

Take that protest photograph. In the news story, its purpose is evidentiary and human: the equivalent text might be “a protester holds a hand-painted sign reading ‘Homes Not Offices’ outside the council vote.” On a stock-photo site selling the same image, the purpose is discovery: “crowd of demonstrators outside a municipal building, overcast, one woman in foreground holding cardboard placard.” On the photographer’s personal blog, the purpose might be craft: “my first shot on the new 35mm — the sign blew out in the highlights but the framing held.” Same pixels, three different alt texts, and each of them correct. Research on alt-text authoring backs this up: screen-reader users say the image’s purpose in the document must appear in the description, and people who didn’t create the content simply lack the information to describe it well.

This is why the CMS field is a trap. Making the field mandatory, as that product manager’s software did, guarantees the presence of text and says nothing about the presence of thought. “People at protest” passes. So does “image123.jpg.” The requirement can compel keystrokes; it cannot compel the author to answer the question the standard actually asks.

The machine that can see but not know

Into this gap walks artificial intelligence, and the pitch writes itself. Describing images is labour; AI abolishes labour; problem solved. Modern vision models genuinely can produce fluent captions — a competence that would have seemed absurd a decade ago — and several platforms now auto-generate alt text at upload time.

But notice which half of the problem the machine solves. It solves the seeing. It cannot solve the knowing. The model looks at the protest photo and produces something plausible: “a group of people standing outside a building holding signs.” Plausible, grammatical, and wrong in the only way that matters — it describes what is visible rather than what the image is doing there. Whether the sign’s message is the entire point of the article, whether the woman in the foreground is the councillor the story names, whether the photo is ironic, tender, incriminating — none of that lives in the pixels. It lives in the author’s intent, which is the one input the model does not have.

The empirical record on AI alt text is thin and dated, and worth stating precisely. In a 2023 study run through the federal Interagency Accessibility Forum, blind and low-vision users rated AI-generated descriptions on a quality scale where 3 meant acceptable. The average across tools was 1.9. The best tool scored 2.3. None reached acceptable, ever, and quality swung wildly from image to image. Those were 2023-era tools, and current models caption more fluently — but fluency is not the variable in question. A smoother wrong answer is still a wrong answer.

Here is the uncomfortable part. A missing description is, at least, an honest silence. Screen-reader users have decades of practice navigating absence; they know the web is full of holes and have built strategies accordingly. A confident, plausible description of the wrong thing is a different kind of failure: it occupies the space where information should be, it is indistinguishable from the real thing, and it quietly teaches the reader to trust a narrator that was never in the room. Silence tells you there’s a gap. A plausible lie tells you there isn’t one.

That claim is an argument, not a settled finding — nobody has run the study that compares the harms directly. But the structure of the problem makes it hard to dismiss. The better AI gets at sounding right, the worse the failure mode becomes, because the remaining errors will be precisely the confident, invisible ones.

The field that can’t be filled in

None of this means AI is useless here. As a drafting step — a first pass that a human author then edits with intent in mind — it could do real good, and even a mediocre human-checked description beats the void. The mistake is treating generation as completion. The moment the machine’s sentence sails through unedited, the labour has been automated and the judgement has been abandoned, and judgement was the whole job.

The thirty-year persistence of missing alt text is usually read as a story about lazy developers or ignorant content teams. It is better read as evidence of a category error. We built the requirement like a technical step — an attribute, a field, a linter rule — when it was always an act of writing, closer to a caption or a lede than to a closing tag. The web has excellent tooling for enforcing technical steps and essentially none for enforcing thought, which is why 53.1% of home pages still fail a test a child could pass mechanically.

The alt text problem nobody wants to solve turns out to be the writing problem nobody wants to admit exists. The fix isn’t a better field, a stricter linter, or a smarter model. It’s a person asking, every time: what is this picture doing here? The cursor blinks. That part was never going to be automated.