How to fix svg img alt on Headless / Custom (I build in code)
Add a meaningful text alternative to every SVG image so screen readers can describe it to visually impaired shoppers.
Steps for Headless / Custom (I build in code)
- Locate every `<svg>` element in your component library or template files.
- For meaningful SVGs: add `role="img"` to the `<svg>` tag; add `<title id="[unique-id]">Short descriptive text</title>` as the first child element inside `<svg>`; add `aria-labelledby="[unique-id]"` to the `<svg>` tag. If a longer description is needed, also add `<desc id="[desc-id]">Longer description</desc>` and include that id in `aria-labelledby` (space-separated).
- As a simpler alternative to the title element approach, add `aria-label="Descriptive text"` and `role="img"` directly on the `<svg>` opening tag.
- For decorative SVGs: add `aria-hidden="true"` and remove any existing `role` attribute and `<title>` element.
- In React/Vue/Angular component libraries, create a reusable SVG wrapper component that enforces either an `aria-label` prop or `aria-hidden` so developers cannot accidentally ship unlabelled meaningful SVGs.
- Run axe-core (programmatically or via browser extension) in CI to catch regressions.
What is svg img alt?
SVG files are vector images often used for logos, icons, badges, and illustrations on ecommerce sites. Unlike a regular `<img>` tag which has an `alt` attribute, an inline SVG element needs its own internal mechanism to carry a text description — either a `<title>` element nested inside it, an `aria-label` attribute on the `<svg>` tag itself, or a reference to external text via `aria-labelledby`. Without one of these, a screen reader either skips the image entirely or reads out meaningless code, leaving blind and low-vision shoppers without context for what the image conveys. WCAG Success Criterion 1.1.1 ("Non-text Content") requires that all meaningful images have a text alternative.
Screen readers are used by millions of shoppers with visual impairments, and an SVG without a text alternative is completely invisible to them — a missing logo, an unreadable trust badge, or a broken call-to-action icon. This directly harms conversions and user experience for a significant customer segment. From a legal standpoint, failing WCAG 1.1.1 is one of the most commonly cited violations in ADA and AODA accessibility lawsuits and demand letters targeting online stores; remediating it proactively protects you from costly litigation. Google's crawlers also partially interpret accessibility markup, so well-labelled SVG images can contribute to better understanding of your page content.
See the complete Svg img alt guide for every platform and the full background.
Not sure if your Headless / Custom (I build in code) store has this?
Run a free SEOLZ scan — we’ll find svg img alt and every other issue across your whole site.
Scan my site free