Guides Images

How to Write Good Alt Text: Rules and Examples by Image Type

Alt Text: Why It's Essential

Alt text is probably the easiest accessibility concept to understand -- and yet one of the most commonly botched. The alt attribute provides a text description of an image, read by screen readers and displayed when images fail to load. RGAA criteria 1.1-1.9 cover images. The principle is simple: every image must either convey its information as text, or be ignored entirely.

The Golden Rule

Before writing a single word, ask yourself: what would the user lose if this image disappeared? That answer drives everything. Nothing lost = decorative (alt=""). Information lost = informative. Text lost = text image. It's a link/button = functional (alt="[destination/action]").

Examples

Here's where I see the most mistakes. For informative images, describe the information, not the appearance ("Revenue growth from 12 to 18M" beats "chart"). For decorative images, use alt="" -- empty, not absent! Without any alt attribute, screen readers read the filename. Imagine hearing "DSC_0047_final_v2.jpg". For functional images (links, buttons), describe the destination or action. For complex images, use a short alt summary plus a long description via aria-describedby. Icons next to text get alt="" (the text does the job); standalone icons need alt="[meaning]".

Best Practices

Here's a trick I use: read your alt text out loud. Does it make sense? If yes, you're on the right track. Keep it concise (5-15 words for simple images), never start with "Image of..." (screen readers already announce "image"), describe information not appearance, contextualize for the page it's on, and never stuff SEO keywords in alt text -- that's not what it's for.

Good alt text is invisible to sighted users but essential for screen reader users. It's one of the simplest and most impactful things you can do for accessibility -- and it takes just seconds per image.
For simple images, aim for 5-15 words -- get to the point. For complex images like charts, put a short summary in the alt (20-30 words max) and provide a longer description via aria-describedby or a data table. Nobody wants to listen to a three-paragraph alt text.
Yes! But an EMPTY alt: alt="". This is a crucial distinction. If the alt attribute is missing entirely, screen readers read the filename -- and your users will hear something like "banner_hero_v3_final.jpg". That's worse than no description at all.
Put a summary in the alt -- something like "Chart: 12% revenue growth over 3 years" -- then provide the full data in an accessible table right below or in a collapsible section. This combo works best in practice.

Test your site's compliance

Scan your site and get a detailed report with AI recommendations.

Scan my site - €15