Use AI to draft alt text, never to finish it. A model can describe what is in a picture, which solves the blank field problem on a large backlog. It cannot know why that picture is on that page, and the why is what alt text is actually for. Draft with the machine, decide as a human.
This question comes up on almost every migration we run. A site arrives with two thousand images and maybe four hundred have alt text. Writing the rest by hand is genuinely expensive. So the temptation to point a model at the folder and accept whatever comes back is real, and we understand it.
Our position is that the temptation is half right. The bulk drafting is a good use of AI. The blind acceptance is where sites end up worse off than before.
Alt text is the text alternative that gets read aloud when an image cannot be seen. Its job is to give a screen reader user the same information a sighted user gets from the image, in that spot, on that page. It is not a caption, not a description contest, and not a place to put keywords.
The W3C Web Accessibility Initiative is precise about who decides what it says. Its images tutorial states that "The text alternative needs to be determined by the author, depending on the usage, context, and content of an image". That sentence is the whole argument in this article, and it was written long before anyone was generating alt text with a model.
The W3C illustrates it with a good example. The exact type and look of a bird in a photo might matter very little on a website about parks, and matter a great deal on a website about birds. Same image, same pixels, different correct answer.
Bad enough that any improvement matters. The WebAIM Million report from February 2026 analysed the home pages of the top one million sites and found that 16.2% of all home page images had missing alternative text. Missing alt text was a detected failure on 53.1% of those home pages.
The wider picture from that report is worse. WebAIM found that 95.9% of home pages had detected WCAG 2 failures, averaging 56.1 errors per page. Missing alt text sat second on its list of the six most common error types, behind low contrast text at 83.9% and ahead of missing form input labels at 51%.
What makes the alt text number harder to fix is volume. WebAIM measured an average of 66.6 images on a single home page. That is a lot of decisions for one page, and most teams are looking at hundreds of pages.
So the honest framing is this. A slightly imperfect description on an image that currently has nothing is an improvement. A confidently wrong description on an image that currently has nothing is not. We cover the wider standards picture in our WCAG accessibility guide.
Models are genuinely good at literal description. Point one at a photograph and it will reliably tell you there are three people at a table with laptops, or that a chart shows a line trending upward. For a photo library with no alt text at all, that is a real starting point produced in seconds.
They are also consistent, which humans are not. A team of four people writing alt text across a large site will produce four different styles, four different lengths, and four different opinions on whether to start with the words "image of". A model applies one convention everywhere.
Automatic description is established enough that browsers ship it. Google offers a Chrome feature called Get Image Descriptions from Google, which describes unlabeled images for screen reader users. It exists precisely because so many images arrive with nothing at all.
That feature is also a useful reality check on quality, because Google states plainly in its own support documentation that "The image descriptions may not be fully accurate". The company shipping the feature is telling you not to rely on it as the final word.
It describes the image instead of serving the page. A model looking at a photo of two people shaking hands will write about two people shaking hands. If that image sits inside a link to your partnerships page, the correct alt text is about where the link goes, not about hands.
The W3C alt decision tree makes this explicit for functional images. When an image is inside a link or a button, the guidance is to use the alt attribute to communicate the destination of the link or the action taken. A description of the picture actively fails the user there, because it answers a question they did not ask.
Models also over describe. Alt text should be brief, and a generated description often runs to a full sentence of visual detail that a screen reader user has to sit through on every one of 66 images. Length is not thoroughness. It is friction.
The last failure is quiet and the most damaging. Models do not say they are unsure. They produce a fluent, confident description of something they may have misread, and a fluent wrong answer is much harder to catch in review than an empty field.
Because context lives on the page, not in the image file. A model given only the pixels has no idea whether the surrounding paragraph already explains the image, whether the same photo appears three times, or whether the point of the image is the product, the setting, or the person holding it.
Consider a chart. The W3C guidance for complex images is to include the information contained in the image elsewhere on the page rather than cramming it into the alt attribute. A model has no way to know whether you did that, so it will try to compress the whole chart into alt text regardless.
Consider a product photo that appears on both a listing page and a product page. On the listing it needs to distinguish this product from the eleven around it. On the product page the heading directly above already names it, so repeating the name is noise. The pixels are identical. The right answer is not.
This is why we treat generated alt text as input rather than output. The model handles the part that needs eyes. A person handles the part that needs to know what the page is doing.
More often than most people expect. The W3C alt decision tree is clear that decorative images, the ones that carry no information and are not intended for users, should use an empty alt attribute. That means an alt attribute with nothing inside it, so screen readers skip the image entirely.
Background textures, divider flourishes, decorative shapes, and stock photos that exist purely to break up text are all in this category. Describing them out loud makes the page worse for the exact people alt text is meant to help.
This is the single biggest thing bulk AI generation gets wrong, and it is worth being blunt about. A model handed a decorative swirl will describe the decorative swirl. Run that across a whole site and you have turned silent decoration into a stream of pointless narration on every page.
An empty alt attribute is a decision, and it is not the same as a missing one. Missing alt means nobody thought about it, and a screen reader may read out the filename instead. Empty alt means somebody thought about it and concluded there was nothing worth saying.
Run the model over your image backlog to produce drafts, then review them in batches grouped by page type rather than one by one. Fix the functional images first, mark the decorative ones empty, and accept the straightforward informative descriptions with light edits. Most of the volume clears quickly this way.
Sort by where the image sits before you review anything. Images inside links and buttons need a human every time. Images inside article bodies usually need a small trim. Images in a decorative role need deleting, not editing. Grouping by role turns a tedious per image job into three quick passes.
Give the model page context in the prompt if your tooling allows it. Passing the page title, the surrounding paragraph, and whether the image is a link produces noticeably better drafts than passing the file alone. It still does not remove the review step.
Then check the result with a real testing tool rather than trusting the pipeline. This kind of automated pass plus human review split is the same pattern we describe in our guide to running an AI website audit, and it works for the same reason.
Yes, but that is the secondary benefit and it should not drive your decisions. Alt text gives search engines and AI systems a text description of image content, which helps images surface in image search and helps a model understand what a page is about. Keyword stuffing the attribute helps neither.
The useful reframe is that good accessibility and good machine readability are the same work. A description written for a person who cannot see the image is exactly the description a crawler needs, because both are consuming the page as text.
Image performance matters here too, and it is more often the limiting factor than alt text is. If your images are heavy enough to slow the page down, that costs you more visibility than any attribute will win back, which is why we treat them together in our piece on image optimization and web performance.
Write for the human. The machine benefit follows automatically and needs no separate effort.
Start by finding out how big the problem is. Run an automated check across your site and count the images with missing alt attributes, then split that list by whether each image is decorative, informative, or functional. That split tells you how much of the job actually needs a person.
Then generate drafts for the informative pile only, review them, and handle the other two piles by rule rather than by model. Decorative goes empty. Functional gets written by hand against where the link goes. That approach uses AI where it is strong and keeps it away from where it is confidently wrong.
If you have a large library and you are not sure how to sort it without spending a month on it, we are happy to walk through the approach with you. Reach out at phoenix.studio and we can look at your setup together.
Tell us where you want to go. We'll tell you how we'd get you there.