=== QAProof ===
Contributors: qaproof
Tags: design qa, responsive, accessibility, visual regression, wcag
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
Stable tag: 1.0.20
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Your site looked perfect when you launched it. Does it still? AI-powered visual quality assurance for WordPress. 5 test types. One plugin. Results in under 2 minutes.

== Description ==

**Your site looked perfect when you launched it. Does it still?**

AI-powered visual quality assurance for WordPress. 5 test types. One plugin. Results in under 2 minutes.

**Watch QAProof in action:**

https://youtu.be/I3ZUg2rDA7w

Full walkthrough — from uploading a design file to sending a finished PDF report to your client.

= What is QAProof? =

After every plugin update, deployment, or content change, something can silently break. A shifted layout. A missing button. A page that falls apart on mobile. **Your users notice before you do.**

**QAProof catches it first.** It renders your live pages in a real browser, runs **AI-powered visual analysis**, and returns a detailed report with a quality score, a breakdown of every issue, and **ready-to-paste CSS fix recommendations** — all in under 2 minutes.

Available as a **WordPress plugin** with a clean admin interface — **no technical skills required.**

= Five test types. Everything your site needs. =

QAProof covers every aspect of visual quality that teams typically check manually — or skip entirely.

**Design Fidelity**

**Does the live site actually match the design?**

**The situation:** "I sent the mockup to the developer and the result looks nothing like it. I spend hours comparing elements by eye — and still miss things."

**What you get:** Upload a Figma file — and QAProof compares it against your live page. Every layout shift, color mismatch, typography difference, and spacing issue is flagged with its exact location and a copy-paste CSS fix.

**Responsive Testing**

**Does your site hold together on every screen size?**

**The situation:** "Everything looks fine on my phone. Then a client calls from their iPad and says half the page is broken."

**What you get:** Your page is tested at desktop (1920px), tablet (768px), and mobile (375px) simultaneously. The AI identifies overflow, broken stacks, illegible text, and layout failures across all three viewports — **not just the device you happened to check.**

**Accessibility Audit (WCAG 2.1)**

**Is your site usable by everyone?**

**The situation:** "We got a complaint that our site is unusable for people with visual impairments. We had no idea where to even start."

**What you get:** **Full compliance check at Level A, AA, or AAA.** Color contrast, keyboard navigation, heading structure, form labels, touch targets — every violation is listed with the specific WCAG criterion it breaks and a clear recommendation to fix it.

**Visual Regression Monitoring**

**Did the last update break something you haven't noticed yet?**

**The situation:** "After a plugin update, the header shifted and a button disappeared. We only found out a week later — when a client complained."

**What you get:** Set a baseline screenshot of any page. QAProof re-checks it on a daily, weekly, or monthly schedule and sends you an email the moment something changes. **Catch broken deploys in hours, not weeks.**

**Design Audit (Design Debt Score)**

**How consistent is your design system — really?**

**The situation:** "Our site uses 47 shades of gray and 12 different font sizes. There's a design system, but nobody follows it. And we have no way to measure how bad it's gotten."

**What you get:** QAProof reads your live design tokens directly from the DOM — colors, fonts, spacing, CSS variables — and grades your design system's internal consistency on a score from 0 to 100. 0 is ideal. See exactly **where the drift started.**

= Who uses QAProof? =

QAProof works equally well for non-technical site owners and experienced development teams.

* **Agencies & studios** — replace 2–4 hours of manual pre-delivery QA with a 2-minute automated report. Send clients a branded PDF with a verification seal at every handoff.
* **Freelancers** — prove your work matches the design with objective data. A score is more convincing than "trust me."
* **In-house teams** — set up monitors on your key pages and get alerted the moment a deploy breaks something.
* **WordPress site owners** — no code, no complexity. Install the plugin, add your API key, run your first test. That's it.
* **QA engineers** — help identify, reproduce, and investigate issues quickly, making the development process faster and more reliable.
* **Designers** — see exactly where your design was implemented incorrectly, and hand developers the precise CSS they need to fix it.

= Up and running in minutes =

**For WordPress users:**

* Install the QAProof plugin from your WordPress admin panel.
* Enter your API key in Settings.
* Enter a page URL and upload your design file (or paste a Figma link).
* **Click "Run Test" — your full report is ready in 30–90 seconds.**
* Set up a monitor — QAProof will check the page on schedule and alert you if anything changes.

= What you get in every report =

* **An overall quality score** from 0 to 100 — clear, communicable, and objective.
* **Category-by-category breakdown** with visual charts.
* **Every issue listed with its exact location** on the page.
* **Ready-to-paste CSS fix recommendations** — not "something looks off" but "add margin-top: 16px to .header-nav".
* **PDF reports with a verification seal** — ready to send to your client in one click.
* **Email reports** — send directly from the interface without downloading.
* **WCAG level selector (A / AA / AAA)** — adjust audit strictness to match your requirements.
* **Saved designs** — upload a design once, reuse it across all future tests.

= Why choose QAProof over separate tools? =

The market has tools for design comparison. Separate tools for regression. Separate tools for accessibility. **QAProof combines all five in one platform** — and goes further than any of them individually.

* ✅ Design vs. live page comparison
* ✅ Figma tool support *(not available in other tools)*
* ✅ Responsive testing across 3 viewports *(not available in other tools)*
* ✅ WCAG accessibility audit — Level A, AA, AAA *(not available in other tools)*
* ✅ Visual regression monitoring
* ✅ Design Debt Score *(not available in other tools)*
* ✅ WordPress plugin with built-in admin UI *(not available in other tools)*
* ✅ Scheduled automatic monitoring
* ✅ PDF reports with verification seal *(not available in other tools)*
* ✅ AI-generated CSS fix recommendations *(not available in other tools)*

== Frequently Asked Questions ==

= Is QAProof free? =

The WordPress plugin is **free and open-source** (GPL-2.0+). The backend that powers the tests has a **free tier** suitable for individual sites and smaller projects. Paid plans are available for higher volume. Full pricing at [qaproof.io/pricing](https://qaproof.io/pricing).

= Do I need a Figma account? =

Figma integration is available as a convenience for those who prefer to pull designs directly from a URL.

= What information does QAProof send when I run a test? =

Only what you explicitly submit: the **URL of the page** you want to test and your **design file**. QAProof never reads your post content, user accounts, visitor data, passwords, or any other information from your site.

= Where are my test results stored? =

Results are stored securely in your **QAProof account**, scoped to your workspace. The plugin itself stores only your local settings — API key and notification preferences. No test data is saved to your WordPress database.

= How long does a test take? =

**Design Fidelity:** 15–30 seconds. **Responsive Testing:** 1–2 minutes. **Accessibility Audit:** 2–5 minutes on complex pages.

= Does the plugin work on WordPress Multisite? =

Yes. The plugin can be network-activated, and each site in the network manages its own settings, API key, and test history independently.

= What happens if I enter a wrong API key? =

The plugin shows a clear error in the interface — **nothing is sent, no test is run.** You can update your key at any time.

== Start for Free Today ==

Install the plugin on WordPress or get your API key at [qaproof.io](https://qaproof.io) — and run your first test in under 2 minutes.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

== Changelog ==

= 1.0.20 =
* Fix: PDF reports now correctly display Target URL for all test types
* Fix: Screenshot images in PDF limited to one page height (no more multi-page screenshots)
* Fix: Blank pages before Methodology & Standards section in PDF reports
* Fix: Missing PHP methods in API client restored (send_report_email, generate_pdf, history_stats)
* Improvement: Figma OAuth connection status UI improvements

= 1.0.19 =
* Fix: Monitor scheduler stores page URL in result JSON for reliable PDF generation
* Improvement: API-side monitor scheduler replaces WP-Cron for more reliable scheduling

= 1.0.18 =
* Feature: Figma OAuth 2.0 per-workspace connection
* Improvement: Admin dashboard health endpoints

= 1.0.17 =
* Feature: Organizations — shared API keys and test history
* Feature: Invitation flow for organization members

= 1.0.16 =
* Feature: Design Audit accuracy overhaul with improved token extraction
* Fix: Responsive test score stabilization with programmatic category adjustments

= 1.0.15 =
* Feature: WCAG conformance level selector (A / AA / AAA) end-to-end
* Feature: Saved design image caching — fetch Figma once, reuse forever
* Fix: Figma rate limit mitigation with configurable cache TTL
