LinkPatrol

How to Find Missing Alt Text on Your Website (And How to Fix It)

By Lin Wanzhao · Updated October 3, 2026 · Published by the makers of LinkPatrol.

Right now, some of the images on your website are invisible. Not to you — you can see each one of them. Invisible to screen readers, to search engines, and to anyone whose connection drops your images mid-load. What they're missing is a single line of HTML: the alt attribute.

Two things worth knowing before you start. First, missing alt text is not a nitpick. Under WCAG 2.2 — the web's accessibility rules — non-text content needs a text alternative, or needs to be marked so assistive technology can skip it. That requirement sits at Level A: the lowest of WCAG's three conformance levels (A, AA, AAA). The floor, not a bonus grade [1].

Second, finding it is the only hard part. Fixing takes minutes per image, and a scan takes about as long as reading this guide.

Here's the path: learn to tell the three states of an image's alt attribute apart, scan your site to surface the missing attributes, and fix each one correctly — which, for decorative images, means deliberately setting alt to empty rather than writing a description. Search Console or an accessibility report already flagging this on your site? You're in the right place.

In this guide: the three states of alt text → why missing alt text matters → how to find it on your site → how to fix each image → three wrong ways. In a hurry? The scan itself is in "How to find missing alt text on your site" below. Scope: finding and fixing missing alt attributes — not broken link building, not a general site audit.

The three states of alt text (know what you're looking for)

"Missing alt text" gets used loosely, but three different situations hide under that label, and they call for different fixes.

1. Missing entirely. The image tag has no alt attribute:

<img src="/team-photo.jpg">

This is the failure state. When the attribute is absent, a screen reader has nothing meaningful to announce — Semrush notes the risk that the file name gets read out instead [2]. WCAG counts it as a failure of Success Criterion 1.1.1 [1].

2. Empty by design. The attribute exists and is deliberately blank:

<img src="/divider-swirl.png" alt="">

This is correct — for decorative images. The W3C's guidance is explicit: "Provide a null text alternative (alt=\"\") when the only purpose of an image is to add visual decoration to the page, rather than to convey information that is important to understanding the page" [3]. In plain terms: alt="" is the empty attribute — a deliberate skip instruction, not an error. A missing attribute and an empty attribute are different findings, calling for opposite fixes.

3. Present but poor. The attribute exists with content, but the content is useless:

<img src="/team-photo.jpg" alt="image">
<img src="/team-photo.jpg" alt="team team team consulting services team photo">

The first says nothing. The second is keyword stuffing, and it reads as garbage when spoken aloud. Both pass a naive "has alt text" check.

The distinction matters because each state needs a different move: state 1 needs a decision before you write anything, state 2 needs nothing, and state 3 needs a rewrite. If your tooling lumps the three together, you'll either miss real gaps or write prose where empty space was the right answer.

Why missing alt text matters

Three audiences are affected, in descending order of severity.

Assistive technology users. WCAG's Success Criterion 1.1.1 (Non-text Content), a Level A requirement, asks that non-text content presented to a user carry "a text alternative that serves the equivalent purpose," with narrow exceptions such as pure decoration [1]. The W3C's images tutorial says it in plainer terms: "Images must have text alternatives that describe the information or function represented by them" [3].

If accessibility audits — or procurement questionnaires, which large buyers often require — touch your business, missing alt text is one of the most commonly flagged failures, and one of the cheapest to fix.

Search engines. Alt text is one of the few signals that tells a crawler what an image depicts, and image search is a real traffic surface — SparkToro's 2019 study (built on Jumpshot clickstream data) puts Google Images at roughly one in five searches: the 20.45% figure Ahrefs cites [4].

Two concrete cases. When an image also works as a link, its alt text functions like anchor text; the W3C's tutorial says the text alternative for such an image should describe the link's functionality, not the picture [3]. And when an image fails to load, the alt text is what appears in its place [2]. An informative image with no alt text is unindexed, unlabeled, unexplained — in each case.

Everyone on a bad connection. A broken image with no alt text is a dead end. With alt text, a failed product image still tells the shopper what they were looking at.

How to find missing alt text on your site

Start small, and scale up only if you have to.

Spot-check a single page

Open the page, view its source (Ctrl+U in most browsers), and search for <img. Each match is an image tag; check it for an alt= attribute. Or paste this into the browser console and read the count:

[...document.querySelectorAll('img:not([alt])')].length

Anything above zero is a set of images without an alt attribute on that page. Fine for a homepage — it does not scale past a few pages: nobody hand-checks 200 pages hunting for attributes.

Scan your site from the sitemap

Alt text gaps accumulate wherever anyone publishes without a checklist. A crawler reads raw HTML — the layer where the attribute lives — and finds what the rendered page hides.

This is the step where you can simply run a scan. LinkPatrol's free broken link checker runs a sitemap-based scan and flags images missing their alt attributes — alongside broken links and redirect chains — in a single pass. It's free, needs no signup or install, and produces a shareable report you can hand to whoever maintains the site.

For a sense of scale, we scanned paulgraham.com, a hand-built pre-CMS personal site — its homepage has 8 images, and 8 of 8 are missing the attribute (own scan, 2026-10-03; 1 page; counts taken from the rendered markup, HTML comments excluded).

Read the report like a human

A scan hands you a list; prioritization is still your job.

Two limits a scan won't tell you:

Size. Free scans cover up to 25 pages per run. Bigger site? Scan your most important sections free and spot-check the rest — the tool's plans page notes higher-limit options in progress.

Depth. The report surfaces state 1, the missing attribute. State 3 — alt that exists and says nothing — passes any presence check and never floats up. Catch it by spot-checking your top pages (view source, as above) or by a screen-reader pass or WebAIM's WAVE.

One caveat no scanner will print: a scan can tell you alt text is missing, not that it's good. "Golden retriever puppy smiling in the sun" and "puppy photo alt text SEO buy now" both pass a presence check. Quality gets decided in the fix.

How to fix each image correctly

For each flagged image, ask one question: if you removed the image, would the page lose information or function?

If yes — it's informative. Write a description that carries that information. The W3C's line: the text alternative should convey the meaning or content that is displayed visually [3]. A chart's alt text might need its takeaway ("Sales rose 40% last year"); a headshot needs only a name and role. Rules of thumb:

If no — it's decorative. Set alt="" deliberately. That is the W3C-prescribed answer for images that only decorate [3]. What you should not do is delete the attribute — an absent attribute is the failure state you just scanned for.

Then fix it where you publish. Most major CMSs have a field for this; in WordPress it's "Alternative Text" in the image block's settings. Filling it at upload time is what keeps next quarter's scan clean.

Two worked examples, from wrong to right:

<!-- Before -->
<img src="/standing-desk-oak.jpg" alt="desk">

<!-- After -->
<img src="/standing-desk-oak.jpg" alt="Oak standing desk with dual motors, shown at sitting height">
<!-- Before: linked logo with no alt -->
<a href="/"><img src="/logo.svg"></a>

<!-- After: describes the destination, not the picture -->
<a href="/"><img src="/logo.svg" alt="Acme Analytics — home"></a>

Three ways people "fix" this wrong

  1. Stuffing keywords to justify the attribute. Alt text written for robots gets read aloud to humans — it fails both audiences at once.
  2. Treating each image as informative. Writing "Decorative blue gradient background" forces screen reader users to listen to a description of nothing. The empty attribute exists precisely so such images can be skipped [3].
  3. Forgetting CSS background images. Alt text lives in <img> tags; an informative image applied via CSS background-image can't carry one. If it conveys information, move it to an <img>; if it's decoration, it's fine where it is.

Run one scan and see where you stand

Missing alt text survives because it's invisible on a rendered page. It's also one of the fastest accessibility and image-SEO wins available: find the gaps, decide informative or decorative, write a line or set an empty attribute.

LinkPatrol's free checker will scan your site's pages and list the images missing their alt attribute — with broken links and redirect chains in the same report. Free scans cover up to 25 pages per run; no signup, no install; the report is shareable if someone else does the fixing.

And while the crawler is out there, the same report also lists redirect chains — here's how to collapse them. Same scan, same afternoon.

References

  1. W3C, WCAG 2.2 Success Criterion 1.1.1 Non-text Content (Level A) — w3.org/WAI/WCAG22/Understanding/non-text-content.html
  2. Semrush, What Is Alt Text? Why It Matters & How to Write It — semrush.com/blog/alt-text
  3. W3C WAI, Images Tutorial — w3.org/WAI/tutorials/images
  4. Ahrefs, Alt Text for SEO: How to Optimize Your Images ("not a place to shoehorn keywords"; Google Images share cited from SparkToro 2019, Jumpshot data, via Ahrefs) — ahrefs.com/blog/alt-text