Email is the last place on the web where you cannot control how something renders.
Dozens of clients, each interpreting your markup slightly differently; some stripping styles entirely, some blocking images by default, many opened on a phone in poor light while somebody is doing something else.
Accessible email design best practices are largely about surviving that variety rather than designing for an ideal case that does not exist.
Accessible Email Design Best Practices for Campaigns
1. Assume images will not load
Many clients block images until the recipient chooses otherwise, and some recipients never do.
So the email has to work as text. If your message lives inside a single designed image, a proportion of your audience receives a blank rectangle and nothing else.
Every image needs meaningful alternative text describing what it conveys, not the file name. Where an image is purely decorative, mark it so it is skipped rather than announced.
And never put your call to action inside an image. It is the one element that must survive under any conditions.
2. Write for a single narrow column
Most email is read on a phone. Multi-column layouts collapse unpredictably, and what looks balanced on a desktop preview becomes a jumble.
One column, generous spacing, and a logical order that makes sense read from top to bottom. That order is also what a screen reader follows, so the two requirements coincide.
Body text around 16 pixels equivalent. Smaller looks refined in a preview and is unreadable on a bus.
3. Contrast, and not relying on colour
The same standard applies here as on a website: roughly 4.5:1 for body text against its background, and never using colour as the only signal.
Email compounds the problem because dark mode conversion varies between clients, sometimes inverting colours in ways nobody tested. Check your template in both light and dark rendering, since a palette that passes in one can fail in the other.
4. Links that make sense alone
Screen reader users frequently navigate by listing links. “Click here” repeated four times gives them nothing.
Describe the destination: “Read the full guide”, “Book a call”, “See this month’s availability”. This helps everybody scanning, which is most recipients.
Make tap targets generous. A link in a dense paragraph is difficult to hit accurately with a thumb.
5. Use real HTML structure
Proper headings rather than large bold paragraphs, real lists rather than manually typed bullets, and semantic markup wherever the client supports it.
Set the language attribute so screen readers pronounce the content correctly. It is one line, and it is almost always missing.
Give the email a meaningful subject and preview text. The preview is the second thing seen and is frequently left as whatever the template inherited, which is how “View this email in your browser” ends up as the summary.
6. Keep it light
Emails carry the same weight considerations as web pages, and recipients on mobile data pay for them directly.
Compress images properly, use few of them, and avoid embedding anything large. Where performance and environmental impact both apply, treat them as the same lever: reducing unnecessary data transfer and processing supports a faster experience while lowering estimated digital carbon, though environmental figures remain modelled rather than directly measured.
Modular templates help here. A small set of tested blocks assembled per send is lighter, more consistent and considerably faster to produce than designing each campaign from scratch.
7. Test before sending
Send it to yourself and read it on a phone. Then with images disabled. Then in dark mode.
Those three checks take five minutes and catch most of what goes wrong.
Where you can, have somebody using a screen reader read one. Nothing else surfaces the same problems, and email is a format most accessibility testing skips entirely.
Work towards WCAG 2.1 Level AA as the standard, and apply the same expectations to the landing page the email points to.
Our sustainable web design work covers that destination page, which is where the campaign either delivers or does not.

