Writing Alt Text and Captions That Read Well
Alt text and captions are writing, and most of it is bad because nobody treats it that way.
There is a category of writing on every website that almost nobody thinks of as writing: the text attached to images. Alt text, captions, the little labels under charts. It gets written last, in a hurry, often by whoever happened to upload the file. And it shows. “Image of team.” “Screenshot.” “IMG_4032.jpg.” I see these constantly in audits, and each one is a small failure of imagination, because this text has readers, and the readers are paying closer attention than you think.
Start with who actually reads alt text. The obvious audience is people using screen readers, for whom the alt attribute is not a technicality but the image itself. When a screen reader hits an image, it reads the alt text aloud. If the alt text is “photo,” the listener has learned that a photo exists. If it’s missing entirely, many screen readers fall back to reading the filename, which is how someone ends up hearing “DSC underscore zero zero four seven dot jpeg” in the middle of your carefully written page. That’s not an edge case. That’s the default outcome of not bothering.
But screen reader users aren’t the only audience. Search engines read alt text to understand what an image shows. Anyone on a slow connection sees alt text while images load, or instead of them when they fail. And captions — visible text under an image — are read by nearly everyone, because eyes are drawn to pictures and then drop to the line beneath them. Caption text is some of the most-read text on any page, and it is routinely the worst-written.
So how do you write alt text that reads well? The trick is to stop thinking of it as a label and start thinking of it as a sentence in your document that happens to replace a picture. Imagine you’re reading the page aloud to someone over the phone. When you reach the image, what would you say? You wouldn’t say “image of chart.” You’d say what the chart shows: “Signups doubled after the checkout redesign.” That sentence carries the information the image was there to deliver. That’s the alt text.
This reframing resolves most of the questions people have. Should alt text start with “image of”? No, because the screen reader already announces it as an image; you’d be saying “image” twice. How long should it be? As long as a good sentence and no longer — if the image needs a paragraph of explanation, that explanation belongs in the visible text, where sighted readers can benefit from it too. What about decorative images, the swooshes and dividers and stock photos of handshakes? Give them an empty alt attribute, alt="", which tells screen readers to skip them silently. An empty alt is a deliberate statement: this image carries no information. A missing alt is an accident. The HTML spec treats them differently, and so do the tools, which is why GazeSite flags a missing attribute but not an intentionally empty one.
Context changes everything, and this is the part that generic advice misses. The same photograph needs different alt text on different pages. A picture of a person on a team page might be “Maria Chen, head of engineering.” The same picture illustrating a blog post about remote work might be “An engineer working from a kitchen table.” Alt text describes the image’s role in the document, not its pixels. There is no such thing as the correct alt text for an image in isolation, which is also why no upload tool can fully automate it.
Captions play a different game. They’re visible, so they don’t need to substitute for the image — they need to add to it. The weakest caption restates what any viewer can see: under a photo of a bridge, “A bridge.” The strongest caption tells you the thing the image can’t: “The bridge that carried all of the town’s traffic until 2019.” Newspapers figured this out a century ago. A good caption is a fact, plainly stated, that makes the image mean something. And because captions are read by skimmers hopping from image to image, they should be able to stand alone. Someone reading only your captions should still come away with the gist of the page, the same way someone reading only your headings should.
One caution: don’t stuff keywords into alt text for SEO. It’s tempting, because search engines do read it. But the primary reader is a person listening to your page, and a string of comma-separated keywords read aloud is gibberish. Write the honest sentence. It tends to contain the natural keywords anyway, because an honest description of an image about your product mentions your product.
The reason I care about this is partly that it’s easy to check and easy to fix. When GazeSite audits a page, missing and useless alt text is among the most common findings, and it’s also among the cheapest to remedy — no redesign, no engineering, just a writer spending one honest minute per image. But mostly I care because of what this text reveals. Alt text and captions are written where nobody’s watching. Whether they’re any good tells you whether a site was made with actual care or just assembled. Readers can’t articulate this, but they can feel it. The sites that get the invisible text right are almost always the ones that got everything else right too.
More articles
Your addressable market is not who could want your product but who can actually use your site.
Read →Tripling a landing page's conversion rate usually means fixing an accumulation of small, boring leaks rather than finding one brilliant trick.
Read →Page length should match the size of the decision, not a design fashion.
Read →