=== uSeefy ===
Contributors: useefy
Tags: accessibility, wcag, a11y, usability, ada
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

High-performance accessibility solution for WordPress, designed to support selected WCAG 2.1/2.2 requirements.

== Description ==

uSeefy is a high-performance accessibility solution designed to support websites in addressing selected WCAG 2.1/2.2 requirements.
It provides a seamless interface for users to customize their browsing experience, improving usability for people with visual, cognitive, or motor impairments.

= System Requirements =

* WordPress 6.x (latest version recommended)
* PHP 7.4+ (PHP 8.2 recommended)
* Modern web browser with JavaScript enabled

= Key Features =

* Lightweight frontend architecture: public widget uses Vanilla JavaScript (no jQuery/React on public pages).
* Admin settings scope: bundled CMB2 is admin-only and not loaded on public pages.
* GDPR-ready configuration: toggle allows local-only font mode (no external Google Fonts request).
* Zero-tracking storage: accessibility preferences are stored in localStorage.
* Full keyboard navigation and accessibility-first interactions.
* Customizable UI: theme mode (Dark/Light/System) and flexible positioning.
* Mobile-first responsive widget.

= Privacy & GDPR =

* Frontend widget does not track website visitors.
* Accessibility preferences are stored in localStorage.
* No frontend third-party tracking API calls.
* Text-to-speech uses the browser Web Speech API and may be subject to the browser vendor’s speech processing policies.
* Optional CMP hook for external fonts: define `window.useefyAllowExternalFonts = function(ctx){ return true|false; }`. The plugin checks this before loading external fonts when **Load webfont** is enabled.
* In admin/update flows, the WordPress.org update system provides metadata and packages for the Free version.

= CMP Snippet Example (Optional) =

Add this in your theme/footer (or CMP custom JS area):

`window.useefyAllowExternalFonts = function () { return !!(window.Cookiebot && window.Cookiebot.consent && (window.Cookiebot.consent.preferences || window.Cookiebot.consent.marketing)); };`

= Keyboard Shortcuts =

* Shift + Alt + A: Open/close widget.
* Tab / Shift + Tab: Navigate widget controls.
* Enter / Space: Activate selected control.
* Esc: Close widget.
* Arrow Up / Arrow Down: Move reading mask (when enabled).

= Dynamic Content (AJAX) =

If your site loads content dynamically, call `window.uSeefy.refresh()` after rendering new content.

== Installation ==

1. Go to Plugins > Add New > Upload Plugin.
2. Upload `plg_useefy_wp_1.0.0.zip`.
3. Click Install Now and then Activate.
4. Go to Settings > uSeefy to configure the widget.
5. Want more features? Upgrade to Pro at https://useefy.com/

== Frequently Asked Questions ==

= Widget is not visible. What should I check? =
Confirm the plugin is active and your theme outputs `wp_head()` and `wp_footer()`.

= Can cache/CDN delay changes? =
Yes. Purge cache/CDN and exclude uSeefy assets from aggressive optimization.

= Compliance Note =
uSeefy helps improve accessibility but does not automatically make a site WCAG compliant and does not guarantee compliance with WCAG, ADA, EAA, AODA, or other laws/regulations.

This is standard across accessibility plugins: no plugin can guarantee full legal compliance in every implementation.

Final compliance depends on your content, code, theme, third-party components, and ongoing maintenance.

uSeefy is not legal advice. Perform manual accessibility audits and, when needed, consult qualified accessibility and legal professionals.

== Changelog ==

= 1.0.0 =

* Initial release.

== Other Notes ==

* If you use optimization plugins, clear cache after changes.
* In CDN environments (including Cloudflare), purge cache and exclude uSeefy assets from aggressive optimization when needed.