Skip to content

Test your website now

Free, no card. We read only public pages.

Run free audit →

Accessibility · High severity

Images Missing Alt Text: Provide Context-Appropriate Alternatives

Fix images missing alt text. Separate decorative, informative and functional images, preserve link names, and verify meaning beyond the scanner attribute count.

Published · Updated

What the check tests

Check
a11y.img-alt - Images have alt text
Passes when
All img elements must carry alt (empty alt="" for decorative images).
Scope
graded on every page crawled
Severity
High
Fix effort
small - under an hour
Impact when fixed
high
Also covers
a11y.axe.image-alt - Images must have alternative text

In one paragraph

Images missing alt text means some observed img elements lack an alt attribute under this check. Provide an appropriate text alternative for meaningful images and an empty alt for genuinely decorative ones when the surrounding implementation supports that treatment. Functional images need their action or destination communicated. The existence of an attribute does not establish that its wording conveys the image's actual purpose.

Why it matters

Alternatives should communicate what a reader needs from the image in context, not mechanically list every visible object. A product detail, chart, decorative divider, and linked logo need different treatment. Captions and surrounding explanations can change what the alternative needs to repeat.

For a complex chart, a brief alternative can identify its purpose while accessible adjacent data or explanation provides the detail. Do not compress essential information into an enormous alt string and assume the task is solved.

An empty alternative is appropriate for decoration or redundancy in the relevant context. It is not a universal way to clear warnings. An image that is the sole content of a link can leave that link unnamed if no other accessible name is provided.

How WebAuditOS evaluates this finding

The supplied custom rule counts img elements lacking the alt attribute in parsed HTML. No missing attributes passes; a missing proportion up to thirty percent warns; above thirty percent fails. No images is not graded. It also covers the related axe image-alt issue in the source specification.

Empty alt counts as present, and the rule does not assess semantic adequacy. It does not count CSS backgrounds or standalone SVG as img, while an img inside picture remains relevant. The thirty-percent boundary is a product severity heuristic, not permission for a WCAG-compliant page to leave some meaningful images without alternatives.

How to fix it

  1. Inventory images by actual function, not file extension or directory. Inspect context, caption, surrounding text, and whether the image is clickable. Include responsive variants and dynamically loaded images in manual testing.
  2. For informative images, supply concise wording communicating the relevant meaning. For example:
<img src="/route-map.png" alt="Walking route from the station to the venue">

If the map contains essential directions, provide those in accessible text as well. The example name alone does not reproduce every street instruction.

  1. For genuine decoration, use an empty attribute where appropriate:
<img src="/decorative-divider.svg" alt="">

Do not omit the attribute and assume that omission has the same semantics. Check that no essential function depends on the decorative image.

  1. For a functional image, make the action or destination available. A linked logo can contribute a useful name such as the site's home destination, or the link can have another correct naming mechanism. Avoid needlessly duplicating an existing clear link name.
  2. For text embedded in an image, preserve the relevant information in accessible text and prefer real text where practical. An OCR-like string does not solve layout, contrast, or text-resizing requirements automatically.
  3. Use the appropriate alternative mechanism for SVG, canvas, backgrounds, or other non-img content. A meaningful CSS background needs equivalent information through the interface; it is not covered by adding a nonexistent CSS alt property.
  4. Review generated CMS defaults and asset filenames. A camera filename or repeated keyword list can pass the attribute counter while conveying little. Treat automated suggestions as editorial assistance requiring context review.
  5. Rescan and inspect the accessibility tree, link list, and complex-image alternatives. Test actual content meaning, not only the percentage of present attributes.

What the fix can break

Replacing every missing alternative with an empty string can hide important information. Resolve the image's purpose first.

Repeated descriptions can become verbose when an adjacent caption or link already says the same thing. Keep alternatives equivalent without unnecessary duplication.

Changes to shared asset defaults can affect many contexts differently. One image may be decorative in an article and functional in navigation, so storing one universal alt value is not always enough.

Questions

Is alt empty always wrong?

No. It can be correct for decoration or redundancy in context, but is inappropriate when essential meaning would disappear.

Does a passing attribute count prove good alternatives?

No. Review wording, purpose, functional naming, and complex-image detail manually.

Is the thirty-percent threshold a WCAG tolerance?

No. It is the supplied scanner's severity boundary, not a conformance allowance.

Review link names, the automation limits guide, and the website audit checklist.

Standards and sources

  • WCAG 2.2 1.1.1

In the report

Test this on your own site

Every scan runs a11y.img-alt on every page it crawls, on every plan. The finding carries this id, so a line in a report can be matched to the explanation above - and the free scan needs no account.