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
- Review the alt on each image and ask whether it describes what the image conveys or merely names a file or a category.
- Replace any filename (alt ending in .png, .jpg, .svg, and so on) with a description of the image's meaning or function.
- 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.
- 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.
- 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.
<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><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.