This translation has not been editorially reviewed yet. The German version is authoritative. Deutsche Fassung →
Checking alt text: when an image needs text
Every image that carries information needs alt text that conveys that information. Purely decorative images explicitly need EMPTY alt text (alt=""), so screen readers skip them. Both of these can be checked — whether the existing text actually captures the image's content, though, only a human can judge.
- What's machine-measurable is presence: if the alt attribute is missing entirely, that's a clear violation, and our check reports it with its location. Just as clear are alt texts that just repeat the file name.
- What a machine can't decide is quality. "Image1.jpg" is recognisably wrong, but whether "employee at desk" describes the image adequately, or whether it actually shows an operating step, is decided by a reviewer. That's exactly why this criterion stays open with us until a human has judged it.
- A common mistake in the other direction: alt text on purely decorative images. A screen reader then reads out "divider line", "background pattern", "decorative element" on every page visit. That's not a gain — it's noise.
FAQ
What belongs in good alt text?
The information the image conveys — in the context of the page. A product photo in a shop needs the product name; the same photo in a report might need the situation instead. There's no text that's right for an image everywhere.
When does alt text stay empty?
When the image carries no information that's missing from the text: decorative borders, gradient areas, an icon next to a label that's already spelled out. What matters is the difference between alt="" (deliberately empty, gets skipped) and a missing attribute (the screen reader then often reads out the file name).
Is an automated test enough for alt text?
No. It finds missing and obviously unusable text, but it can't see whether existing text is actually correct. Tools that report "accessible" after a run with no findings stay silent about exactly this gap.