=== Algo AccessGuard ===
Contributors: rajninair
Tags: accessibility, a11y, wcag, audit, remediation
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.1.5
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

WordPress accessibility audit with WCAG 2.2 mapping, server-side remediation with human approval, and continuous monitoring. Not an overlay.

== Description ==

Algo AccessGuard crawls your WordPress site, audits the rendered HTML, maps findings to WCAG 2.2 success criteria, and helps you fix issues with human approval. On Pro, it continuously monitors for regressions after theme or plugin updates.

It is **not an accessibility overlay**. Nothing is injected into your front end to paper over problems. Fixes are real server-side content changes, queued for review before anything is written, with a backup so you can revert.

**How it works**

1. Crawl — discover posts, pages, products, and menu targets
2. Scan — batch-audit rendered HTML (shows N of M; Scan all remaining continues)
3. Findings — severity, WCAG criteria, XPath, markup snippet; dismiss false positives
4. Inspect — open the page with the element highlighted
5. Approve → Apply — reviewable fixes; never auto-written without you
6. Monitor (Pro) — scheduled rescans + email when new violations appear

**Free vs Pro (one plugin)**

* Free: crawl, batched scans (page caps), ignore findings, reviewable fixes, HTML report
* Pro (AGPRO key in the same plugin): higher limits, scheduled monitoring + regression email, AI alt text (your API key), GitHub / Jira / webhook, white-label

**Auditing**

* Crawls posts, pages, WooCommerce products, and nav-menu targets
* Rules covering images, forms, headings, links, ARIA, tables, frames, autoplaying media, and inline color contrast (heuristic)
* Every finding carries severity, WCAG 2.2 criteria, element XPath, and markup snippet
* Vague “Details” / “Learn more” links are skipped when a nearby card heading names the destination
* Off-site URLs are never fetched

**Remediation**

* Proposed fixes go into a review queue; you approve each one
* Applied fixes are reverted with one click; backups + WordPress revisions
* Optional AI-written alt text on Pro (bring your own OpenAI-compatible endpoint)

**Monitoring (Pro)**

* Scheduled crawl and scan via WP-Cron
* Regression detection compares each scan to the previous one for the same page
* Email alert when a page gains new violations

**Integrations (Pro)**

* Signed webhooks, GitHub issues, Jira issues
* REST API under `algo-accessguard/v1`

**Reporting**

* Self-contained HTML report, grouped by rule and by page, ready to print or save as PDF

Learn more: https://algorisys.com/wordpress-plugins/algo-accessguard/

== Installation ==

1. Upload the `algo-accessguard` folder to `/wp-content/plugins/`.
2. Activate the plugin.
3. Open **Algo AccessGuard → Dashboard**, click **Run crawl**, then **Scan next batch** or **Scan all remaining**.
4. Optional: enter an AGPRO license under **Algo AccessGuard → Pro** for monitoring, AI, and integrations.

== Frequently Asked Questions ==

= What is Algo AccessGuard? =

A WordPress plugin that crawls your site, finds accessibility problems in the rendered HTML, maps them to WCAG 2.2 criteria, and helps you fix them with human approval. Pro can monitor for new issues after updates.

= Is Algo AccessGuard an accessibility overlay? =

No. Overlays inject front-end scripts that can hide problems from automated checks without fixing the underlying HTML. AccessGuard reports real findings and applies server-side content changes only after you approve them.

= How is it different from Equalize Digital Accessibility Checker? =

Both audit WordPress. AccessGuard focuses on crawl → approve → server-side fix → continuous monitoring and agency integrations (webhook, GitHub, Jira, white-label). Compare current rule coverage for your use case.

= Does it auto-fix without approval? =

No. Suggested fixes enter a review queue. You Apply or Dismiss each one. Applied fixes store a backup and can be reverted.

= What WCAG version does it map to? =

Findings are mapped to WCAG 2.2 success criteria. Automated checks only cover the machine-detectable subset — this is not a full conformance claim or legal certificate.

= Does it monitor after theme or plugin updates? =

Yes on Pro. Scheduled monitoring rescans crawled pages and can email you when new violations appear. Free includes manual crawl and scan.

= What is Free vs Pro? =

Free: crawl, batched scans (page caps), dismiss findings, reviewable fixes, HTML report. Pro (same plugin, AGPRO key): higher limits, scheduled monitoring and regression email, AI alt text, integrations, white-label.

= Does this guarantee legal compliance? =

No. Automated testing cannot evaluate most WCAG success criteria. Use AccessGuard alongside manual testing with assistive technology.

= Will fixes break my content? =

Fixes only touch the specific element the scan found, are never applied without approval, and store the content they replaced. WordPress revisions provide a second way back.

= Is my page content sent anywhere? =

Only if you turn something on. AI suggestions send image markup and page URL to the endpoint you configure. Webhooks, GitHub, and Jira send findings to destinations you configure. Telemetry, when enabled, sends counts only — never URLs or content.

= Who is it for? =

Site owners who want an honest audit and fix workflow, and agencies that need monitoring, white-label reports, and issue-tracker integrations.

= Why is the scan skipping URLs? =

Algo AccessGuard only fetches URLs on your own host. Nav menus often contain external links; those are counted as skipped. Developers can override with the `algo_accessguard_allow_external_scan` filter.

== Changelog ==

= 1.1.5 =
* Accessibility scores: page score (100 − 5×errors − 2×warnings) and site average; Dashboard worst pages + report.

= 1.1.4 =
* Where to edit: map findings to post/page, Elementor, blocks, or Algo Products/Solutions/Plugins CMS with admin deep links.

= 1.1.3 =
* Color contrast heuristic (WCAG 1.4.3) for inline text/background styles — not a full stylesheet contrast audit.

= 1.1.2 =
* Crawl completeness: extra URL paths, sitemap, WooCommerce pages, Algo Products/Solutions and plugins marketplace URLs, source/skip report.

= 1.1.1 =
* Report excludes dismissed findings; Open in new tab + Download HTML; methodology + assistant summary block.
* Dashboard lists successful scans before HTTP errors and dims failed fetch rows.

= 1.1.0 =
* Full-site scan UX: progress N of M, Scan next batch, Scan all remaining.
* Dismiss / ignore findings (URL + rule + XPath); re-scans respect ignores.
* Smarter link-generic-text: skip vague link text when a nearby card heading names the destination.
* Freemium: Free plan caps + Pro unlock via AGPRO key (monitoring, AI, integrations, white-label) in the same plugin.

= 1.0.0 =
* First complete release.
* Fixed a fatal duplicate function declaration that prevented activation.
* Added nonce verification to all settings forms and proper HTTP status codes to all REST errors.
* Fixed findings being rendered unescaped in the admin report.
* Images with an explicit `alt=""` are no longer reported as missing alt text.
* Expanded the rule set from 7 to 20 checks.
* Added fix revert and dismiss, backed by stored backups.
* Added regression detection with email alerts.
* AI-generated alt text can now actually be applied.
* Scheduled events are removed on deactivation, and all data is removed on uninstall.
