=== Adinav Accessibility Audit for EAA ===
Contributors: adinav
Tags: accessibility, wcag, a11y, compliance, audit
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 0.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Find the WCAG 2.1 AA and European Accessibility Act violations on your site, with the exact element and how to fix it. Not an overlay.

== Privacy ==

**The scan itself sends nothing anywhere.** It makes HTTP requests only to your own site's public pages, exactly as a visitor's browser would, and stores the results in your own database. Your pages, your findings, and your accessibility statement never leave your server. Uninstalling removes the plugin's table and options completely.

**What does involve a third party, stated plainly:** this plugin includes the Freemius SDK, which handles licensing, updates and payment for the optional paid version.

* On activation you are asked **once** whether to share basic usage data (site URL, WordPress and PHP versions, active plugins). **You can decline.** Choosing "Skip" gives you the complete free plugin with nothing withheld, nothing disabled, and no repeated nagging. Every scanning feature works identically either way.
* If you buy a licence, your site contacts Freemius to verify it and to fetch updates. That is unavoidable for any paid plugin and is what you are agreeing to when you purchase.
* Freemius acts as the seller of record for purchases and handles payment data. We never see or store your card details.

Freemius privacy policy: https://freemius.com/privacy/

We would rather write this out in full than let you discover it later. A plugin that tells you what your website hides should not hide anything itself.

== Description ==

The European Accessibility Act (Directive (EU) 2019/882) has applied since **28 June 2025**. It covers e-commerce, banking, transport, telecoms and consumer digital services. The standard it requires is **EN 301 549**, which applies **WCAG 2.1 Level AA**.

Enforcement is no longer theoretical. The first EAA lawsuits in Europe were filed in **France in November 2025**, and national market-surveillance authorities are now actively supervising.

**Adinav Accessibility Audit for EAA scans the HTML your visitors actually receive** and reports every barrier it can prove is there — with the exact element, the WCAG success criterion it breaks, the EN 301 549 clause a regulator would cite, and how to fix it in code.

= This is not an overlay =

Overlay widgets that promise instant compliance from one line of JavaScript **do not deliver compliance**. The EU has never endorsed them, European disability organisations have rejected them, and their presence on a site is increasingly read by regulators as evidence that the site was never made accessible in the first place.

This plugin changes nothing on your front end. It adds no script, no widget, no banner. It tells you the truth about your site and gets out of the way.

= What it checks =

Every check runs against WCAG 2.1 A and AA, mapped to the EN 301 549 clause:

* Images with no alt attribute, and alt text that is just a file name
* Form fields with no label — the single most common checkout blocker
* Buttons and links with no accessible name (icon-only carts, hamburger menus, close buttons)
* Link text that says nothing out of context ("Read more", "Cliquez ici")
* Missing page language, missing page title
* Skipped heading levels, empty headings, missing h1
* iframes with no title
* Data tables with no header cells
* Duplicate ids that silently break label associations
* Positive tabindex that wrecks keyboard order
* `aria-hidden` containers that still trap keyboard focus
* Pinch-to-zoom disabled on mobile (`user-scalable=no`)
* Timed page refreshes
* Video without captions; audio or video that autoplays with sound
* Missing `autocomplete` on personal-data fields (WCAG 1.3.5 AA — inside the EAA's required level, and almost universally missed)
* Missing `main` landmark
* Colour contrast below 4.5:1, where it can be verified with certainty

= It tells you what it cannot know =

Automated testing cannot prove compliance, and this plugin will never tell you it has. Colour contrast defined in stylesheets, keyboard focus order, and the behaviour of dynamic content can only be confirmed by a manual test with assistive technology. The report says so, plainly, instead of handing you a green tick you cannot rely on in front of a regulator.

A false positive is worse than a missed issue. Every rule here fires only on evidence present in the page source.

= Accessibility statement generator =

The EAA does not only require an accessible service — it requires you to **publish information about how you meet the requirements**. This plugin generates that statement from your real scan results, **including the failures it found**. It will not write "fully compliant" for you: a compliance claim that a regulator can disprove in thirty seconds with a screen reader turns an accessibility problem into a false-declaration problem.

== Installation ==

1. Upload the plugin to `/wp-content/plugins/`, or install it from the Plugins screen.
2. Activate it.
3. Go to **Accessibility Audit** and press **Run accessibility scan**.

It changes nothing on your site. It only reads your pages, the way a visitor would.

== Frequently Asked Questions ==

= Does this make my site compliant? =

No, and be suspicious of anything that says it does. This finds barriers and tells you how to fix them. The fixes happen in your theme and your content. That is the only kind of compliance that exists.

= Is an accessibility overlay easier? =

It is easier, and it does not work. Overlays are not recognised by EU regulators as meeting the EAA, and disability organisations have consistently rejected them. Installing one does not remove your legal exposure; it documents that you looked for a shortcut.

= Which pages are scanned? =

The highest-risk ones first: home, shop, cart, checkout, and account, then your pages and posts. Checkout is prioritised because an inaccessible checkout form is where an accessibility barrier stops being an inconvenience and becomes a lost sale and a legal exposure.

= Does it work with WooCommerce? =

Yes. If WooCommerce is active, its shop, cart, checkout and account pages are scanned first.

== Screenshots ==

1. The dashboard: what is broken, most damaging first.
2. Every occurrence, with the element, the criterion, and the fix.
3. The accessibility statement, generated from real results.

== Changelog ==

= 0.2.0 =
* Added an optional paid tier: full-site crawling, scheduled weekly re-scans with email alerts when a new violation appears, and a printable evidence report for regulators and clients.
* The free version is unchanged in what it detects. All 22 checks still run, every finding is still shown in full with its element, criterion and fix. The paid tier adds breadth and monitoring, never depth.
* Privacy section rewritten to describe the licensing SDK honestly, including how to decline usage tracking and keep the complete free plugin.

= 0.1.0 =
* First release.
