Description
AsafAmos Accessibility Scanner finds WCAG 2.1 / 2.2 AA accessibility violations on your WordPress site. The scan engine — axe-core 4.11 — is bundled with the plugin and runs entirely in your WP admin browser tab. The target page is loaded in a hidden iframe inside the admin area and evaluated there. The default scan flow does not transmit your URL, your HTML, or any scan contents to any external service.
What it does
- Loads the target page in a hidden iframe inside your WP admin and evaluates it with bundled axe-core 4.11. Nothing leaves your server during a normal scan.
- Reports every violation grouped by severity (critical / serious / moderate / minor).
- Links to axe-core documentation for each rule so you can fix it in your theme or content.
- Optional daily cron re-scans (off by default — see “Optional features” below for what it does and does not transmit).
- Works with any theme, any page builder, any caching plugin.
Why not an accessibility overlay?
Overlay widgets (the “robot button” you’ve seen on other sites) inject runtime JavaScript over broken HTML. They do not fix anything; the FTC fined the largest vendor $1M in January 2025. Real compliance means fixing the source HTML / CSS. This plugin shows you what to fix — it does not hide problems and it does not ship any JavaScript to your visitors.
Built for new accessibility regulations
- EAA 2025 — European Accessibility Act, enforceable since June 2025
- ADA — U.S. courts apply WCAG 2.1 AA as the de facto standard
- Israeli תקנה 35 — updated October 2024 with stricter enforcement
Free. Optional paid tier (separate hosted service)
The plugin itself is free. Unlimited scans, optional daily cron, full per-rule violation report — all included.
A separate hosted service at https://axle-iota.vercel.app offers Claude-generated code-fix suggestions per violation. That service is not part of this plugin and is not used by the default scan flow. If you sign up there and obtain an API key, you can paste it in this plugin’s Settings; it is then only used during the optional cron / hosted-scan path described below.
Not a compliance certificate
Automated tools (including axe-core 4.11, the engine used here) catch roughly 57% of WCAG issues. Manual review by a qualified human auditor is still recommended for full conformance.
Optional features (and what they transmit)
This is the full and accurate transmission story for every feature. The default install transmits nothing.
1. “Scan now” button — default scan flow
- Runs entirely in your WP admin browser tab.
- Loads the target page in a hidden iframe and evaluates it with bundled axe-core 4.11.
- Does not transmit anything to any external service.
- Scan results are written to your WordPress
wp_optionstable under the keyaxle_last_scanso the admin dashboard can render the summary.
2. Auto scan = Daily (opt in only — Off by default)
- Only relevant if you explicitly enable this in Tools AsafAmos Accessibility Scanner Settings.
- WP-Cron runs without a browser, so the daily cron cannot use the in-browser iframe scanner. Instead it uses the hosted scanner at
POST https://axle-iota.vercel.app/api/scanwith body{ "url": "<your configured target URL>", "source": "axle-wordpress" }(andAuthorization: Bearer <key>if you’ve entered an axle API key). - Requires your target URL to be publicly reachable — the hosted scanner cannot reach LocalWP, staging behind basic auth, or VPN-only environments.
- No visitor data, form data, or admin content is sent. Only the configured target URL.
- Disabled by default. Setting can be turned off again at any time.
Service provider for #2 (the opt-in daily cron only): axle (https://axle-iota.vercel.app)
Terms of use: https://axle-iota.vercel.app/terms
Privacy policy: https://axle-iota.vercel.app/privacy
You may disable all external communication by deactivating the plugin, by turning off Auto scan and not clicking Scan now, or by blocking the host axle-iota.vercel.app at the network level.
Installation
- Upload the plugin zip via Plugins Add New Upload, or copy the plugin folder to
/wp-content/plugins/. - Activate through the Plugins menu.
- Go to Tools AsafAmos Accessibility Scanner and click Scan now.
FAQ
-
Does this plugin inject any JavaScript into my public site?
-
No. The bundled axe-core engine is loaded only inside your WordPress admin pages, never on your public-facing site. Your visitors see nothing.
-
What data leaves my site by default?
-
By default, nothing. The Scan now button runs entirely client-side in your admin browser via a hidden iframe — no analytics, no tracking, no calls to any external server. The only optional feature that contacts a server is the opt-in daily cron (Off by default), described in the “Optional features” section.
-
Do I need an account?
-
No. The plugin works without any signup. The optional Claude-generated code-fix feature requires a paid axle API key entered in Settings, but you do not need it to scan.
-
Does this replace a professional accessibility audit?
-
No. Automated scanning catches roughly 57% of WCAG issues. For full compliance, a human auditor is still recommended.
-
What about GDPR / privacy?
-
The plugin does not track you or your visitors and includes no analytics. The default scan flow makes no outbound HTTP requests to any external service. The only optional feature that contacts a server is the opt-in daily cron (Off by default), documented under “Optional features” with the exact request body.
-
I’m on LocalWP / staging behind basic auth / a VPN-only host. Will this still work?
-
Yes — the default Scan now flow works on any environment because it runs entirely inside your admin browser. The optional Auto scan = Daily setting requires public reachability and won’t work for these environments; leave it Off.
-
Why is the plugin called “AsafAmos Accessibility Scanner” and not “axle”?
-
The author’s WordPress.org username is
asafamos1. The plugin is part of theaxleaccessibility-CI ecosystem (separate hosted service at https://axle-iota.vercel.app) but maintained by AsafAmos individually for the WordPress.org directory.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“AsafAmos Accessibility Scanner” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “AsafAmos Accessibility Scanner” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.2.1
- Removed the anonymous usage ping entirely per WordPress.org Plugin Review Team feedback — no tracking, no phoning home. The plugin now makes zero outbound requests by default. The only optional network feature is the opt-in daily cron (Off by default), which contacts the hosted scanner as a service you explicitly enable.
1.2.0
- Renamed plugin display name and slug from “Axle Accessibility Scanner” /
axle-accessibility-scannerto “AsafAmos Accessibility Scanner” /asafamos-accessibility-scannerper WordPress.org Plugin Review Team feedback (avoid the “Axle” trademark concern). - Rewrote readme to remove inconsistencies between the original 1.0.0 (hosted-scan) and current 1.1.0+ (in-admin-iframe) architectures. The default scan flow now described accurately as fully client-side; optional hosted features moved to a clearly-labelled section.
- Updated
Contributorsto the plugin owner’s WordPress.org usernameasafamos1.
1.1.0
- Scans now run client-side in the admin browser using bundled axe-core 4.11. Works for LocalWP, staging behind basic auth / VPN, and any other private environment the previous hosted scanner could not reach.
- No external network calls during a normal Scan now.
- Auto scan cron still uses the hosted scanner (it has no browser available). Disabled by default; opt in via Settings.
1.0.0
- First public release.
- WCAG 2.1 / 2.2 AA scanning via axe-core 4.11.
- Admin dashboard under Tools menu.
- Settings for target URL, severity threshold, optional API key.