Alt text for e-commerce product images

Product images are where alt text matters most to revenue. A blind shopper using a screen reader relies on it to know what the photos show: the colour, the texture, how the jacket fits, what’s in the box. It’s also where most stores fall behind, because a catalogue of 500 products with six photos each is 3,000 alt texts.

It’s also where accessibility lawsuits concentrate. UsableNet reported that e-commerce accounted for “nearly 70 percent” of US digital accessibility lawsuits in 2025 (UsableNet, Jan 2026), and about 80% in the first half of 2026 (UsableNet, Jul 2026). In the EU, the European Accessibility Act covers e-commerce services (Directive (EU) 2019/882, Art. 2). Alt text is only one part of an accessible store, since checkout, forms and keyboard access matter as much or more. But it’s the part most visible in any audit.

What shoppers need from product alt text

Think about what a sighted shopper learns from each photo, then put that into words:

  • What it is: product type, and the name if it helps.
  • What it looks like: colour, pattern, material or finish, shape.
  • What this particular photo shows: front, back, detail, scale, in use, packaging.
  • Anything you can only learn from the image: “fits a 15-inch laptop”, “model is 180 cm and wears size M” (if that’s what the photo is for).

Then leave out what doesn’t help: marketing adjectives (“stunning”, “premium”), the price, SKU codes, and keyword lists.

A template that works (and its limits)

A simple starting template:

[Product type] in [colour/material], [what this photo shows]

Examples:

  • “Linen button-up shirt in sand, front view”
  • “Linen button-up shirt in sand, close-up of the coconut-shell buttons”
  • “Linen button-up shirt in sand, worn untucked by a model with rolled sleeves”
  • “Stainless steel water bottle, 750 ml, matte black, next to a pen for scale”

The limit of templates: they fill in what your product data knows, not what the photo shows. A Shopify Community thread on writing alt text for 1,000+ variants makes this point well. Templates can produce text that’s “technically unique per variant while still being generic”, and a size such as “Medium” is usually irrelevant because you can’t see it in the photo (Shopify Community, Aug 2026). Use templates for the long tail, then hand-write or carefully review the images that get the most traffic.

Image-by-image guidance

Main product image

The most important one. Lead with the product type and the defining visual details. If the product name is distinctive (“The Weekender Bag”), include it, but don’t rely on the name alone. “The Weekender” tells a listener nothing about what it looks like.

Each gallery image needs alt text that says what it shows. Copying the main image’s alt onto all six is one of the most common errors, and it makes the gallery useless.

Photo Alt
Front “Tan leather weekender bag, front view with two top handles”
Side “Side view showing the bag’s depth and the brass zip pull”
Interior “Open bag showing a padded laptop sleeve and two zip pockets”
Scale “Model carrying the bag over one shoulder; it reaches from shoulder to hip”
Detail “Close-up of the stitched seam and embossed logo”

Colour variants and swatches

A swatch is usually a control: clicking it changes the selected colour. The control needs a name (“Sand”, “Navy”). That often comes from a radio button label rather than from image alt, so check how your theme builds swatches. If the swatch image is inside a labelled button or input, the image itself can be alt="".

Variant photos (the shirt in navy) need alt text that names the colour: “Linen shirt in navy, front view”.

Lifestyle and editorial photos

These show the product in use, and sell a feeling. Describe the product and the context that’s selling it, briefly: “Two people sharing coffee from the sage mugs at a sunny kitchen table”. If a lifestyle image is purely atmosphere and doesn’t show the product, it may be decorative (alt="").

Images of text: size charts, ingredient lists, care labels

A size chart as an image is a real barrier. The alt can’t sensibly hold a 30-cell table. Put the size chart on the page as an HTML table, and give the image a short alt such as “Size chart, also available as a table below”. The same goes for ingredient lists, nutrition panels and spec sheets. W3C’s rule for images of text is that “the text alternative must contain the same text presented in the image” (W3C), and for anything long, real text is the only practical way.

Badges on product images

“New”, “Sale”, “-20%” overlays baked into the image are information. Either put them in the alt (“Sale: 20% off”) or, better, render them as real text on top of the image.

Category and collection grids

In a product grid, the thumbnail and the product name usually link to the same page. If the product name is visible link text, the thumbnail’s alt can be alt="" to avoid each product being announced twice. If the thumbnail is the only link, its alt must name the product. See our guide to linked images.

SEO: helpful, if you don’t stuff

Google says alt text is “the most important attribute when it comes to providing more metadata for an image” and that it uses alt text “along with computer vision algorithms and the contents of the page to understand the subject matter of the image”. It also warns against keyword stuffing, which “may cause your site to be seen as spam” (Google Search Central). A good product alt naturally contains the words people search for (“linen shirt”, “sand”) without forcing in “best cheap linen shirt men summer sale”. More in our alt text for SEO guide.

A workflow that scales

  1. Audit first. Find out which product images have no alt, which have the file name, and which repeat the same alt across a gallery.
  2. Fix templates. Make sure your theme outputs the image’s own alt and doesn’t hard-code the product title on every image or output alt="" when the field is blank.
  3. Prioritise. Start with the top 50–100 products by revenue or traffic, then current collections, then the archive.
  4. Draft in bulk, review in batches. Generate drafts, then review a batch of 20–50 at a time against the actual photos. The Shopify Community advice above (preview 20–30, fix the pattern, then apply, then spot-check) is sound.
  5. Write back to the source. In Shopify, that’s the product media alt field or the “Image alt text” column of the product CSV (Shopify Help). In WooCommerce, the Media Library alt field.
  6. Make it part of publishing. New products shouldn’t go live without alt text on every image.

How Altpass fits

Altpass audits your store’s pages and lists every product image with missing, duplicated or weak alt text. Its drafts use the page around the image (product title, nearest heading, nearby text) as well as the photo, so a detail shot gets a detail description instead of the main image’s alt again. You approve or edit each one, then export a CSV to update your platform. If you can’t update the source quickly, the Altpass fix script can apply approved alt text in the browser in the meantime. That’s a stopgap, not a substitute for fixing the store data.

Check a product page

Run the free Altpass checker on one of your best-selling product pages. It takes seconds, and gallery images with copied or missing alt text usually show up straight away.

Updated

Check your own page

Paste a URL into the free checker to see every image with missing or weak alt text — no sign-up.

Run the free checker