All WCAG rules
WCAG 1.1.1Level AWarningImages

How to fix: Image alt text is unhelpful or redundant

Alt text must describe what an image conveys, not a filename like "hero.jpg", a generic word like "image" or "logo", or a duplicate of the text right next to it. Replace it with a real description, or use alt="" if the image adds nothing.

What it is

Alt text is the text alternative a screen reader announces in place of an image, and WCAG Success Criterion 1.1.1 Non-text Content requires that it actually convey the image's purpose. A present-but-useless alt satisfies a naive "has alt" check while failing the user completely, which is why poor alt text is its own problem, distinct from missing alt text.

Three patterns make alt text unhelpful. A filename: an alt left as banner.png or IMG_4821.jpeg announces a meaningless string. A generic placeholder word, such as image, photo, picture, graphic, icon, logo, banner, placeholder, untitled, img, or pic, which names the category without saying what the image shows or does. And redundancy: alt that repeats the visible text beside the image, so a screen reader reads the same phrase twice.

The fix is to describe meaning in context, the company name for a logo that links home, the takeaway for a chart, what the product is for a product shot. If the image genuinely adds nothing, because it is decorative or because adjacent text already says everything, the correct answer is an explicit empty alt="" so assistive technology skips it cleanly.

Who it affects & why it matters

Blind and low-vision users on screen readers like JAWS, NVDA, or VoiceOver bear the cost. Hearing "image dot p n g" or the word "graphic" tells them an image exists but withholds everything that matters about it, which is often worse than silence because it interrupts the flow for no payoff. Redundant alt is its own irritation: the same label twice makes a page feel broken and slower to get through.

Users with cognitive disabilities who rely on text-to-speech are affected too, since filename noise and repeated phrases add clutter that makes content harder to follow. Meaningful alt text also feeds image search, so real descriptions help every visitor and your SEO at once.

Unhelpful alt text falls under SC 1.1.1, a Level A criterion, the same foundational requirement as missing alt text, and image text alternatives are consistently among the most-cited categories in the WebAIM Million report and in accessibility demand letters. A tool, or a plaintiff, can spot a filename or one-word alt instantly, so these are easy, screenshot-ready audit findings.

WCAG 2.1 Level AA is the benchmark courts apply to ADA Title III claims, and web accessibility lawsuits keep rising, most aimed at businesses under $25 million in revenue. Because a passing "has alt" check can mask alt text that helps no one, closing the quality gap, not just the presence gap, removes a barrier a surface-level audit would miss but a real user would hit at once.

How to fix it

  1. Review the alt on each image and ask whether it describes what the image conveys or merely names a file or a category.
  2. Replace any filename (alt ending in .png, .jpg, .svg, and so on) with a description of the image's meaning or function.
  3. Replace generic words like "image", "photo", "logo", or "icon" with something specific: a logo's alt is usually the brand name, a chart's alt the point it makes.
  4. Where alt just repeats the visible caption or link text beside the image, change the image to alt="" so the phrase is not announced twice.
  5. Keep descriptions concise, skip prefixes like "image of", then re-scan to confirm no alt is left as a filename, a generic word, or a duplicate.
Before
<img src="/hero.png" alt="hero.png">
<img src="/brand.svg" alt="logo">
<a href="/learn"><img src="/learn.svg" alt="Learn more"> Learn more</a>
After
<img src="/hero.png" alt="Team collaborating in an open-plan office">
<img src="/brand.svg" alt="AccessKnight">
<a href="/learn"><img src="/learn.svg" alt=""> Learn more</a>

How AccessKnight detects this

AccessKnight inspects every image with a non-empty alt and flags it in three cases. First, when the alt matches a filename pattern, ending in .png, .jpg, .jpeg, .gif, .svg, .webp, .bmp, .ico, or .avif. Second, when the alt (case-insensitive) is one of a set of generic, unhelpful words: image, photo, picture, graphic, icon, logo, banner, placeholder, untitled, img, or pic. Third, when the alt is at least five characters and, lowercased, exactly equals the trimmed text sitting directly beside the image in its parent element, marking it redundant. Images with an empty alt="" are not evaluated here, since an empty alt is the correct marker for a decorative or redundant image.

Frequently asked questions

Is unhelpful alt text a Level A or AA issue?

It falls under WCAG 2.1 Success Criterion 1.1.1 Non-text Content, Level A, the minimum tier, the same criterion as missing alt text. AccessKnight scores it as a warning because the attribute is present, but the alt still fails to convey the image's meaning.

Why is a filename like "banner.png" flagged as alt text?

Because a filename announces a meaningless string to a screen reader and tells the user nothing about the image. A value ending in an image extension (.png, .jpg, .svg, and so on) is almost always a leftover default rather than a real description, so AccessKnight flags it for replacement.

What if the image really is just decorative?

Then use an explicit empty alt="". An empty alt tells assistive technology to skip the image cleanly, and AccessKnight does not flag empty-alt images under this rule. Reserve real descriptions for images that carry information, and use alt="" for purely decorative or fully redundant ones.

Why is alt that matches the text next to it flagged?

When an image's alt repeats the visible caption or link text right beside it, a screen reader announces the same phrase twice, which is redundant and slows the user down. If adjacent text already conveys the meaning, set the image to alt="" so it is not read a second time.

Can a single word ever be valid alt text?

Yes, when the word genuinely describes the image, for example a brand name on a logo. What this rule catches is generic category words, image, photo, icon, logo, banner, and the like, that name what kind of thing it is without saying what it actually shows or does.

Is this issue on your site?

AccessKnight scans any page against all 30 WCAG 2.1 rules — including this one — and shows every instance with a fix. Free, no credit card.

Scan my site free →

More WCAG fixes