Alt text is the field everyone knows they should fill in and almost nobody fills in well. Partly because it is at the end of a form, partly because the guidance people remember is “describe the image”, which is not enough to act on and produces a great deal of useless text.
The better question is not what is in the picture. It is what the picture is doing here.
Who is reading it
Three audiences, in order of how much they matter.
People using a screen reader. Someone navigating a page by ear, where every image either contributes a sentence to the story or interrupts it. This is the audience the field exists for.
Anyone whose image did not load. Slow connection, blocked host, a typo in the path. The alt text is what stands in for the picture.
Search engines. Real, but third. Alt text is one of several signals used to work out what an image shows, alongside the filename, the caption and the surrounding text. Writing for this audience first is how you end up with the keyword-stuffed nonsense that helps nobody.
The question that makes it easy
Before writing anything, ask: if this image vanished, what would the reader lose?
Sometimes the answer is nothing at all, because the image is decorative. Sometimes it is a specific fact, because the image is a chart. Sometimes it is a mood, because the image is a photograph setting a scene. Each answer produces a different kind of alt text, and getting this classification right is most of the work.
Decorative images get empty alt text
A background texture, a divider, a stock photograph of hands on a keyboard next to an article about productivity. These carry no information the text does not already carry.
The correct alt text is empty: alt="". Not missing, empty. The difference matters: an empty alt attribute tells a screen reader to skip the image silently, while a missing one often makes it read out the filename, and nobody needs to hear “d s c underscore zero four four seven one dot j p g”.
This is the most underused piece of the whole subject. A page with fifteen decorative images and no empty alt attributes is genuinely unpleasant to listen to.
Informative images get the information
The picture carries something the text does not. Describe that something, not the picture.
Compare: “photo of a shoe” against “the sole of the running shoe, showing the two-density foam layers”. Both are true. Only one tells you why the picture was included. A product photograph on a shop page should describe the thing a buyer is trying to see, which is usually the color, the material and the angle, because that is why the photograph is there.
Functional images get the function
If the image is a link or a button, the alt text is not a description, it is the destination. An icon of a house that links to the front page should be “home”, not “house icon”. A magnifier that opens search should be “search”. Describing the drawing rather than the action is the single most common accessibility mistake in navigation.
Charts and diagrams get the finding
You cannot fit a chart into alt text, and you should not try. Give the conclusion in the alt attribute, then put the underlying data somewhere reachable: a caption, a table below, a link.
“Bar chart showing monthly signups” is nearly useless. “Signups roughly doubled between March and June, then held steady” is what a sighted reader takes away in one glance, so it is what the alt text should say.
Images of text get the text
If a picture contains words, the words go in the alt text, verbatim. A quotation card, a poster, a screenshot of an error message. This one has no nuance and is frequently skipped.
Practical rules
- Do not start with “image of” or “photo of”. Screen readers already announce that it is an image. You are wasting the listener’s first two words.
- Keep it to about one sentence. There is no hard limit, but long alt text is read as an uninterrupted block with no way to skim. If you need more, you want a caption or body text.
- Punctuate it. A full stop makes a screen reader pause. Without one, the alt text runs into the next element.
- Do not repeat the caption. If a caption is visible, both get read out, and hearing the same sentence twice is worse than hearing it once.
- Context decides. The same photograph of a lighthouse might be “” on a homepage, “the lighthouse at Hook Head, seen from the cliff path” in a travel article, and “the black and white band pattern used to identify the tower by day” in a piece about navigation. There is no correct alt text for an image in isolation.
What about keywords
Write the honest description and the keywords take care of themselves, because a genuine description of a picture on a page about a subject naturally contains the words of that subject.
What does not work, and has not for many years, is stuffing: “running shoes, best running shoes, cheap running shoes, buy running shoes online”. Search engines are good at detecting it and it actively harms the audience the field is for. If your alt text would sound absurd read aloud, it is wrong.
One genuinely useful signal that costs nothing: name the file properly before uploading. hook-head-lighthouse-cliff-path.jpg beats IMG_4471.jpg, in image search and in your own media library six months later.
Fixing a library that has none
If you have inherited two thousand images with empty alt attributes, the temptation is a bulk operation that copies the filename or the post title into every field. Resist it: that produces text that is technically present and practically worthless, and it removes the signal that told you which images still needed attention.
A more useful order:
- Find every image that is actually used on a page, and ignore the rest.
- Sort by how much traffic those pages get.
- Work down the list, starting with functional images and images of text, which have the highest cost when missing.
- Mark decorative images with an empty alt rather than leaving them blank by accident, so the job is genuinely finished.
Automatic description tools have become good enough to write a serviceable first draft for a whole library, which turns an impossible task into an afternoon of editing. Just remember what they cannot know: they can see a person at a desk, but not that the picture is there to show the desk rather than the person.
The test
Read the page aloud, substituting your alt text wherever an image appears. If the result flows as a piece of writing, the alt text is right. If it stutters, repeats itself or announces things that do not matter, you now know exactly which images to fix.