Alt text in newsletters: accessibility and deliverability
TL;DR
Alt text on email images does more work than people think. It keeps the email readable when images are blocked (which is the default state for somewhere between 20-60 percent of recipients depending on audience), it supports screen readers, and it reduces spam-filter penalties for image-heavy templates. Lazy alts ("image", "img1234.png") fail all three jobs. Aim for 5-15 specific words per content image.
Image blocking is the default state of more inboxes than most senders realise. Outlook desktop blocks images by default. Corporate firewalls strip images from incoming mail. Gmail blocks images for senders the user has not interacted with. Apple Mail Privacy Protection routes images through a proxy that breaks open-tracking and sometimes garbles rendering. The cumulative effect: 20-60 percent of your recipients, depending on audience composition, see no images at all on first render.
For all of those readers, alt text is your email. Get it right and the message lands; get it wrong (or omit it) and the email shows up as a wall of broken-image icons.
Three audiences for alt text
1. Image-blocked human readers
The biggest segment. The reader's email client never loaded the image. They see whatever the alt text says, in the size and font of the surrounding HTML. A hero with alt="hero" shows the word "hero" in a frame. A hero with alt="Acme spring sale - 30% off all running shoes" shows the actual offer.
2. Screen-reader users
The accessibility audience. NVDA, VoiceOver, and JAWS read the alt text aloud when the cursor or focus reaches the image. Vague alts ("image of woman smiling") add noise; specific alts ("Sarah, our customer, holding the spring catalog") add meaning. The right test: would the alt text help someone who cannot see the image understand the content?
3. Spam filters and indexers
Heavy-image emails with no alt text register as low-content - the filter cannot read the body for context. This contributes to the image-to-text ratio penalty (above 70% image content scores worse). Adding alt text gives the filter actual text to evaluate, which lifts the score.
Web-archive crawlers (Google, the Wayback Machine, internal corporate search) also index alt text. If your "View in browser" page has SEO value, alt text on hero images becomes part of the indexable content.
The lazy-alt taxonomy
Five patterns that pass HTML validation but fail every reader use case:
- Generic words:
alt="image",alt="img",alt="photo",alt="picture",alt="icon". - Filenames:
alt="banner.jpg",alt="hero-1234.png",alt="IMG_5678". - Numbered placeholders:
alt="image1",alt="img2",alt="photo3". - Marketing fluff:
alt="our amazing new product". Says nothing concrete. - The CMS leftover:
alt="Type alt text here". The placeholder ships to production.
The fix in every case: name the actual thing in the image plus the relevant context. alt="Spring 2026 running shoe collection - hero shot of three sneaker styles on a teal background" works. alt="banner" does not.
Templates for common image types
Hero / banner image
Names the offer or topic. "Acme spring sale - 30% off all running shoes" / "This week's report cover - The state of B2B email in 2026"
Product shot
Product name, key feature, price if relevant. "Cloud Runner Pro 5 in graphite - lightweight road shoe, $129"
Headshot / person
Who, role if relevant. "Sarah Kim, CEO of Acme" / "Our customer Marcus, holding the new packaging"
Logo
Brand name. "Acme logo". Avoid "company logo" - generic.
Decorative dividers, spacers, background patterns
Empty alt: alt="". Screen readers will skip; image-blocked readers will see nothing where nothing was meant.
Icons used as buttons
Describe the function, not the visual. "Open menu" not "hamburger icon".
The fallback styling trick
Alt text rendered in image-blocked mode usually inherits the default browser font and a small frame. You can style the alt rendering with inline CSS on the <img> tag:
<img src="hero.jpg"
alt="Acme spring sale - 30% off all running shoes"
style="background:#4c1d95;color:white;padding:24px;
font-family:Arial;font-size:18px;font-weight:600;
text-align:center;width:100%;height:auto;"/>
When the image loads, the styles are visually overridden by the image itself. When the image is blocked, the alt text shows in the styled frame - a purple banner with white bold text - rather than as the default broken-image icon. The reader sees a deliberate fallback, not a defect.
Image-to-text ratio: the spam-filter consequence
If your newsletter is 80 percent image content and 20 percent text, spam filters classify it as a likely promotional template. Alt text helps but does not fully fix this; the filter wants real prose in the body. The healthy ratio is roughly 30-50 percent image, 50-70 percent text. Alt text does not count as text for this purpose - filters read the body content, not the alt attributes, when computing the ratio.
Audit alt text in 5 seconds
The alt-text auditor scans your HTML, finds every image, classifies the alt as ok / lazy / missing, and lets you download a fixed copy with placeholder alts inserted. The spam score guide covers the related image-to-text ratio scoring.
Open the alt-text auditor →Frequently asked questions
Why does alt text matter in email?
Image-blocked readers, screen readers, and spam filters all use it. 20-60% of readers see no images on first render.
What is a lazy alt?
Generic words ("image"), filenames ("banner.jpg"), numbered placeholders ("img1"), CMS leftovers ("Type alt text here").
Decorative images?
Use empty alt (alt=""). Screen readers correctly skip. Never write "decorative" as alt.
How long?
5-15 words. Long enough to convey meaning, short enough to read quickly.
Does it help SEO?
Yes for archived web versions of your newsletter. Hero alt text becomes indexable content.