SecurePilot Accessibility Scanner
SecurePilot Accessibility Scanner
Description
SecurePilot Accessibility Scanner scans your published posts and pages for common accessibility issues and reports them on a dashboard, mapped to the specific compliance clause each one violates.
What it detects
- Missing or non-descriptive image alt text
- Empty or generic link text (“click here”, “read more”)
- Missing form field labels
- Insufficient color contrast on inline-styled text (below a configurable ratio, default 4.5:1)
- Heading hierarchy breaks (skipped levels, missing or duplicate h1)
- Missing focus indicators (heuristic — flagged for manual keyboard-navigation review)
- Missing video captions
How it works
- A daily (or weekly) scheduled scan fetches each published page’s live, rendered HTML and checks it against the rules above.
- Each issue is mapped to the relevant WCAG 2.1, ADA, Section 508, and EAA clause, with a plain-language remediation hint.
- Issues are tracked per page. Re-scanning automatically resolves issues that were fixed, while dashboard “Dismiss” records an explicit, sticky override (e.g. an accepted risk) that survives future scans.
- Export a full remediation plan as PDF, or the raw issue data as JSON, at any time.
Standards mapped
- WCAG 2.1 (A / AA)
- ADA (Title II/III effective communication)
- Section 508
- EAA (European Accessibility Act)
Installation
From a package
- Upload and activate the plugin as usual from Plugins > Add New > Upload Plugin.
- Optional: to enable native PDF export, run
composer installinside the plugin directory (without it, PDF export falls back to a printable HTML report).
From source
- Copy the plugin into
/wp-content/plugins/securepilot-accessibility-scanner. - Run
composer installto install Dompdf (optional, enables PDF export). - Run
npm install && npm run buildto build the React dashboard assets. - Activate the plugin from the Plugins screen.
After activation, a scan is scheduled automatically. Use “Scan Site Now” on the Accessibility dashboard to run one immediately.
Screenshots
Faq
No. It automatically catches a useful set of common, machine-detectable issues, but a handful of checks (focus indicators, third-party embedded video captions) are heuristics flagged for manual review, and many WCAG success criteria (e.g. meaningful reading order, keyboard traps, correct ARIA usage) require human judgment or a full browser to evaluate. Treat this as a first pass, not a substitute for a manual audit.
Contrast checking only evaluates colors declared directly in an element’s style attribute. Colors set via an external stylesheet or theme CSS require a real browser to compute, which is out of scope for a server-side scan.
By default, nothing is deleted — your scan history and settings remain in the database if you reactivate later. If you want a full cleanup on uninstall, enable “Delete data on uninstall” in Settings before removing the plugin.
In a dedicated wp_accessibility_issues table, one row per detected issue, with its status (open, resolved, or ignored), severity, and the specific standards clause it violates.
Reviews
Changelog
1.0.0
- Initial release: image alt text, link text, heading hierarchy, form label, and color contrast checks.
- Focus indicator and video caption checks.
- REST API for scanning, listing/resolving issues, and PDF/JSON export.
- React-based admin dashboard.
