Skip to main content

WordPress fix guide

Fix Missing alternative text on images on WordPress

Images without text alternatives are invisible to many assistive technologies unless they are purely decorative.

This page ties the generic issue to how it usually shows up in WordPress markup and tooling, then walks you through a fix and verification loop.

Verify on a live URL

Scan, fix, deploy, then rescan the same address to compare reports.

Main issue guide: Missing alternative text on images

Where this comes from on WordPress

Media library uploads without alt, page-builder image blocks, and dynamic featured images.

What this issue means

What this issue is

Alternative text (`alt`) describes the purpose of an image in words. When `alt` is missing on meaningful images, screen readers may skip the image entirely, read the file name, or provide unhelpful noise.

Decorative images should use `alt=""` so assistive tech knows to ignore them.

Why it matters

People who cannot see the image rely on the description to understand charts, product photos, buttons styled as images, and instructional graphics.

Common causes

CMS users insert images without filling the alt field. Developers use `<img>` without `alt`. Icons that act as buttons omit `aria-label`.

Better implementation

Use concise, accurate descriptions: `<img src="chart.png" alt="Sales increased 12% year over year">`. For decorative flourishes: `<img src="divider.svg" alt="">`.

How to fix on WordPress

Set alt in the media modal; avoid “decorative” images in hero blocks without empty alt.

How to fix

Add concise alt that matches the image purpose, not the file name. For SVG icons that act as buttons, pair with visible text or aria-label.

In CMS media libraries, require alt before publish for non-decorative images.

Common mistakes on WordPress

  • Uploading images in bulk without alt.
  • Using decorative alt text for informative charts.
  • Fixing only one page while the pattern lives in a shared template.
  • Caching plugins serving old HTML after fixes.

How to verify the fix

  1. In wp-admin, open the page on the front-end; use keyboard only through the fixed region.
  2. If you use a builder, re-publish/clear cache so changes appear.
  3. Rerun the public scan on the same URL and compare the report link.

Related: 1.1.1 Non-text Content.

Same issue on other platforms

Guides

Next steps

TestAccessibility · WordPress fix · localhost:3001