The WordPress plugin
betaScans your pages against WCAG and fixes the failures that can be fixed safely, in your content, inside WordPress. Every change is visible in the editor afterwards and every fix has an Undo.
The fixes are free, permanently, and need no account.
They are ordinary code running on your own server, so there is nothing to unlock — no licence check, no usage count, no trial that ends. An account is only for scanning, which runs on our servers and is what finds the problems in the first place; the free tier covers it.
It is in the WordPress plugin directory as Halvane Accessibility Fixes, which is the easier way to install it — search that name under Plugins → Add New and WordPress handles updates for you. The directory requires a distinctive name rather than one describing the function, and “ADA Scanner” describes the function. Same plugin, same account, same support address.
Installing it
- 1. Download the .zip above.
- 2. In WordPress go to Plugins → Add New → Upload Plugin, choose the file, and click Install Now, then Activate.
- 3. Copy your API key from adascanner.org → Dashboard → API keys. The free tier is enough. The fixes work without this.
- 4. In WordPress open Tools → ADA Scanner, paste the key, and save. It will tell you straight away whether the key was recognised.
- 5. Click Scan this site, then apply the fixes you want, one at a time.
Requires WordPress 6.0 and PHP 7.4 or newer. The fixes need no account and no connection to us at all — they run entirely inside your WordPress. Only the scan talks to our servers.
What it fixes
- Page language not set
- Sets the document language from your WordPress site language, so screen readers pronounce your content correctly.
- Missing alt text
- Fills alt from the media library's own alt field. It only reuses words you already wrote.
- Alt text from captions
- Where there is no alt anywhere but the image has a caption, uses the caption — flagged as worth reviewing, because a caption is not always a good description.
- Spacers and dividers
- Marks images whose filename says they are decorative with an explicit empty alt, so screen readers skip them instead of announcing a filename.
- Links with no accessible name
- Where a link has no text a screen reader can announce but does carry a title attribute, uses that as the accessible name.
- Untitled iframes
- Titles embeds — YouTube, Maps, forms — after the service they come from.
- No skip link
- Adds a keyboard skip-to-content link where the theme has none.
What it will not do
- It is not an overlay. Nothing is injected into your pages for visitors. Around a third of 2025's accessibility lawsuits were filed against sites running one, because rewriting the DOM at runtime leaves the content exactly as inaccessible as it was.
- Page builders. Elementor, Divi, WPBakery, Avada, Beaver and Bricks keep page content inside themselves rather than in the WordPress editor, so a plugin editing posts cannot reach it. On those sites it fixes site-wide settings and any page not built with the builder, and names the pages it had to skip rather than counting them as done.
- Judgement calls. It will not write alt text for a photograph it has never seen, or decide whether your colour contrast is a brand decision. Those stay in the report as instructions.
It is a beta, and that means something
It has been tested on a real WordPress install with Elementor and Divi, and every fix is reversible from the same screen that applied it. It has not yet been run on hundreds of themes. Back up before you use it on a site that matters — the advice you would give anyone about any plugin — and if something goes wrong, the rating box takes a description and it reaches a person.
Not on WordPress? The scanner gives the same findings with step-by-step instructions for your own platform.