=== Audita11y – Accessibility Auditor for WooCommerce ===
Contributors: loomstudio
Tags: accessibility, wcag, eaa, woocommerce, audit
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
Stable tag: 1.0.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Real accessibility audit for WooCommerce: scan in the browser with axe-core, reconcile manual checks, and draft your EAA Declaration.

== Description ==

Audita11y helps WooCommerce store owners work toward conformance with the European Accessibility Act (EAA), based on EN 301 549 v3.2.1 (WCAG 2.1, levels A and AA).

The scan runs **client-side in your own browser**. When you start a scan, the plugin loads the target page in a same-origin frame inside wp-admin and runs the bundled axe-core engine over it. Because it runs in a real browser, it evaluates computed styles and ARIA — so it catches issues that server-side HTML parsing misses, such as color contrast.

**Zero install. Nothing leaves your site. No CDN, no external calls, no phone-home.** The axe-core engine is bundled locally with the plugin.

What you get:

* **Browser-based automated scan** powered by axe-core 4.12.0, bundled locally.
* **Reconciled report across 54 criteria** mapped to EN 301 549 / WCAG 2.1 AA, combining automated findings with your manual checks.
* **Manual checklist** for the criteria a machine cannot decide on its own, with remediation guidance.
* **Conformance score, severity counts, and risk-by-flow** for your key WooCommerce pages (shop, cart, checkout, account).
* **Accessibility Declaration draft** pre-filled from your audit: a printable, copy-ready statement with the fields you still need to complete. This is a drafting aid, not legal advice.
* **CSV / JSON / HTML exports** of the findings.

Important: no automated tool detects every accessibility problem. Audita11y covers machine-detectable checks and reconciles them with manual review — it complements, and does not replace, human testing with assistive technologies.

**Optional advanced add-on (not included here):** an optional Node-based runner enables multi-page scanning. It is distributed separately and is not required — the plugin works fully without it.

== Installation ==

1. Upload the `audita11y` folder to `/wp-content/plugins/`, or install the ZIP via Plugins > Add New > Upload Plugin.
2. Activate the plugin (WooCommerce must be active).
3. Open "Audita11y" in the admin menu.
4. Follow the ~5-minute onboarding: run your first browser scan, complete the manual checklist, then generate your Accessibility Declaration draft.

== Frequently Asked Questions ==

= Do I need WooCommerce? =
Yes. The plugin requires WooCommerce to be active (it uses it for page detection and for the Action Scheduler background queue).

= Does the scan check color contrast? =
Yes. Because the scan runs axe-core in a real browser over the rendered page, it evaluates computed contrast and ARIA, unlike static server-side HTML analysis.

= Does scanning change or expose my site? =
No. The scan only reads the rendered page inside your own admin browser. Nothing is modified, and no data is sent anywhere — there are no external requests, no CDN, and no phone-home.

= Is the Accessibility Declaration legally binding? Is this legal advice? =
No. Under the EAA, accessibility for services is a self-declaration: you, the store owner, publish the declaration under your own responsibility (there is no third-party certification body for services). The plugin only produces a pre-filled draft from your audit. This is not legal advice; consult a qualified professional, and note that sellers outside the EU may need an authorized EU representative.

= Can I scan more than one page at a time? =
The free, browser-based scan covers one page per scan. Multi-page scanning is available through the optional Node runner add-on, distributed separately.

= What accessibility standard is used? =
EN 301 549 v3.2.1, which maps to WCAG 2.1 level AA. WCAG 2.2 / EN 301 549 v4 support is planned for a future release.

== Third-party sources ==

This plugin bundles axe-core, the accessibility testing engine by Deque Systems, licensed under the Mozilla Public License 2.0 (MPL-2.0). The original license header is preserved in `assets/js/vendor/axe.min.js`, and the full license text is included in `assets/js/vendor/axe-LICENSE.txt`. axe-core source: https://github.com/dequelabs/axe-core

== Screenshots ==

1. Dashboard with onboarding, conformance score, and the Declaration call-to-action.
2. Browser-based scan running axe-core over a store page.
3. Reconciled report across the 54 EN 301 549 / WCAG 2.1 AA criteria.
4. Accessibility Declaration draft, printable and copy-ready.

== Changelog ==

= 1.0.0 =
* First public release on WordPress.org.
* Distribution packaging and WordPress.org compliance: rewritten readme, bundled axe-core license (MPL-2.0), debug logging gated behind WP_DEBUG, and a reproducible build that ships only the plugin (no dev files, no external calls).
* No functional changes versus 0.11.0.

= 0.11.0 =
* Client-side scan: runs axe-core directly in the admin browser (zero install, nothing leaves the site); feeds the same pipeline (Importer/Reconciler).
* Node runner demoted to optional (advanced multi-page scan); the plugin works fully without it.
* Accessibility Declaration promoted to a core feature: dedicated submenu plus dashboard call-to-action, with fields to complete and a "not legal advice" notice.
* ~5-minute onboarding on the dashboard. axe-core 4.12.0 bundled locally. Updated pt_PT translation.

= 0.10.0 =
* Consolidation of Phases 6 (Report & mapping), 7 (Dashboard) and 8 (Scheduling & monitoring) into one complete package.
* Reconciled report across the 54 criteria (POUR score, risk by flow, CSV/JSON/HTML exports, Accessibility Declaration draft).
* Executive dashboard on the finding model; legacy static engine removed.
* Scheduling via Node runner (PHP->Node bridge) and monitoring with email alerts.

= 0.9.0 =
* Polish: readme, i18n (.pot), full cleanup on uninstall.

= 0.8.2 =
* Scheduling status and "run now" button in settings.

= 0.8.0 =
* Settings page (limits, timeout, SSL, automatic scheduling).

= 0.7.0 =
* +7 WCAG rules and A/AA/AAA levels.

= 0.6.0 =
* Background analysis with Action Scheduler.

= 0.5.0 =
* Report by severity/rule and CSV export.

= 0.4.0 =
* Rule engine and page analysis.

= 0.3.0 =
* URL discovery.

= 0.2.0 =
* Data layer (scans, pages, issues).

= 0.1.0 =
* Initial scaffold.

== Upgrade Notice ==

= 1.0.0 =
First public release on WordPress.org. No functional changes from 0.11.0.

= 0.11.0 =
Scanning now runs in your browser with axe-core (zero install, nothing leaves your site), and the Accessibility Declaration is now a core feature.
