=== Stepless Accessibility Audit ===
Contributors: nicodiangelo
Tags: accessibility, wcag, ada, a11y, accessibility checker
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Scan your site for WCAG 2.1 AA accessibility issues, see which post caused each one, and generate your accessibility statement. No overlay widget.

== Description ==

Accessibility Audit checks your pages against **WCAG 2.1 level AA** and tells you exactly what to fix — and, crucially, **which piece of your content caused it**.

It does not add a widget, a toolbar or an overlay to your site, and it does not claim that installing it makes you accessible. It reports issues in your admin so you can fix them in your content and theme.

### What it actually tells you

Every finding includes:

* The **WCAG success criterion** it breaks (1.4.3, 2.4.4, and so on)
* How severe it is — critical, serious, moderate or minor
* The **exact element** on the page, with its HTML
* A link to **edit the post or page that caused it**
* A plain-language explanation and how to fix it

That last pair is what makes a finding actionable. Knowing "an image is missing alt text" is a start; knowing it is *in this post, click here to edit it* is what lets you actually fix it.

### Honest about what automated testing can do

Automated tools reliably detect **roughly half** of WCAG issues. No scanner, including this one, can judge whether your alt text is *meaningful*, whether your focus order makes *sense*, whether captions *match* the audio, or whether an error message actually *helps*.

So this plugin will not tell you that you are compliant, because no software can. It reports what automated testing can demonstrate is wrong, clearly, so you can fix those issues and then carry out the human review that the remaining criteria require.

### Your data never leaves your site

The scan runs in your own browser, against your own pages, using a copy of the rule engine served from your own server.

* **No external requests.** None. Not for the scan, not for telemetry, not for licence checks.
* **Nothing is sent to us**, because there is no "us" to send it to.
* No account, no API key, no signup.

If you are in the EU and have been nervous about accessibility tools shipping your visitors' data to third-party servers, that is precisely why it is built this way.

### Built for the EU Accessibility Act

The European Accessibility Act has applied since **28 June 2025**, and e-commerce is explicitly in scope — including sellers outside the EU serving EU customers. The standard is WCAG 2.1 AA.

Accessibility Audit helps you work toward it: scan, fix, rescan, and generate the accessibility statement the legislation expects, built from your real scan results rather than a fill-in-the-blanks template.

### Works with WooCommerce

When WooCommerce is active, the scan automatically includes your **shop, a product page, the cart and the checkout** — the templates that carry the most legal risk and that merchants test least.

### Deliberately small

* Admin-only in practice: no scripts, styles or queries are added for visitors.
* No dashboard widgets, no menus added to unrelated screens, no upsell notices.
* Under 1MB. No bundled framework.
* Removes all of its own data when you uninstall it.

== Installation ==

1. Install and activate the plugin.
2. Go to **Accessibility** in your admin menu.
3. Click **Run a scan**.

There is no setup, no wizard and no account.

### Nothing is locked

Every limit in the plugin is a default, not a restriction, and each one can be
changed with a filter — no licence, key or paid version involved:

* `stepless_accessibility_audit_recent_limit` — how many recent posts/pages are scanned
* `stepless_accessibility_audit_history_limit` — how many past scans are kept
* `stepless_accessibility_audit_findings_per_page` — findings stored per page
* `stepless_accessibility_audit_nodes_per_finding` — example elements per finding

== Frequently Asked Questions ==

= Will this make my site compliant? =

No, and no plugin can. Automated testing catches roughly half of WCAG issues; the rest needs human judgement. This plugin finds and explains what a machine can detect, which is real, useful progress — but treating any scanner's clean result as legal compliance would be a mistake.

= Does it add a toolbar or accessibility widget to my site? =

No. This plugin adds nothing to your front end. It reports issues in the WordPress admin so that you can correct them in your content, theme or templates.

= Does it send my data anywhere? =

No. The scan runs in your browser against your own pages, and the rule engine is served from your own site. The plugin makes no external HTTP requests of any kind.

= Will it slow down my site? =

No. Nothing is enqueued on your front end — no scripts, no styles, no extra queries. The plugin registers exactly one front-end filter, which hides the admin toolbar during a scan and returns immediately on every ordinary page view.

= Which pages get scanned? =

Your home page, your five most recently edited posts and pages, and — if WooCommerce is active — your shop, a product, the cart and the checkout.

= Why does a page say it could not be scanned? =

Some pages send headers that stop them being loaded in a frame, which is how the scan reads them. When that happens the plugin says so plainly rather than reporting the page as clean, because a page that was not checked is not the same as a page with no problems.

= What accessibility standard does it use? =

WCAG 2.1 levels A and AA, which is the standard referenced by the European Accessibility Act, EN 301 549, and Section 508.

= Does it work with page builders and cache plugins? =

Yes. The scan reads your pages as a browser renders them, so it sees the final output regardless of how it was built.

== Screenshots ==

1. Scan results grouped by page, each finding showing its WCAG criterion, severity and a link to edit the content that caused it.
2. The element-level detail for a finding, with the offending HTML.
3. The accessibility statement generator, built from your real scan results rather than a blank template.

== Changelog ==

= 1.0.2 =
* Display name shortened to "Stepless Accessibility Audit".

= 1.0.1 =
* Scan history now keeps 30 entries by default instead of 3, and every limit in
  the plugin is filterable, so nothing is restricted.
* Description rewritten to describe only this plugin.
* Translation files removed; translations come from translate.wordpress.org.

= 1.0.0 =
* First release.
* WCAG 2.1 AA scanning, run locally in your browser with no external requests.
* Every finding linked to the post or page that caused it.
* WooCommerce shop, product, cart and checkout included automatically.
* Accessibility statement generator, built from your real scan results.
* Scan history.
* English and German.

== Upgrade Notice ==

= 1.0.2 =
Display name change only.

= 1.0.1 =
Raises default limits and makes all of them filterable.

= 1.0.0 =
First release.

== Credits ==

Accessibility testing is powered by [axe-core](https://github.com/dequelabs/axe-core) by Deque Systems, used under the Mozilla Public License 2.0. axe-core is bundled with this plugin and served from your own server; it makes no outbound connections.
