Alt-Text at Scale Without the Slop
You have fifty images that need alt-text by end of day, and a model that will write all fifty in about ninety seconds. The speed is real and worth having. The problem is that the model will confidently mark a decorative divider as a meaningful image, describe a bar chart by its colors instead of its data, and prefix half of them with "image of" when it should not. Run those fifty straight to production and you have shipped fifty pieces of alt-text slop: fluent, plausible, and wrong in ways that actively harm screen-reader users. This lesson uses a structured prompt to draft alt-text for fifty images, names the patterns the model reliably gets wrong, builds a corrective style guide that fixes them, and re-audits the library against it. You leave with an alt-text style guide and a re-audited library, which is the difference between alt-text at scale and slop at scale.
Why Alt-Text Is the Perfect and Perilous AI Task
Alt-text sits in a tempting spot: it is tedious, high-volume, and exactly the kind of writing nobody wants to do by hand for fifty images, so the pull to automate it is strong and reasonable. A vision-capable model can look at an image and produce a fluent description, and for a straightforward photograph - "a person typing on a laptop at a wooden desk" - it often does a genuinely good job. This is the seduction: the easy cases are easy, and they lull you into trusting the model on the hard cases, which are exactly where alt-text matters most.
The peril is that alt-text is not really about describing an image; it is about conveying the image's purpose in context, and purpose is something the model cannot see. The same photograph might need rich description on a photography portfolio, a one-line functional description as a product image, or an empty alt attribute if it is purely decorative. The model sees pixels; it does not see why the image is on the page. That gap - between describing what is in the image and conveying what the image is for - is the generation-versus-understanding gap once more, and it produces a specific, nameable set of failures.
The Patterns the Model Gets Wrong
Across fifty images, the model's errors are not random; they cluster into three patterns, and naming them is what lets you build a style guide that fixes them rather than playing whack-a-mole.
The Three Alt-Text Failure Patterns
- Decorative images marked descriptive. A purely decorative image - a divider line, a background flourish, a stock photo that carries no information the surrounding text does not - should have an empty alt attribute (alt="") so screen readers skip it. The model, asked to describe an image, dutifully describes it, so it writes "a blue abstract gradient swirl" for a decorative header background, forcing screen-reader users to listen to a description of something that means nothing. The model cannot tell decorative from meaningful because that distinction is about the image's role on the page, which it cannot see. This is the most common and most disruptive failure.
- Charts described visually instead of by data. For a data visualization, the alt-text must convey the data, not the appearance. A screen-reader user does not need "a bar chart with five blue bars of increasing height"; they need "Revenue grew from $1.2M in Q1 to $3.4M in Q4, with the steepest rise in Q3." The model describes what it sees - bars, colors, axes - because it is describing the image, but the information is in the data the chart encodes, and the model often cannot read the data accurately off the rendered chart anyway. Visual description of a chart is alt-text that conveys nothing useful.
- "Image of" prefix misuse. Screen readers already announce that an element is an image, so prefixing alt-text with "image of" or "picture of" is redundant and wastes the user's time ("image of image of a dog"). The model adds these prefixes constantly because they are common in caption-style training data. There are narrow exceptions (specifying a medium, like "illustration of" or "photograph of," when the medium is meaningful), but the reflexive "image of" on everything is noise.
Notice the shape: each failure is the model describing the image faithfully when faithful description is the wrong job. The model is good at describing pixels and blind to the three things that actually govern alt-text - whether the image is decorative, what data it encodes, and what the screen reader already announces. Those are properties of context and convention, not of the image, which is exactly the model's blind spot.
Alt-text is not a description of an image; it is a conveyance of the image's purpose in context. The model can describe the pixels and cannot see the purpose, so it produces fluent slop on exactly the images where alt-text matters most.
The Structured Prompt That Reduces the Slop
As with microcopy, the first move is to anchor the model with a structured prompt that encodes the rules it does not know. The prompt cannot make the model see purpose, but it can force the right questions and reduce the failure rate before the audit. A good alt-text prompt instructs the model to: first classify each image as decorative or meaningful and propose alt="" for decorative ones; for meaningful images, convey the function in context, not an exhaustive visual description; for charts and data visualizations, flag them as requiring data-based alt-text and attempt to state the data trend rather than the visual appearance; never use "image of" or "picture of" unless the medium is meaningful; and keep descriptions concise, leading with the most important information.
This prompt does real work: it moves the model from "describe every image" to "classify, then describe by purpose," which catches a meaningful fraction of the decorative and prefix failures up front. But it cannot close the gap, because the model still cannot reliably tell decorative from meaningful (it does not see the page) or read chart data accurately. The prompt makes the draft better; the audit and the style guide are what make the library correct. The prompt is the draft tool; the human is the author.
Drafting and Auditing the Fifty
Run the structured prompt across all fifty images and you get fifty drafts in seconds. Now audit them, and the audit is fast because you are checking against the three named failures, not re-writing from scratch. For each image, ask three questions. Is this actually decorative, and if so, did the model wrongly describe it instead of proposing alt=""? Is this a chart or data visualization, and if so, does the alt-text convey the data or just the appearance (and is the data even correct)? Did the model add a redundant "image of" prefix?
The decorative classification is the one you must do by hand, because it is the one the model structurally cannot do: only you know whether that header photo carries information the page needs or is pure decoration, because only you can see the page. Mark the decorative images alt="" regardless of what the model wrote. For the charts, replace visual descriptions with the actual data trend, pulling the numbers from the source data, not the model's reading of the rendered chart, because the model misreads charts. For the prefix failures, strip "image of" unless the medium is genuinely meaningful. The audit turns fifty fluent drafts into fifty correct strings, and it is fast because the failures are named and you are fixing categories, not freelancing.
The Corrective Style Guide: The Artifact That Scales
The named artifact is two things: an alt-text style guide and the re-audited library. The style guide is the part that compounds, because it turns the lessons of this one audit into a standard that governs every future image, whether a human or a model writes its alt-text. A good alt-text style guide documents the decisions, with examples: when to use alt="" (decorative images, with examples of what counts as decorative on your product); how to write alt-text for data visualizations (convey the data trend from the source, with a template and a worked example); the rule against "image of" prefixes and the narrow exceptions; length and lead-with-the-important-thing guidance; and how to handle the image types specific to your product (product photos, diagrams, icons, screenshots).
The style guide does the same job the microcopy pattern library does for copy and the brand-anchor reference set does for images: it externalizes the understanding the model lacks into a documented standard, so the next fifty images cost an audit, not a re-derivation, and so the model can be prompted with the style guide itself. Committed to the design-system or content docs, it becomes the institutional answer to "how do we write alt-text," and it makes the AI a genuine accelerator rather than a slop generator, because the model now drafts against the standard and the human audits against the same standard. The re-audited library is the immediate deliverable; the style guide is the one that makes every future library cheaper.
The Same Image, Different Context, Different Alt
To make the context dependence concrete, take one product photo and put it in two places. In a grid of search results, the image's job is to identify which product the link leads to, so the alt should be concise and functional: "Acme wireless headphones, black." On the product detail page, where the product name already sits in a heading right beside the image, that same photo may add nothing the heading does not, so the right alt might be minimal, or empty, or focused on a specific detail the heading omits ("shown with the included travel case"). The pixels are identical. The correct alt is different, because the surrounding content and the image's job are different. No model deciding from the image alone can get both right, because the difference is not in the image.
This is also why some images need more than alt-text. A detailed chart, an infographic, or a complex diagram carries information too rich for a concise alt, and the right pattern is a brief alt that gives the headline and points to a full text alternative - a data table or long description - that carries the complete information, all sourced from the underlying data rather than the rendered image. The alt gives the gist immediately; the long description gives the detail on demand. The model will not propose this structure on its own, because it does not know the image is information-critical to the page; you do, and that judgment is part of the audit.
Why the Decorative Call Is Irreducibly Human
It is worth dwelling on why the decorative-versus-meaningful classification cannot be delegated, because it is the heart of the lesson. Whether an image is decorative is not a property of the image; it is a property of the image's relationship to the surrounding content. A photo of a smiling team is decorative if the page is about something else and the photo is mood-setting, and meaningful if the page is the team page and the photo identifies who is on the team. The exact same pixels are decorative in one context and meaningful in another, so no amount of looking at the image alone can settle it. The model only ever looks at the image alone. The classification requires seeing the page, the content, and the user's goal, which is the human's view, not the model's.
This is why the audit cannot be skipped and why the style guide encodes examples rather than a rule the model could follow. "Mark decorative images alt=empty" is not actionable for a model that cannot tell which images are decorative; it is actionable for a human who can. The model can do the high-volume drafting and the easy descriptions; the human supplies the contextual judgment - decorative or meaningful, what data matters, what the screen reader already says - that turns drafts into correct alt-text. That contextual judgment is the durable skill, and it is exactly what the style guide captures so the whole team can apply it. As the model handles more of the easy descriptive drafting over time, this contextual judgment becomes a larger share of the remaining work and a larger share of what distinguishes good accessibility practice, which is why investing in it - and documenting it so it scales beyond your own head - is the move that compounds.
Monitoring After It Ships: The Invisible-Failure Problem
One more discipline, because alt-text has a peculiar property: its failures are invisible to the people who review it. A sighted designer reading the alt-text on a page sees fluent, plausible descriptions and signs off, while the screen-reader user hears the slop - the described divider, the dataless chart, the doubled "image of." This means you cannot monitor alt-text quality by looking at it; you have to experience it the way the affected user does. Periodically sample shipped images and navigate them with an actual screen reader, checking each against the three named failures and the style guide, and prioritize the high-traffic and information-critical images, especially charts.
Track an escaped-failure rate by category over time, and feed recurring escapes back into sharper prompt rules and style-guide examples, the same closed loop the drift-audit and contrast lessons use. If the same failure keeps escaping - say, a particular chart type the model always describes visually - that is a signal to strengthen the chart rule in the style guide and the prompt. The monitoring keeps the AI-drafting pipeline honest by measuring the experience users actually have, not how the alt reads to a sighted reviewer, and it is the only way to catch the slow drift of a prompt or a model that starts producing slightly worse alt-text after an update nobody noticed.
Putting It to Work This Week
Take fifty real images that need alt-text. Write the structured prompt that classifies decorative versus meaningful, conveys purpose over appearance, flags charts for data-based alt-text, and bans "image of." Run it, then audit the fifty against the three named failures: re-classify the decoratives by hand and mark them alt="", rewrite the charts from the source data, and strip redundant prefixes. As you go, write the alt-text style guide - the decisions, with examples from your own product - and commit it to your content docs. You leave with a re-audited library shipped today and a style guide that turns the next fifty images into a fast audit instead of a slow re-derivation, with the model drafting against the standard and you authoring the contextual calls it cannot make.
Key Takeaways
- Alt-text is not a description of an image; it is a conveyance of the image's purpose in context, and the model can describe pixels but cannot see purpose, so it produces fluent slop on exactly the images where alt-text matters most.
- The model's errors cluster into three named patterns: decorative images marked descriptive (should be alt=""), charts described visually instead of by data, and reflexive "image of" prefixes that screen readers already announce.
- A structured prompt - classify decorative versus meaningful, convey function not appearance, flag charts for data-based alt-text, ban "image of" - reduces the failure rate up front but cannot close the gap, because the model still cannot see the page or read charts reliably.
- Audit the fifty drafts against the three named failures, which is fast because you fix categories rather than re-write: re-classify decoratives by hand and mark them alt="", rewrite charts from the source data (not the model's misreading), and strip redundant prefixes.
- The decorative-versus-meaningful call is irreducibly human because it is a property of the image's relationship to the surrounding content, not of the image: the same pixels are decorative in one context and meaningful in another, and only the human can see the page.
- The artifact is an alt-text style guide plus a re-audited library; the style guide externalizes the contextual judgment the model lacks into a documented standard so the next fifty images cost an audit, not a re-derivation, and the model can draft against the same standard the human audits against.
Skill.re