---
title: "Image without alt (next/img-alt)"
description: "Screen readers fall back to the file name and search engines can't understand the image."
url: http://localhost:4173/rules/next/img-alt
updated: 2026-11-11
---

# Image without alt

> `next/img-alt` is a vetd rule. It flags: Image without alt. It runs on every `check`, together with the TypeScript check.

| Fact | Value |
| --- | --- |
| Rule id | `next/img-alt` |
| Severity | warning |
| Group | SEO, accessibility and security |
| Tags | accessibility, seo |

## Why it matters

Screen readers fall back to the file name and search engines can't understand the image.

## How to fix it

Describe the image in alt, or use alt="" when it is decorative.

## Credit

Based on work by:

- [W3C Web Accessibility Initiative](https://www.w3.org/WAI/): WCAG 1.1.1 requires a text alternative for non-text content, with empty alt for decorative images.

## References

- [Understanding Success Criterion 1.1.1: Non-text Content](https://www.w3.org/WAI/WCAG22/Understanding/non-text-content.html), W3C
- [Images Tutorial | Web Accessibility Initiative (WAI) | W3C](https://www.w3.org/WAI/tutorials/images/), W3C
- [<img> HTML image embed element](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/img), MDN Web Docs

## See it

Demos in the vetd Lab:

- [Describe and optimize images](http://localhost:4173/lab/web-standards/image-alt-and-optimization)

## Related rules

- [`ui/icon-button-label`](http://localhost:4173/rules/ui/icon-button-label.md)

## Get this text from vetd

MCP: call `explain` with `{ "diagnosticId": "next/img-alt" }`. CLI: `npx vetd explain next/img-alt`.

---

[All 92 rules](http://localhost:4173/rules.md) · Previous: [`next/missing-metadata`](http://localhost:4173/rules/next/missing-metadata.md) · Next: [`next/html-lang`](http://localhost:4173/rules/next/html-lang.md)
