Has Anchored Image with No Alt Text: How to Fix It

No Comments
Has anchored image with no alt text: how to fix it

TL;DR: When an image is the only thing inside a link, the browser, Googlebot, and every screen reader fall back to the image's alt attribute to figure out what the link is for. Leave that alt empty and you have shipped a link with no label at all: no anchor text for search, nothing for assistive tech to announce. The fix is to write alt text that describes the destination, not the picture.

What this check flags

This audit catches a narrow, high-cost pattern: an <img> wrapped in an <a> where the image is the sole content of the link and the alt attribute is missing or blank. It is not the same as a decorative image missing alt text somewhere in your body copy. Here the image is pulling double duty as both a picture and a navigation control, so a missing alt strips the link of the one thing that would have told anyone where it goes.

Two audiences pay for it simultaneously. Search engines lose the anchor-text relevance signal that would normally flow to the destination page. Screen-reader users lose the ability to make sense of the link at all, because their software has no readable name to read out.

A real failing snippet, and the fix

This is the classic offender: a logo or thumbnail that links somewhere, with an image carrying no alt.

<!-- Fails: image is the only content, no alt -->
<a href="/pricing/">
  <img src="/img/plans_hero_v3.png">
</a>

A screen reader has nothing to announce, so it reads the file path: "link, plans hero v3 dot png." Googlebot has no anchor text to associate with /pricing/. Here is the corrected version, where the alt describes what clicking does:

<!-- Fixed: alt describes the link's destination -->
<a href="/pricing/">
  <img src="/img/plans_hero_v3.png" alt="See our pricing plans">
</a>

Note the alt is written as the anchor text you wish the link had. "See our pricing plans" tells a user and a crawler the destination. Something like "Screenshot of pricing table" would describe the picture but waste the link signal, which is the mistake most people make on their first pass.

Alt on a linked image is not the same as alt on a normal image

The intent behind the alt attribute changes depending on whether the image is a link.

SituationWhat alt should describeGood example
Decorative image, no linkNothing; use empty alt="" so assistive tech skips italt=""
Informative image, no linkThe content or meaning of the imagealt="Bar chart: traffic up 40% in Q2"
Image is the only content of a linkThe function or destination of the linkalt="Read the Q2 traffic report"
Image link with adjacent visible textOften alt="", so the text carries the label and the image is not announced twicealt="" next to a text label

That last row trips people up. If your link already contains a visible caption or heading next to the image, an empty alt is correct, because the text becomes the accessible name and a redundant alt would make the screen reader say the same thing twice.

How to detect it

  1. Screaming Frog. Crawl the site, open Bulk Export > Images > Images Missing Alt Text, then cross-reference against the Outlinks tab filtered to images. The overlap, an image with no alt that also sits inside an anchor, is exactly this issue. The WCAG "links require discernible text" rule flags the same links.
  2. axe DevTools. Run axe in Chrome DevTools. This pattern surfaces under the link-name and image-alt rules as a "links must have discernible text" violation, and axe points you straight at the offending node.
  3. View Source / Inspect. For a spot check, right-click a suspect image link and Inspect. If you see <a><img></a> with no alt and no other text inside the anchor, it fails. Searching the raw source for ><img right after an <a tag finds them fast.

How to fix it

  1. List every image link the crawl flagged, grouped by template (header logo, product thumbnails, social icons) so you fix a pattern once instead of a hundred pages.
  2. For each, write alt text that states where the link goes, phrased as a short action or destination. Read it aloud with your eyes closed: if you would not know what you were clicking, rewrite it.
  3. If the image sits next to visible link text, set alt="" so the text label wins and nothing is announced twice.
  4. In WordPress, most theme-driven image links (logos, thumbnails) come from a template or block, so fix the template field or the featured-image alt rather than editing pages one by one.
  5. Re-crawl and confirm the "no discernible text" and "missing alt" counts drop to zero for linked images.

Frequently asked questions

Does Google actually use image alt as anchor text?

Yes. Google's own image documentation states that for an image used as a link, it treats the image's alt attribute as the anchor text for that link. So on a linked image the alt is not just an accessibility nicety; it is the relevance signal the destination page receives.

What should the alt say, the picture or the destination?

The destination. On a linked image the alt is doing the job anchor text would do on a text link, so describe where the click leads ("View the full case study"), not what the photo shows.

My image link also has a title attribute. Isn't that enough?

No. The title attribute is unreliable across screen readers and never shows on touch devices, and Google does not treat it as anchor text. Alt is the attribute that carries the link's name; fix the alt.

The image is purely decorative but still inside a link. Now what?

If the anchor has no other content, it is not really decorative, it is your only label, so give it destination-based alt text. Only use alt="" when there is separate visible text inside the same link to carry the meaning.

Related checks

This one sits in a small family of link-and-image accessibility issues. If a linked image with no alt is really the same problem as an empty text link, see Has Internal Link with No Anchor Text and the broader Links Must Have Discernible Text rule. For alt text outside of links, work through Images Need Alt, and for the underlying concept our Alt Text glossary entry covers when to use, and skip, alt. To make the anchor text you do write pull its weight, read Anchor Text Best Practices.

Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.

About SEO ProCheck

Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.

Work With Me

Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.

Subscribe to our newsletter!

More from our blog