Audit my site →

Blog

The Alt-Text Formula: Descriptive, Not Stuffed

Good alt text is a description written for a person who cannot see the image, and that is also exactly what search engines want.

There is a simple test for whether alt text is good. Read the page aloud, and when you reach an image, read the alt text in its place. If the sentence you just spoke would make sense to someone listening, the alt text is good. If you just said the words red running shoes buy running shoes best running shoes online, it is not, and you have learned something about how the page treats people who cannot see it.

That test is not hypothetical. It is literally what a screen reader does. A blind user browsing your site hears the alt attribute wherever an image appears. This is what the attribute is for. It was designed as an accessibility feature, and everything else it does, including whatever it does for search rankings, is downstream of that purpose.

The trouble is that somewhere along the way, alt text got reclassified as an SEO field. Search engines cannot fully see images, the reasoning went, so the alt attribute is where you tell them what to rank the image for, and while you are at it, why not tell them three or four times. This produced a generation of alt attributes that read like ransom notes assembled from keyword research. They help no one. Screen reader users get gibberish. And search engines, which have spent two decades learning to detect exactly this kind of manipulation, discount it or worse.

Here is the thing that makes the whole conflict dissolve: the two goals were never actually in tension. A search engine trying to understand an image wants the same thing a blind user wants, which is an honest description of what the image shows. Write for the human and the machine is satisfied automatically. The stuffed version is not an aggressive form of the good version. It is a failure at both tasks.

So what does the good version look like? Describe what the image shows, in the context of why it is on the page. Context is the part people miss. The same photograph needs different alt text on different pages. A photo of a person typing at a desk might be a specific employee on your team page, in which case say who it is, or generic decoration on a landing page, in which case it might need almost nothing. The question is never what is in this image in the abstract. It is what would a reader lose if this image did not load.

Sometimes the answer is nothing, and that is fine. A purely decorative flourish, a background texture, a divider, should have an empty alt attribute, written as alt with two quote marks and nothing between them. This is not laziness. An empty alt tells the screen reader to skip the image silently, which is what you want for decoration. Omitting the attribute entirely is different and worse: the screen reader may fall back to announcing the filename, and nobody wants to hear hero-banner-final-2x dot jpg read aloud. Empty alt is a deliberate statement. Missing alt is an accident.

The other common failure is redundancy. If the image is a product photo and the visible caption below it already says the product name, alt text repeating the name means the screen reader says it twice. If an image is inside a link, the alt text becomes the link text, so it should describe where the link goes, not what the pixels look like. A logo linking to the homepage should say the company name, maybe with the word homepage, not blue circular logo with white lettering.

Length follows from the same principle. Long enough to convey what matters, short enough that hearing it is not a chore. A chart or diagram that carries real information may need a longer treatment, and the honest move there is to put the explanation in the visible page text where everyone benefits, then keep the alt text as a brief pointer. Data locked inside an image with a one-line alt is invisible to everyone who cannot see the image, and to search engines too.

When I run GazeSite against real sites, alt text problems are among the most common findings, and they cluster at the extremes. Half the images have no alt at all, and the other half were clearly written by someone thinking about rankings rather than readers. Almost nobody is in the middle, which is strange, because the middle is the easy part. There is no craft tension to resolve, no tradeoff to agonize over. You look at the image, you ask what a listener would need to know, and you write that down in one plain sentence.

If you want a formula, this is it. Describe the image as you would to a friend on the phone, in the context of the page it sits on, and stop. If a keyword belongs in that description naturally, it will appear naturally. If it does not belong, forcing it in will not fool the machine, and it will definitely not help the person the attribute was invented for.

More articles

← All posts