AI image description services charge per image and give you a different answer every run. For most website images the information you need is already on the page — which makes rules cheaper, faster and more predictable.
The problem is real, the usual solution is expensive
A site that's been running for a few years typically has thousands of images and ALT text on a fraction of them. That's a genuine accessibility failure for screen reader users, and a missed signal for search engines. Everyone agrees it should be fixed. The disagreement is about how.
The current default answer is an AI vision service: send every image, get a description back, write it into the site. It works, and it has three costs people underestimate.
- It bills per image. Thousands of images is a real invoice, and it recurs every time you add content.
- It isn't repeatable. Run the same image twice and you can get two different descriptions. Across a whole site, that makes review and correction genuinely difficult.
- It describes the picture, not the purpose. "A person holding a blue object" is technically accurate and useless. Good ALT text depends on why the image is on that page — which the model can't see.
The information is usually already on the page
Here's the part that gets overlooked. For most website images, everything needed for good ALT text is sitting right next to the image:
- The filename —
navy-cotton-shirt-front.jpgsays quite a lot - The caption directly underneath it
- The heading of the section it sits in
- For products: the product title, the variant, the colour, the category
- The link text, when the image is a link
A rule that reads those sources in priority order produces ALT text that's specific, correct and free. And because it's a rule, the same input always produces the same output — which is what makes reviewing 3,000 of them possible.
What rule-based output looks like
On a product page for a navy cotton shirt, with an image called navy-cotton-shirt-front.jpg in the gallery, a sensible rule produces something like "Navy cotton shirt, front view". That's better than most AI descriptions of the same image, because it knows what the page is about.
On a blog post, an image under a heading about Wix exports, captioned "Wix product export screen", produces "Wix product export screen" — because the caption already said it, and repeating it in the ALT attribute is exactly right for a screen reader user who can't see the image.
Where rules genuinely lose
Being honest about the limits matters more than the sales pitch:
Rules can't fix missing context. An image called IMG_2831.jpg in a post with no caption and no relevant heading has nothing to work with. A rule will produce weak ALT text. AI would produce a generic description. Neither is good — the actual fix is naming your images properly.
Rules are also the wrong tool where the image content is the whole point and unpredictable — a photojournalism archive, or user-uploaded photos with no accompanying data. That's a genuine case for image recognition, and we'd tell you so.
Decorative images: the bit everyone gets wrong
Not every image should have a description. Dividers, background textures, spacer graphics and decorative flourishes should have an empty ALT attribute (alt=""), which tells a screen reader to skip them. Filling those with descriptions is a common and counterproductive "fix" — it turns a clean page into a stream of announcements about decorative lines.
A rule can identify these reliably by size, location and file naming. A model asked to describe every image will dutifully describe your background gradient.
A practical approach
- Inventory every image and record what context exists for each one.
- Set source priority — caption first, then product data, then filename, then nearby heading.
- Mark decorative images for empty ALT.
- Generate, then review the list rather than publishing blind.
- Fix the images with no usable context by naming them properly — that's a content fix, not a tooling one.
- Re-run when you add content. It costs nothing to run again.
The result is a site where every image has appropriate ALT text, the output is explainable when someone asks why a particular one reads the way it does, and adding another thousand images next year doesn't generate another invoice.