Email Accessibility: Designing for All Subscribers
Semantic structure, contrast minimums, alt text that says something, and what a screen reader does with a table-based layout.
On this page
The short version
- A table-based email is read by a screen reader as a table unless you tell it otherwise. One attribute per layout table fixes it.
- Alt text is not a description of the image, it is a replacement for it. If the image carries a message, the alt text carries the same message.
- "Click here" is unusable out of context, and screen reader users routinely navigate by pulling up a list of links with no context attached.
Email accessibility gets less attention than web accessibility and has a higher proportion of easy wins, because the failures are concentrated in a handful of repeated patterns. Most of what follows is template-level: fix it once and every future send inherits it.
It also overlaps almost entirely with things that help everyone. Alt text is what images-off readers see. Readable font sizes are what stops the phone rescaling your layout. Descriptive link text is what makes an email scannable.
Tell the screen reader your tables are layout
Email uses tables for structure because it has to. A screen reader encountering a table announces it as a data table and reads it cell by cell with row and column context, which turns a simple email into a recital of coordinates.
Adding a presentation role to every layout table tells the screen reader to ignore the structure and read the content in order. It is one attribute, it costs nothing, and it is the single biggest accessibility improvement available in an email template.
The exception is any table that genuinely holds data — a receipt with line items, a comparison. Those should keep their table semantics and gain proper header cells, because that structure is the content.
The fixes, ranked by how much they change for the reader
| Fix | Where | Effect if missing |
|---|---|---|
| Presentation role on layout tables | Template | The email is read as a grid of cells |
| A language attribute on the message | Template | Wrong pronunciation, wrong voice |
| Real heading levels, in order | Template and copy | No way to skim by structure |
| Descriptive link text | Copy | A link list of "click here" repeated |
| Alt text that replaces the image | Per send | Silence where the message was |
| Sufficient colour contrast | Template | Unreadable for low vision, and in dark mode |
| Text size at 16px | Template | Rescaled by the phone, layout breaks |
Alt text that does the job
The common instruction is to describe the image. That is the wrong frame. Alt text stands in for the image, so it should carry whatever the image was carrying — and for a decorative divider, that is nothing, which means an empty alt attribute rather than a description of a line.
For an image with words in it, the alt text is those words. For a product photograph in a shopping email, it is the product and the relevant attribute. For a hero graphic whose only job is atmosphere, empty is correct and honest.
The tell that alt text has been written badly is that it starts with "image of". A screen reader already announces that it is an image.
The same three images
Describing
- alt="Image of our summer sale banner"
- alt="decorative line"
- alt="photo of a blue running shoe on white"
Replacing
- alt="Summer sale: 30% off until Friday"
- alt=""
- alt="Blue running shoe, £79"
Headings, in order, actually
Skimming by heading is how many people read anything, with or without assistive technology. That requires real heading elements in a sensible order, not paragraphs styled to look large.
In email the common mistake is jumping levels — an h1 followed by an h4 because the h4 style happened to look right. Set the levels by structure and control the appearance with styles, which is the same discipline as everywhere else and is skipped more often in email because the markup is already unusual.
Accessibility check
- Every layout table carries a presentation role
- Data tables have real header cells
- The message declares its language
- Headings are real elements in order
- Every image has alt text that replaces it, or an empty attribute if decorative
- No link text reads "click here" or "more"
- Contrast clears the standard against both light and inverted backgrounds
- The plain text part was written by hand
Frequently asked questions
Does any of this affect deliverability?
Indirectly and mildly. A hand-written plain text part and a sensible image-to-text ratio are both accessibility practices that happen to be things filters look at.
How do I test an email with a screen reader?
Both major desktop platforms ship one. Open a test send, turn it on, and listen to the first thirty seconds — that is usually enough to hear whether the tables are being read as tables.
Is there a legal requirement for accessible email?
It varies by jurisdiction and by sector, and marketing email is less clearly covered than a public website in most of them. The practical case does not depend on it: these fixes are cheap, permanent, and improve the email for everyone.