Image Alt Text
Alt text is the short text alternative on an image, written in the alt attribute, that screen readers announce in place of the picture. Every img element needs the attribute, but what goes in it depends on the job the image is doing: describe informative images, describe the destination for linked images, and leave it empty for purely decorative ones.
What we measured
71 of 266 sites failed the image alt text check, 26.7%. For contrast, our own 213 published pages carry zero images with a missing alt attribute, which is what it looks like when the rule is enforced in the template rather than remembered by hand.
Source: State of Small Business Websites 2026, n=266.
Sample framing: Purposive North American B2B prospect list skewing construction, trades and SMB services. 292 domains were scanned and 281 produced a full check run; the image alt text check resolved on 266 of them. Note this denominator differs from the 191 used for the Core Web Vitals and Link Labels figures in the same study. It represents the businesses small agencies actually pitch, not a random sample of the web.
How to re-derive it: images:Image Alt Text in summary.json, 71 failed of 266 seen. Our own figure is a scan of the 213 exported pages for img tags with no alt attribute.
Why it matters
- A screen reader reaching an image with no alt attribute may read the file name aloud. "I M G underscore 4 7 2 1 dot J P G" is worse than silence.
- When an image is the only content of a link, its alt text becomes the link's accessible name. Get it wrong and you have an unlabeled link as well as an undescribed image.
- Alt text is what a crawler reads in place of the picture. An image carrying your value proposition as baked-in text is invisible without it.
- It degrades quietly. Images still load, the page still looks right, and nothing tells you it is broken until someone who needs it arrives.
The failure
<a href="/" className="inline-block mb-4">
<img
src="/images/brand/logo-horizontal.webp"
width={232}
height={48}
/>
</a>Our own footer logo link with the alt attribute removed. The image is the link's only content, so with no alt the link has no accessible name either. One missing attribute produces two failures.
The fix
<a href="/" className="inline-block mb-4">
<img
src="/images/brand/logo-horizontal.webp"
alt="Axion Deep Digital home"
width={232}
height={48}
/>
</a>For a linked image the alt describes where the link goes, not what the graphic looks like. "Axion Deep Digital home" is useful. "Logo" is not, because it tells a screen reader user nothing about what happens if they activate it.
Verify the fix
Changing the code is not the same as fixing the problem. Confirm it.
- Run axe DevTools or Lighthouse and confirm the image-alt violation count is zero. The rule id is image-alt.
- Search the rendered output, not your source, for img tags with no alt attribute. Templates and build steps can add images you never wrote.
- For each linked image, read the accessibility tree in Chrome DevTools and confirm the link's computed name describes the destination.
- Re-run the page through DeepAudit and confirm the Image Alt Text check passes.
- Check that decorative images use alt="" rather than having the attribute omitted. Those are different states and only one of them is correct.
Exceptions and misconceptions
Decorative images take an empty alt, not a missing one
alt="" tells assistive technology to skip the image deliberately. Omitting the attribute entirely leaves the behavior undefined, and some screen readers fall back to announcing the file name. Empty and missing are not the same thing.
A linked image describes the destination, not the artwork
When an image is the sole content of a link, its alt text becomes the link's accessible name. Write alt="Search" rather than alt="Magnifying glass icon". If adjacent visible text already names the link, the image can take alt="" to avoid announcing it twice.
Do not start with "image of" or "photo of"
Screen readers already announce the element as a graphic. Prefixing the description repeats that and wastes the listener's time.
Images of text need the text
If a graphic carries words that matter, those words belong in the alt attribute. Better still, render them as real HTML text so they are selectable, translatable and responsive.
Alt text is not a keyword field
Stuffing it changes nothing for ranking and makes the page hostile to the people the attribute exists for. Describe the image's purpose in its context and stop.
Watch it
Primary sources
- W3C WAI: An alt Decision Tree
- WCAG 2.2, Success Criterion 1.1.1 Non-text Content
- Deque axe-core rule: image-alt
- MDN: the alt attribute
The measurement above comes from our study, State of Small Business Websites 2026.
Related lessons
Check your own site for this
DeepAudit AI renders your page in a real browser and reports the affected code, so you can see exactly where each finding came from. Free, no signup.
Run a free auditLast reviewed 2026-09-17. Checks covered: Image Alt Text, Images.