=== Scanpoof Accessibility ===
Contributors: scanpoof
Tags: accessibility, ADA, WCAG, compliance, a11y
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Stable tag: 2.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Applies WCAG accessibility fixes to your site at render time. Nothing is written to your content, so disabling or deleting the plugin restores your original site instantly.

== Description ==

Scanpoof scans your site daily against WCAG 2.1 & 2.2 AA and fixes what can safely be fixed automatically.

**Fixes applied as each page loads:**

* Declares the page language (WCAG 3.1.1)
* Re-enables pinch-zoom where a theme has disabled it (WCAG 1.4.4)
* Adds missing image alt text, using AI-written descriptions on the Agency plan and figure captions, titles and context otherwise (WCAG 1.1.1)
* Names unlabelled links and buttons, including icon-only social links (WCAG 4.1.2)
* Labels form fields that have no associated label (WCAG 3.3.2)
* Titles embedded frames — video, maps, forms (WCAG 4.1.2)
* Repairs focus order broken by positive tabindex (WCAG 2.4.3)
* Adds a skip-to-content link (WCAG 2.4.1)
* Applies generated CSS for colour contrast, link underlines and tap-target size (WCAG 1.4.3, 1.4.1, 2.5.8)

Each fix can be switched on or off individually.

Also available: the optional accessibility widget, a trust badge showing your live score (footer or the `[scanpoof_badge]` shortcode), and your score on the WordPress dashboard.

== Your site is never permanently modified ==

Every fix is applied to the HTML on its way to the browser. **Nothing is written to your posts, pages, media library, theme files or database.**

Your site returns to its original state immediately if you:

* untick "Apply accessibility fixes"
* deactivate the plugin
* delete the plugin
* stop your subscription, or let it lapse

There is no clean-up step and nothing to undo, because nothing was ever changed at rest — the fixes simply stop being added, and the next page load is your original markup. When fixes are off the plugin does not process your pages at all, so the output is byte-for-byte what your theme produced.

Deactivating and deleting also clear every cached value the plugin stored, and known page caches (WP Rocket, W3 Total Cache, WP Super Cache, LiteSpeed, SiteGround, Autoptimize) are purged so no already-fixed page can be served from cache afterwards.

== What this plugin will not do ==

Some failures cannot honestly be fixed by any plugin or overlay, and Scanpoof reports them rather than pretending:

* **A menu or page published as a flat image.** There is no text to expose, so it cannot be resized, restyled or read aloud. It has to be republished as real HTML.
* **Text baked into an image** (WCAG 1.4.5), for the same reason.
* **PDF documents.** We flag the link; a human must confirm the file has a real text layer.

An overlay that claims to fix these is claiming something it cannot do.

== Installation ==

1. In Scanpoof, go to Sites → API keys and create a key.
2. Upload this plugin (Plugins → Add New → Upload) and activate it.
3. Go to Settings → Scanpoof, paste your API key, set your Scanpoof URL, tick the features you want, and click "Save & connect".

== Frequently Asked Questions ==

= What happens if I cancel my subscription? =
Fixes stop and your site immediately serves its original markup. The plugin re-checks your subscription every six hours; if it lapses, it stops applying anything. Nothing needs uninstalling and no content needs restoring.

= What if Scanpoof is temporarily unreachable? =
Fixes keep working from the last confirmed subscription check for up to 7 days, so a brief outage will not strip your site. After that they switch off automatically. A definite "not subscribed" answer is honoured straight away.

= Will deleting the plugin leave anything behind? =
No. Uninstalling removes every option and cached value it created, on every site of a multisite network.

= Is the plugin free? =
Yes. Applying fixes requires a paid Scanpoof plan; the plugin itself is free.

= Does the widget make my site compliant? =
No. The widget is an optional comfort toolbar. Real compliance comes from the fixes plus the content work Scanpoof identifies — the plugin delivers and documents them.

== Changelog ==

= 2.0.0 =
* Runtime DOM fix engine: language, viewport/zoom, image alt text, link and button names, form labels, frame titles, focus order, skip link.
* Per-fix on/off controls.
* Subscription enforcement with a 7-day offline grace period; fixes stop when a plan lapses.
* Status panel showing exactly which fixes ran on the last page load.
* Page-cache purging on deactivate and on settings changes.
* Full uninstall cleanup, multisite aware.
* Fixes are never persisted — deactivating, deleting or cancelling restores the original site instantly.

= 1.0.0 =
* Initial release: connect via API key, apply fixes CSS, accessibility widget, trust badge, dashboard score widget.
