Alt Text Isn't an Accessibility Checkbox

Open a product page with six colourways and look at the alt text on each thumbnail. There's a good chance all six say the same thing: "product image," or the file name straight off the camera, or nothing at all. Nobody planned it that way. It's what happens when a theme migration or a bulk import runs through a catalogue and nobody goes back to finish the job by hand.
The cost of that gap is bigger than a Lighthouse warning. Alt text is the one field that has to work for three completely different readers at once, and generic text fails all three the same way.
Alt text, by the numbers
125
Generally well under this many characters, short enough to stay useful
400
SKUs, alt text doesn't get done without a system
3
Rules that make it tractable at catalogue scale
What a screen reader actually hears
A screen reader user shopping your colourway range doesn't see six photos. They hear "image, image, image, image, image, image," six times in a row, with no way to tell the navy from the forest green without opening every single one and hoping the product title happens to mention colour. WCAG's Success Criterion 1.1.1 sets the baseline here: informative images need a text alternative that does the same job the image does for a sighted shopper. A swatch photo's job is to say what's different about this variant. Restating the product name six times doesn't do that job. Neither does leaving the field blank, unless the image is genuinely decorative, in which case an empty alt="" is the correct call, not an oversight.
"A screen reader user shopping your colourway range doesn't see six photos. They hear 'image, image, image, image, image, image,' six times in a row, with no way to tell the navy from the forest green without opening every single one and hoping the product title happens to mention colour."
The fix is a formula, not a rewrite of your whole content process: what it is, what distinguishes this exact image from its siblings, and nothing else. "Merino wool jumper in forest green, ribbed cuff detail" tells a screen reader user something the product title doesn't. "Product image" tells them nothing they didn't already know from the page they're on.
Why search and AI agents read the same field
Alt text has always mattered for image search, and Google is specific about how: descriptive, tied to the actual page content, and short enough to stay useful, generally well under the 125-character mark. Stuff it with every keyword the range could plausibly rank for and you trip the opposite problem, a field that reads as spam rather than description.
The newer wrinkle is agentic shopping. AI agents that browse and compare products on a customer's behalf don't examine six product photos pixel by pixel the way a person would. At catalogue scale, they lean on the same machine-readable signals search engines always have, structured data and the alt text and file name attached to each image. Guidance aimed at this exact problem now recommends at least one high-resolution image per product with descriptive alt text and a meaningful file name, precisely because an agent with no other signal can't confirm what a product looks like, or which variant it's looking at. A catalogue where every image says "product image" hands an agent nothing to work with. It's the same failure as the screen reader case, just with a different reader on the other end.
"A catalogue where every image says 'product image' hands an agent nothing to work with. It's the same failure as the screen reader case, just with a different reader on the other end."
The file name matters more than most merchants assume, too. IMG_4471.jpg tells nobody anything, but it usually survives every platform migration a store goes through because renaming files is one more manual step nobody schedules. merino-jumper-forest-green.jpg costs the same five seconds at upload time and gives search engines and agents a second, independent signal that agrees with the alt text instead of contradicting it.
Writing it at catalogue scale
The reason this drifts in the first place is that alt text feels like a content task, and content tasks don't get done at 400 SKUs without a system. Three rules make it tractable:
Decorative images, the ones that add nothing informational, background textures, spacer graphics, get an empty alt="". That's not lazy, it's correct, and it stops a screen reader from reading out noise on every single page load.
Functional images, anything that's also a button or a link, describe the function, not the picture. A magnifying-glass icon that opens a zoom view needs alt text that says "zoom product image," not "magnifying glass."
Informative images, the product photos doing the actual selling, get the formula: what it is, what's different about this one, done. If a colour, a material or a pattern is the whole reason this variant exists, that's the first thing in the alt text, not the fifth.
None of this needs a developer. It's a spreadsheet problem: export your product images, sort by which ones share identical alt text, and start with the range that sells the most units. You'll usually find the drift is concentrated in a handful of collections rather than spread evenly across the whole store, which means the fix is smaller than it looks from the top.
Measure it yourself
You don't need a screen reader license to check this. On a Mac, Cmd+F5 turns on VoiceOver for free. On Windows, NVDA is a free download. Turn either one on, turn your monitor off, and tab through one product gallery on your own site. Count how many times you hear the same three words in a row. Then open your browser's dev tools on that same page, inspect each thumbnail, and read the alt attribute straight from the HTML. If six images share one string, you've found the fix before you've spent a cent on it.
At beCommerce, we check alt text and image naming as part of every accessibility and AI-visibility review. If you want a hand fixing yours, book your free audit →.
Is your store making any of these mistakes?
We audit Shopify stores for exactly these kinds of conversion-killing patterns — the ones that have become normalised until you see them through a customer's eyes.
Book your free audit →

