Of the 106 criteria in RGAA 4.1, criterion 1.1 is the one that shows up in 90% of e-commerce audits. Not because it's complex — it isn't. But because every product page, every banner and every icon adds an image, and almost nobody thinks about its text alternative at upload time. On a catalogue of 3,000 references, that quickly adds up to thousands of images that are silent to a screen reader.
What the criterion actually says
Criterion 1.1 requires that every image carrying information has a text alternative. Behind that sentence lie two distinct obligations: images that convey information must restate it in text, and purely decorative images must be explicitly ignored by assistive technologies. This isn't a matter of taste — a screen reader like NVDA or VoiceOver reads the `alt` attribute, and nothing else, to describe an image to a blind user.
The only test to remember
Ask yourself a single question: if I remove this image, do I lose any information? If yes, the image is informative and needs a descriptive `alt`. If no, it's decorative and must get an empty `alt` — `alt=""` — so the screen reader skips it without mentioning it.
// Missing alt is not empty alt
Never confuse a missing attribute with `alt=""`. An image with no `alt` attribute at all makes some screen readers read the file name aloud ("D S C zero zero forty-two dot j p g"). An image with `alt=""` is cleanly ignored. The difference in experience is enormous.
How to write a good alt
A good alt is short, factual, and stands in for the image. It never starts with "image of" or "photo of": the screen reader already announces "image" before reading the alternative. It describes the image's function in context, not every one of its pixels.
- →Product: "Voyager 30 L backpack, navy canvas" — not "IMG_4892" or "bag"
- →Functional icon: describe the action, not the shape — "Search", not "magnifying glass"
- →Promo banner with embedded text: copy the message — "-20% on back-to-school until September 15"
- →Payment logo: the brand — "Secure payment by Stripe"
- →Chart or infographic: summarise the key figure, don't write "chart"
Common e-commerce pitfalls
- →Product photos with `alt=""` or alt = file name (`IMG_4892.jpg`)
- →Icon-buttons (cart, account, search) with no alt — the screen reader reads the icon's URL
- →Promotional banners with the text baked into the image, no alt — the offer is invisible to a blind user
- →Partner and payment-method logos with no alt — the user doesn't know who they're trusting with their card
- →Informative CSS background images — invisible to alt, to be doubled with visually hidden accessible text
- →Variant thumbnails (colours, sizes) all sharing the same generic alt
Three special cases that trip people up
The image link
When an image is the only content of a link (`<a><img></a>`), the image's alt becomes the link's label. An empty alt then produces a link with no label: the screen reader announces "link" without saying where it goes. The alt must describe the destination — "See the Voyager backpack", not "bag".
The text-as-image
A promo whose entire text is baked into a visual (typical of sale banners) must copy that text into its alt. Better still: the RGAA recommends avoiding images of text when the same rendering is achievable in HTML and CSS, since they also break zoom and contrast.
The visual CAPTCHA
A CAPTCHA image with no alternative simply blocks a blind user. The alt must at least describe its function, and a non-visual alternative (audio) must be offered alongside.
✓ A good alt in 3 seconds
For a product: product name + variant. For an icon: the action triggered. For a banner: message + offer. Never start with "image of" or "photo of".
Detecting images without alt at scale
Checking 3,000 pages by hand is impossible. An engine like axe-core instantly spots any image without an `alt` attribute — but it doesn't judge the relevance of the text: it knows an alt exists, not whether it actually describes the image. That's the limit of any automated audit: it finds the silent images, a human validates the questionable alternatives. That division of labour is exactly what ComplAudit is built on.
Frequently asked questions
Do CSS background images need an alt?
An image injected via `background-image` has no alt attribute. If it's decorative, that's fine. If it carries information, add an accessible text equivalent: visually hidden text, or an `aria-label` on the element.
What's the maximum length of an alt?
No strict limit, but aim for one sentence. Beyond roughly 125 characters, some screen readers truncate. For a complex image (diagram, chart), use a short alt and place a longer description nearby on the page.
Is the same alt for every colour variant a problem?
For the technical criterion, the image does have an alt. But for a blind user, the variants become indistinguishable. Specify the colour or variant in each thumbnail's alt.
Do RGAA 1.1 and WCAG say the same thing?
RGAA criterion 1.1 implements WCAG criterion 1.1.1 ("Non-text Content", level A). Fixing one fixes the other — handy for a site targeted by both the RGAA in France and WCAG internationally.
To detect images without alt across your store in bulk, with the DOM selector and URL of each:
→ Run an audit