Core Guidance
Do This First
-
Lead with the message. Make the subject line, preheader, and opening heading clearly explain what the email is about and what action is needed.
-
Build with resilient content. Use live HTML text for the key message, descriptive buttons, and alt text for every meaningful image.
-
Test fallback states. Check the email with blocked images, dark mode, mobile width, keyboard navigation, and screen reader reading order.
Essential Checks
Content
- Use plain language and short paragraphs so readers can skim quickly.
- Make every button and link state its destination or action clearly.
- Repeat essential text that appears inside hero images as real HTML text.
Layout
- Prefer a single-column structure with a logical source order.
- Use tables only when email-client support requires them, and keep them simple.
- Avoid hover-only interactions or content that depends on animation to make sense.
Testing
- Confirm body text reaches 4.5:1 contrast and controls meet 3:1 non-text contrast.
- Check that linked images still make sense when images are off.
- Review any auto-generated caption or transcript links if video is promoted in the message.
Common Problems to Catch
- Sending an image-only flyer as the email body.
- Using two or more complex columns that collapse into a confusing mobile order.
- Relying on color alone to show urgency, status, or discount information.
- Writing vague calls to action such as 'read more' or 'learn more' without context.
Key WCAG 2.1 AA Checkpoints
| Success Criterion | What to confirm |
|---|---|
| SC 1.1.1 Non-text Content | Meaningful images require alt text, and decorative images should use empty alt text. |
| SC 1.3.1 Info and Relationships | The reading order of the HTML should match the visual order on screen. |
| SC 1.4.3 Contrast (Minimum) | Email text needs sufficient contrast against the background. |
| SC 1.4.10 Reflow | Content should still work at small widths and high zoom without horizontal scrolling. |
| SC 2.4.4 Link Purpose (In Context) | Buttons and links need clear, descriptive labels. |