Skip to main content
← All articles

Web accessibility

How to Write Alt Text That Actually Helps

26 August 2026 · 7 min read

Alternative text is the oldest accessibility feature on the web and still one of the most misunderstood. WebAIM's February 2026 analysis of a million home pages found that 53.1% had images missing alternative text, and that 16.2% of all images on those pages — an average of 10.8 images per page — had none.

The reason it stays broken is not ignorance of the rule. Almost everyone in web publishing knows images need alt text. The reason is that the rule is easy and the *judgement* is hard: knowing what to write, and knowing when the right answer is nothing at all.

What alt text is for

When a screen reader encounters an image, it looks for a text alternative. If there is one, it reads it. If there is not, behaviour varies but is usually unhelpful: some screen readers announce "image", some read the file name, and a user hears "image, D S C underscore zero four one nine dot jpeg".

The purpose of alt text is not to describe the image. It is to serve the same function the image serves. That distinction is the whole discipline. The same photograph needs different alt text depending on why it is on the page.

Take a photo of a woman in a hard hat inspecting a solar panel.

  • On a careers page, illustrating the working environment: An engineer inspecting solar panels on a rooftop installation.
  • As a link to a case study: Read the Meridian Energy case study.
  • Beside a paragraph that already describes the scene in the body copy: alt="" — the information is already there, and repeating it just makes the page longer to listen to.
  • In a technical guide about panel mounting, where the detail matters: A tilted solar panel mounted on an aluminium rail, with the clamp positioned at the panel edge.

Same file, four correct answers. No tool can make this call for you, which is why alt text will remain a human judgement.

When empty alt text is the right answer

This surprises people, so it is worth being explicit: an empty alt attribute is often correct, and it is very different from a missing one.

alt="" tells assistive technology "this image carries no information, skip it". Omitting the attribute entirely tells it nothing, and it falls back to guessing. Decorative images should have alt="" — background textures, divider flourishes, the abstract shape behind your hero heading, the stock photo of a handshake that illustrates nothing.

The test is simple. If you removed the image and replaced it with nothing at all, would the page lose any information? If not, it is decorative, and empty alt is the accessible choice. Describing decoration is not generosity; it is noise that makes the page slower to use for the people you were trying to help.

Practical rules that hold up

Keep it short. Most useful alt text is under about 125 characters. Screen readers do not offer easy pause and rewind within an alt attribute, so a paragraph is punishing to listen to. If an image genuinely needs a long description — a complex diagram, a detailed chart — put that description in the visible page content or a linked long description, and use alt text to identify the image and point at it.

Do not start with "image of" or "photo of". The screen reader already announces that it is an image. "Image of a red bicycle" is heard as "image, image of a red bicycle". Just write "A red bicycle".

Include text that appears in the image. If your graphic contains words — a stat, a quote, a label on a diagram — those words must be in the alt text, because they are otherwise unavailable. This is a common failure in marketing graphics and social-style images where the entire message is typeset into the picture. Better still, avoid images of text in the first place: they do not scale, do not reflow, and cannot be restyled by users who need larger or differently spaced type.

For functional images, describe the function. An image inside a link or a button is not a picture; it is a control. Its alt text should say what happens, not what it looks like. A magnifying glass icon in a search button gets alt="Search", not alt="Magnifying glass".

Charts and graphs need the finding, not the shape. "Bar chart showing revenue by quarter" tells a blind reader nothing they can use. "Bar chart: quarterly revenue rose from 1.2 million in Q1 to 2.1 million in Q4" gives them the same takeaway a sighted reader gets at a glance. If the exact numbers matter, put a data table nearby.

Logos get the organisation's name. alt="ChecksTrue", not alt="Company logo". If the logo links to the home page, alt="ChecksTrue home" is even better.

CAPTCHAs and images of text in verification flows deserve their own attention — see accessible forms and authentication.

What about AI-generated alt text?

Several platforms now offer automatic alt text, and the quality has improved considerably. It is worth being clear-eyed about what it can and cannot do.

Automatic description is genuinely good at identifying what is *in* a picture — objects, people, setting, sometimes text via OCR. It is structurally incapable of knowing why the image is on your page, which is the part that determines what the alt text should say. It cannot tell that the photo is decorative, that the caption already covers it, that the image is a link, or that the only thing that matters about this chart is one number.

Used as a first draft that a human edits, automatic alt text saves real time on large image libraries. Published unreviewed, it produces exactly the failure mode that makes accessibility advocates wince: technically present alt text that describes the wrong thing, which is worse than an empty attribute because it now passes automated checks while still failing the user.

That is a general truth about accessibility automation. An automated scanner can tell you an image has no alt attribute. It cannot tell you whether the alt text you wrote is any good — a scanner sees alt="image" and alt="Quarterly revenue rose 42% to 2.1 million" as equally passing. This is one of the clearest examples of why automated testing covers only part of WCAG.

A ten-minute audit you can run today

  1. Open your five most important pages.
  2. For each image, ask: does this convey information the surrounding text does not?
  3. If no, it needs alt="".
  4. If yes, write the shortest sentence that delivers that information.
  5. If the image is inside a link or button, describe the destination or action instead.
  6. Check any image containing words — the words must be in the alt text.

Then check what your CMS does by default. Many upload flows populate alt text with the file name, which is how thousands of sites end up announcing "screenshot 2026 08 14 at 14 33 09" to screen reader users. A default of empty is more honest than a default of nonsense.

*The 53.1% and 16.2% figures are from the WebAIM Million 2026 report (analysis run February 2026, published March 2026), based on automated analysis with the WAVE engine; WebAIM notes that automated tools cannot detect all conformance failures and that the absence of detected errors does not indicate a page is accessible. ChecksTrue is not affiliated with or endorsed by WebAIM.*

See if your brand has drifted.

Set your Brand Blueprint once, then check any asset against it within minutes.

Start free trial