Accessibility Scan

Find the accessibility barriers automated checks can see, template by template

From $99 USD · priced by URL count · sitemap import and review free

Renders a sample of your pages, picked by page template up to your band’s page count, in a real browser on mobile and on desktop, and runs the automated checks for the Web Content Accessibility Guidelines (WCAG) 2.2 at Level A and AA. Every page you approve is also read for four document checks. You get each failing rule with example elements your developers can find.

Exposure indicator

Automated checks catch a minority of accessibility barriers, so this is an exposure indicator, not a conformance result. It shows where the checks found failures, how many pages share them, and how much of your site was measured. What it cannot show is that a site is free of barriers: that takes people testing it.

What the scan returns

Delivered together in your dashboard. Every finding names the page it came from, and every rendered one the viewport and the elements that failed.

A sample of your page templates, rendered on mobile and desktop

The pages you approve are grouped by page template, and a sample of them, picked by template, is loaded in a real browser at a phone viewport and a desktop viewport, then checked against the automated tests for WCAG 2.2 Level A and AA. Up to 3 pages per template, and up to your band’s page count per scan (in the table with the prices), handed out largest template first, and no template gets a second page until every template has had one. A template past that count is counted as not rendered.

The checks that need the page a visitor sees

Each failing rule, with elements you can find

For every rule that failed on a rendered page: the WCAG success criteria it maps to, its level, how many elements failed, and up to 5 example elements as selectors and HTML snippets, shown as plain text. Enough for a developer to find the element, not a guess at how to fix it.

Up to 5 examples per failing rule

Four document checks across every page you approve

Whether the page declares its language, has a title, lets visitors zoom, and avoids a timed refresh. They are read from the HTML your server sends, so they cover the approved pages beyond the sample. A page built in the browser, whose server HTML is not the page a visitor gets, is marked not measured for them, as is a page the host blocks. Where a template’s rendered pages disagree with that reading, the check is withheld for the template rather than reported.

Every approved URL, one row each

A roll-up by page template

For each template: how many of its rendered pages had failing elements for each rule, on mobile and on desktop. A failure that repeats across a template usually lives in the template, which is where one fix reaches every page built from it.

Per rule, per viewport, per template

Coverage, stated as a number

How many of your approved URLs were measured, how many sampled pages rendered on both viewports, and how many templates were sampled out of those found. A page we could not measure is marked not measured, with our reason, and never reported as a finding about your site.

Measured, out of what you approved

A file your developers can work from

Download the whole result as a CSV file: every failing rule with its example elements, every document check, and the notes on what the scan could not see.

CSV export

You choose the pages before any money is involved

Reading your sitemap and choosing the pages is free. Nothing is charged until you approve the list.

Your page list, before any money

Point it at your sitemap and it reads it, including a sitemap index, and tells you every limit it hit, so a cut list never reads as a complete one. Reading it fetches your sitemap files and your robots.txt, and never a page your sitemap lists.

You choose what gets scanned

Deselect the pages you do not care about and the price follows the count you keep. You can also add a page your sitemap missed, as long as it is on the same site.

How the scan works

1

Run the free Diagnostic

The scan takes the domain it checks from a completed Diagnostic in your organization, so the free run comes first. Five to ten minutes, no credit card, and you keep the ten-pillar report either way.

2

Read your sitemap

Free. You get the list of pages it found and every limit it hit, and no page of your site is fetched yet.

3

Approve and pay

Keep the pages you want scanned. The band comes from the count you approve, so you see the price before you pay.

4

Read the results

The scan runs unattended and deliberately slowly. The payment notice tells you how long the scan itself can run for the URLs you approved (in the largest band, the scan itself runs for under 2 hours), and we email you when the results are ready, so you can close the page.

The scan is polite to your server: one browser on your site at a time, a pause between every two requests, and a stop with no retry if your host signals it is under load. Pages it did not reach are marked not measured — our limit, not a finding about your site.

What the scan will not tell you

The boundary is part of the product. A scan that quietly widens its own claims is worth less than one that states where it stops.

It is not a conformance result

Automated checks catch a minority of accessibility barriers, so this is an exposure indicator, not a conformance result. Whether an image’s alt text means anything, whether a keyboard user can finish your checkout, whether captions match the audio: those need a person, and this scan does not pretend to be one.

It does not tell you which laws apply to you

Accessibility obligations now attach to websites in the EU, the US, the UK, Canada and Australia. Whether any of them applies to your business, and how, is a question for your legal adviser. The scan reports what the checks found and stops there.

It installs nothing on your site

There is no script to add and nothing that rewrites your pages for visitors. The scan reads your pages from the outside and reports what it finds in your dashboard; the fixes are made in your site, by the people who build it.

It renders a sample, not every page

Every approved page is read for the four document checks. The full rendered checks run on the template sample: up to 50 pages in the smallest band and up to 150 in the largest. A page outside the sample is listed in your results as not in the rendered sample, and is still read for the document checks.

Some content is out of reach

Content inside iframes is not checked, so embedded third-party content such as booking widgets, video players and maps is outside this scan. A bot check shown only to our browser, with a success status, cannot be told apart from the page; if one was shown, it was checked as if it were the page. Your results page says both.

One site means your apex and www

Pages on other subdomains are refused rather than guessed at, and the scan reads public pages only: nothing behind a sign-in.

One scan, when you need the answer

Many monthly accessibility tools sell an ongoing dashboard. This is a one-off for the moments that you or your clients need to know which accessibility barriers automated checks find on a site: before and after a redesign, when an accessibility question comes in, and after fixes, to show they held.

One finished scan, not a subscription

One payment buys one finished scan in your dashboard: the findings, the coverage behind them, and a CSV file your developers can work from. Nothing to keep paying for between projects, and nothing to cancel. To show someone a scan’s results, share it from the scan with their email address: they sign in with that address to read it, and you can revoke it at any time.

Phone and desktop, on every rendered page

Each rendered page is loaded and checked twice, at a phone viewport and a desktop viewport. Some failures show on only one of them, such as a table that scrolls sideways on a phone and cannot be reached from the keyboard.

It says what it did not reach

The sample is chosen by page template, and the results state how many templates were rendered, how many pages were measured, and which pages were only read for the document checks. Nothing about the sample is left out without a line saying so.

Check that the fixes held

For 90 days after delivery, a re-scan checks the same pages on the same viewports, for about a quarter of the first scan’s price, and marks each rule that was failing as now passing, still failing, or not confirmed.

Priced by the number of URLs you approve

One payment, one scan, no subscription. The band comes from the count you approve on the free review screen, so the price is settled before you pay, and deselecting pages can move you down a band.

Accessibility Scan bands: URLs checked, pages rendered and price
URLs you approve Document checks Rendered on mobile and desktop Price
Up to 50 Every URL Up to 50 pages $99 USD
Up to 200 Every URL Up to 100 pages $199 USD
Up to 500 Every URL Up to 150 pages $299 USD

Why a band can render fewer pages than it covers

Every URL you approve gets the four document checks, whichever band it falls in. The full automated checks need the page loaded in a real browser, at a phone viewport and at a desktop viewport, and those run on a sample of your pages, up to the number in the table for your band.

The sample is picked by page template: up to 3 pages per template, and no template gets a second page until every template has had one.

On a templated site, such as a shop, a blog or a listings site, that covers its templates several times over. Automated failures often live in the shared template rather than in one page’s content, and one fix in the template then reaches every page built from it.

On a bespoke site, where most pages are their own template, the sample is your band’s number of pages, one per template in turn. Every page outside it is still listed by URL in your results, with its document checks, as not in the rendered sample, and the number of templates not rendered is stated. Nothing is dropped silently.

Why not render every page: each rendered page is two full browser loads, one per viewport, and the scan paces every request so it does not load your server. Rendering a sample by template is what keeps a 500-URL scan running for under 2 hours.

A site with more than 500 URLs to scan is a conversation rather than a checkout: the largest band is a ceiling, and we would rather scope it with you than round you up into it. Get in touch →

No plan includes an Accessibility Scan: every scan is a one-off order, and a Free-plan account with a completed Diagnostic can buy one. Where it fits in the rest of the ladder: pricing and the Audit stream.

Fixed something? Re-scan the same pages

For 90 days after a scan is delivered, you can re-scan the same pages and the same rendered sample. The results show, page by page and viewport by viewport, which failing rules now pass. A rule counts as passing only when its check ran and passed; one that simply did not come up again is marked not confirmed, never counted as fixed. If the checker’s version changed between the two scans, the results say so.

Re-scan of up to 50 URLs $29 USD
Re-scan of up to 200 URLs $49 USD
Re-scan of up to 500 URLs $79 USD

Start with the free Diagnostic

The scan checks the domain from a completed Diagnostic, so the free run comes first if you have not done one: five to ten minutes, and you keep the ten-pillar report whether or not you buy a scan afterwards. Reading your sitemap and choosing the pages are free too; you pay only when you approve the scan.

Already have a completed Diagnostic? Start the scan in your dashboard →

All Audit services →