---
title: "SVG image has no text alternative (a11y/svg-img-alt)"
description: "a11y/svg-img-alt: An <svg role=\"img\"> with no accessible name is announced as an unlabeled image, so the information in the graphic is lost."
canonical: https://void-design.vercel.app/rules/a11y/svg-img-alt
lastModified: 2026-09-16
---

# SVG image has no text alternative

`a11y/svg-img-alt` · severity **error** · category Accessibility · detected by `void a11y` and `void audit`

## Why it matters

An <svg role="img"> with no accessible name is announced as an unlabeled image, so the information in the graphic is lost.

## How to fix it

Add a <title> as the first child of the SVG, or aria-label. For decorative icons use aria-hidden="true" instead of role="img".

## Example

```
<svg role="img" aria-label="Revenue grew 40% in 2026">…</svg>
```

## References

- https://dequeuniversity.com/rules/axe/4.13/svg-img-alt

## More accessibility rules

`void a11y` reports 48 rules in this category. WCAG 2.2 AA through axe-core, plus checks axe can't do alone: visible keyboard focus, 24/44px target size on mobile, 320px reflow and disabled zoom.

- `aria-prohibited-attr` ARIA attribute is prohibited for this role — [a11y/aria-prohibited-attr](https://void-design.vercel.app/rules/a11y/aria-prohibited-attr)
- `nested-interactive` Interactive controls are nested — [a11y/nested-interactive](https://void-design.vercel.app/rules/a11y/nested-interactive)
- `duplicate-id-aria` Duplicate id referenced by ARIA — [a11y/duplicate-id-aria](https://void-design.vercel.app/rules/a11y/duplicate-id-aria)
- `frame-title` <iframe> has no title — [a11y/frame-title](https://void-design.vercel.app/rules/a11y/frame-title)
- `role-img-alt` role="img" element has no text alternative — [a11y/role-img-alt](https://void-design.vercel.app/rules/a11y/role-img-alt)
- `tabindex` Positive tabindex — [a11y/tabindex](https://void-design.vercel.app/rules/a11y/tabindex)
- `scrollable-region-focusable` Scrollable region is not keyboard accessible — [a11y/scrollable-region-focusable](https://void-design.vercel.app/rules/a11y/scrollable-region-focusable)
- `link-in-text-block` Links in text are distinguished only by color — [a11y/link-in-text-block](https://void-design.vercel.app/rules/a11y/link-in-text-block)

Detected by `void a11y` and `void audit`. Explain it in a terminal: `void rules a11y/svg-img-alt`
