---
title: "<img> without an alt attribute (seo/img-alt-missing)"
description: "seo/img-alt-missing: Alt text is how Google Images, screen readers and text-only AI crawlers understand images."
canonical: https://void-design.vercel.app/rules/seo/img-alt-missing
lastModified: 2026-09-16
---

# <img> without an alt attribute

`seo/img-alt-missing` · severity **error** · category SEO · detected by `void seo` and `void audit`

## Why it matters

Alt text is how Google Images, screen readers and text-only AI crawlers understand images. A missing alt attribute (not an empty one) is an accessibility failure.

## How to fix it

Add descriptive alt text to content images and alt="" to decorative ones. next/image requires alt.

## Example

```tsx
<Image src="/dashboard.png" alt="Acme dashboard showing weekly active users" width={1200} height={750} />
<Image src="/divider.svg" alt="" width={600} height={8} /> {/* decorative */}
```

## References

- https://developers.google.com/search/docs/appearance/google-images
- https://www.w3.org/WAI/tutorials/images/decision-tree/

## More seo rules

`void seo` reports 60 rules in this category. What search engines need from the raw response: status codes, titles and descriptions in <head>, self-referencing canonicals, one h1, crawlable links, Open Graph, icons, robots.txt and a sitemap with real dates.

- `head-js-mutation` JavaScript changes canonical, robots, title or description after load — [seo/head-js-mutation](https://void-design.vercel.app/rules/seo/head-js-mutation)
- `h1-count` Page doesn't have exactly one visible <h1> in the server HTML — [seo/h1-count](https://void-design.vercel.app/rules/seo/h1-count)
- `h1-title-mismatch` <h1> and <title> share little wording — [seo/h1-title-mismatch](https://void-design.vercel.app/rules/seo/h1-title-mismatch)
- `heading-skip` Heading levels skip (h2 → h4) or headings are empty — [seo/heading-skip](https://void-design.vercel.app/rules/seo/heading-skip)
- `img-alt-quality` Alt text is a filename, a generic word, or overly long — [seo/img-alt-quality](https://void-design.vercel.app/rules/seo/img-alt-quality)
- `links-not-crawlable` Navigation uses elements crawlers can't follow — [seo/links-not-crawlable](https://void-design.vercel.app/rules/seo/links-not-crawlable)
- `link-text` Links with generic or empty text — [seo/link-text](https://void-design.vercel.app/rules/seo/link-text)
- `broken-links` Internal links return 4xx/5xx (or go through redirects) — [seo/broken-links](https://void-design.vercel.app/rules/seo/broken-links)

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