How to write alt text that actually works
Someone told you images need alt text "for accessibility and SEO," so you dutifully typed "image of a laptop on a desk" into every one and moved on. I've got bad news: most of that is doing nothing, some of it is actively annoying the people it's meant to help, and a chunk of your images probably shouldn't have alt text at all. Alt text is easy to add and easy to get wrong, so let's get it right.
What alt text actually is
The alt attribute is a replacement for an image, not a description of it. Screen readers read it aloud in place of the image, and browsers show it if the image fails to load. It exists to satisfy WCAG 2.1 Success Criterion 1.1.1 (Non-text Content, Level A) — the most basic, non-negotiable accessibility requirement there is.
The mistake baked into "image of a laptop" is thinking alt text describes what's in the picture. It doesn't. It carries whatever the picture communicates.
The only question that matters
Forget "what's in this image?" Ask instead:
If this image disappeared, what information or function would a sighted visitor lose?
Whatever the answer is — that's your alt text. Nothing more, nothing less. A photo of your team on the About page might lose nothing meaningful (decorative). The same photo on a "meet your account manager" page loses a name (informative). Same pixels, different alt text, because the purpose differs. Context decides.
The five kinds of image, and what each needs
| Type | What to do |
|---|---|
| Decorative (dividers, background flourishes, mood stock photos) | alt="" — empty, so screen readers skip it |
| Informative (a photo or graphic that conveys a fact) | Describe the information it carries |
| Functional (icons, buttons, linked images) | Describe the action or destination, not the picture |
| Complex (charts, diagrams, infographics) | Short alt naming what it is + a longer description nearby |
| Image of text | Put the exact text in the alt — better yet, use real text, not an image |
The functional one trips everyone up. A magnifying-glass icon that submits a search should be alt="Search", not alt="magnifying glass". The user doesn't care what it looks like; they care what it does. Describe the job.
The "never do this" list
- Don't start with "image of" / "picture of." Screen readers already announce it's an image; you're making them say it twice.
- Don't leave the attribute off entirely. Empty
alt=""means "skip this." A missing alt makes many screen readers read the file name out loud —DSC_0042.jpgis a miserable thing to hear. Empty is intentional; missing is a bug. - Don't keyword-stuff. Cramming SEO terms into alt text degrades the experience for screen-reader users and reads as spam to search engines. Write for the human; the SEO benefit follows from relevance, not repetition.
- Don't describe appearance for functional images. See the search icon above.
- Watch the length. Aim for roughly 125 characters or fewer — some screen readers change behavior past that. If you need more, it's probably a complex image that wants a longer description elsewhere.
A word on AI-generated alt text
AI tools will write alt text for a whole library in seconds, and as a first draft that's genuinely useful at scale. But they share the same blind spot every automated tool has: they can describe what's in an image, but they can't know what it's for on your specific page. The team photo that's decorative in one place and informative in another looks identical to a model. Use AI to draft, then have a human confirm each one carries the right purpose. Unreviewed AI alt text is how you end up with technically-present, practically-useless descriptions.
How to find your problem images
An automated scan is genuinely good at the mechanical half of this: it finds images with a missing alt attribute, empty alt where there shouldn't be, and file-name-as-alt. That's the fast pass, and it clears the outright bugs. What it can't do is tell you whether a present alt is good — that's a human read. So do both: scan to catch the missing and broken ones, then eyeball the rest against the "what's lost?" question. This is the same automated-plus-manual split behind any real accessibility audit, and alt text is criterion 1.1.1 on the WCAG checklist.
Our free accessibility checker flags the machine-detectable image problems on your live page in seconds, no signup — a good way to see how many of your images are silently broken right now.
See which images are missing alt text
Perimeter's free scan grades your live page against WCAG-based checks — including missing and empty alt text, links and labels — alongside your TLS, headers and DNS. No signup.
Track accessibility over time → · Compliance plan $49/mo, dated reports