Skip to main content

Check an email campaign for accessibility

Forward any email campaign to your agency's scanner address and get back a scored report of what an automated check found against the Section 508 email checklist and WCAG 2.1 AA.

Written by Jay Dawkins

Most accessibility tools check web pages. Almost nothing checks the email you send to thousands of residents, even though a public notice that a screen reader can't read is the same problem as a web page it can't read.

The Email Accessibility Scanner takes any campaign you've already sent and gives you back a scored report of what an automated check found, with the specific fix for each issue. It's free, it works on email from any platform (GovDelivery, Granicus, Mailchimp, Constant Contact, PublicInput and others), and you don't need an account.

Three ways to check a campaign

1. Forward the email

Search for your agency on the scanner's home page. Your agency page has its own address, in the form your-agency-code@ada.publicinput.com. Forward any campaign to it and the report comes back by email, usually within a minute.

2. Paste a campaign link

If your campaign has a "View in browser" or "Having trouble viewing this email?" link, paste that on the home page and scan it straight away. Use the campaign link, not your website. The scanner will tell you if you've pasted an ordinary web page instead of an email.

3. Send a saved .eml file

Send it to scan@ada.publicinput.com and we'll match it to your agency from the sending domain.

Forwarding it the right way

An ordinary forward works. But email clients rewrite messages when they forward them, and that can hide the very things the scanner is looking for.

  • Outlook. Use Forward as Attachment where you can. It sends the original message untouched, which gives the most accurate report. In new Outlook and Outlook on the web, this is under the ... menu on the message, then Forward as attachment.

  • Gmail. An ordinary forward is fine. Gmail removes some of the original's outer markup, and the scanner knows that, so it won't blame you for things Gmail took out.

  • Apple Mail, Thunderbird and others. An ordinary forward is fine. Forwarding as an attachment is better if your client offers it.

Either way, the report is about the original campaign, not the note you wrapped around it when you forwarded.

What you get back

A report page and an email containing:

  • A score out of 100, weighted by severity. Repeat occurrences of the same issue count for less and less: forty images with no alt text is worse than one, but it isn't forty times worse, because it's one fix in your template either way.

  • Each finding, how many places it occurs, and how to fix it.

  • The Section 508 email checklist item and WCAG 2.1 AA criterion each finding maps to, so you can point to the source when someone asks.

  • The categories that passed, so you can see what's already right.

  • A PDF of the report, for attaching to a records request response or an internal review.

What it checks

Fourteen checks written for email, across eight categories, each mapped to the Section 508 checklist. Contrast is measured by rendering your message in a real browser, which is the only way to see the colour that actually lands on screen.

  • Document structure: is the message language set, does it have a title, do headings run in a sensible order.

  • Images and alternative text: images with no alt text, and text baked into an image where a screen reader can't reach it.

  • Tables: layout tables that aren't marked role="presentation", and data tables with no header row. This is the most common finding in government email, because almost every email template is built out of layout tables.

  • Links: "click here" and "read more" link text, and the same link text pointing at different places.

  • Text and typography: type below a readable size, and long runs of ALL CAPS.

  • Color and contrast: text that doesn't meet the 4.5:1 contrast ratio.

  • Motion and animation: animated content that can't be paused.

  • Client compatibility: Outlook-specific fallbacks that lose their alternative text.

Who can see your report

A campaign you forward is private to you.

  • The report link goes to whoever forwarded the message, and nowhere else.

  • Your agency's page shows a count of forwarded scans. It never shows the campaigns or the reports.

  • A scan you run from a public "view in browser" link is treated differently, because that link is already public.

  • We delete the forwarded message after 90 days and the report after a year.

  • Nothing is ever sent on your behalf. The only email we send is the report, back to you.

If something doesn't work

  • You forwarded a plain-text email. There's nothing visual to check, so we'll reply and explain. Forward the HTML version, or send the campaign's view-in-browser link.

  • The campaign link returned a 404. Campaign archive links expire on some platforms. Use the link from a recent send, or forward the email instead.

  • You pasted a web page. The scanner will say so rather than scoring it. Email rules and web page rules aren't the same, so scoring a homepage against email rules would give you a misleading result.

  • You can't find your agency. Send the campaign to scan@ada.publicinput.com and we'll match it from your sending domain.

What this does, and what it doesn't

  • It reports what an automated check found in one email. Automated checks cannot catch everything. A person still has to read the message.

  • A high score is not a compliance certification, and we won't tell you that you're compliant. Section 508 and ADA Title II obligations rest with your agency, and meeting them takes human judgment as well as tooling.

  • It checks the email itself. It does not check the pages your campaign links to. For that, use the web accessibility checker.

  • It doesn't test with a real screen reader, and it can't tell you whether your alt text is good, only whether it's there.

We hold our own mail to the same standard. The report email we send you is scored by the same engine that scanned your campaign, and it scores 100. An automated test fails our build if that ever stops being true.


More about accessibility

Did this answer your question?