=== AccessKit – Accessibility Options Toolbar ===
Contributors: rakeshmali011
Tags: accessibility, ada-compliance, accessibility-toolbar, screen-reader, dyslexia
Requires at least: 5.6
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

A self-contained accessibility options toolbar with 13 features. No third-party scripts, no external API calls, no subscriptions.

== Description ==

**AccessKit** adds a floating accessibility toolbar to your WordPress site that lets visitors adapt the page to their needs — bigger text, dyslexia-friendly fonts, high contrast, link highlighting, screen reading, and more.

Unlike popular paid alternatives that load scripts from external servers and charge per site, this plugin runs entirely on your own hosting. Nothing phones home, nothing tracks your users, no annual subscription.

= 13 built-in accessibility features =

* **Bigger Text / Smaller Text** — five-step font scaling
* **Text Spacing** — wider letter and word spacing
* **Line Height** — increased line spacing for easier reading
* **Dyslexia Friendly** — switches fonts to a dyslexia-friendly stack
* **ADHD Mode** — focus reading strip that follows the cursor
* **Saturation** — two levels of reduced colour intensity
* **Invert Colors** — full page colour inversion
* **Highlight Links** — yellow background on every link
* **Text To Speech** — reads page text aloud (uses browser Web Speech API)
* **Cursor** — enlarged cursor for low-vision users
* **Pause Animation** — stops CSS animations and video
* **Hide Images** — visually hides images while keeping layout

= Why this plugin =

* **Truly free, no upsells.** Every feature is in the free version. No locked premium tier.
* **No third-party scripts.** Everything runs from your own server. Audit-friendly.
* **Privacy-respecting.** No tracking, no analytics, no cookies, no external requests.
* **Lightweight.** Under 30 KB total. Loads asynchronously, won't impact Core Web Vitals.
* **Brand-customisable.** WordPress colour pickers for the launcher, panel, and reset button.
* **Compliance-friendly.** Helps with WCAG 2.1 AA, ADA, EAA, Section 508, and GIGW user-adaptation requirements.
* **Translation-ready.** Fully internationalised. POT file included.

= How visitors use it =

A floating launcher pill sits in the bottom-left (or bottom-right) of every page. Clicking it opens a panel with the 13 feature cards. Visitor preferences are saved in their browser's localStorage so settings persist across pages and visits.

The panel can also be opened with the keyboard shortcut **Ctrl+F2**.

= Customisation options =

* **Appearance tab** — brand colour, panel background, reset button colour, position, launcher title text
* **Features tab** — enable or disable any of the 13 feature cards individually
* **Advanced tab** — exclude on specific pages by ID or slug, append custom CSS overrides

= What this plugin does NOT do =

This is an accessibility *adaptation widget*, not an automated WCAG audit. It helps visitors customise how your site looks and behaves, but does not fix underlying semantic HTML issues. For full WCAG conformance you also need proper headings, alt text, ARIA labels, focus indicators, and keyboard navigation in your theme. Run a tool like axe DevTools or WAVE to identify those issues separately.

== Installation ==

1. Upload the plugin via Plugins → Add New → Upload Plugin, or unzip into `/wp-content/plugins/`.
2. Activate the plugin through the Plugins menu.
3. Go to **Settings → Accessibility Options** to customise colours, position, and which features to show.
4. Visit your site front-end — the launcher appears in the bottom-left corner.

== Frequently Asked Questions ==

= Does this plugin send any data to external servers? =

No. The plugin runs entirely on your own server. There are no analytics, no API calls, no remote scripts, and no tracking.

= Will this plugin hurt my Core Web Vitals score? =

No. Total asset weight is under 30 KB. The JavaScript is loaded with the `defer` attribute so it doesn't block rendering. CSS is loaded once per visit and cached.

= Does it work with caching plugins (WP Rocket, W3 Total Cache, LiteSpeed Cache)? =

Yes. The widget markup is identical for every visitor, so it caches correctly. Per-visitor preferences are stored in the visitor's browser, not in the cached HTML.

= Can I exclude the widget on specific pages? =

Yes. Settings → Accessibility Options → Advanced → Exclude on pages. Enter post IDs or slugs separated by commas.

= Does it work with page builders (Elementor, Divi, WPBakery, Beaver Builder)? =

Yes. The widget is a fixed-position overlay independent of your theme or page builder.

= Is it compatible with WooCommerce? =

Yes. The widget appears site-wide including WooCommerce shop, product, cart, and checkout pages by default. Use the exclude feature if you want it hidden on checkout.

= How do I change the brand colour to match my site? =

Settings → Accessibility Options → Appearance → Brand colour. Click the colour swatch to open the WordPress colour picker.

= Is it translation-ready? =

Yes. All user-facing strings use `__()` / `_e()` with the `accesskit-accessibility-toolbar` text domain. A `.pot` file is included.

= Does the Text To Speech feature use a paid API? =

No. It uses the browser's built-in Web Speech API (`window.speechSynthesis`), which is free and supported in all modern browsers. Voice quality varies by operating system.

= Can I use this plugin commercially on client sites? =

Yes. The plugin is GPL-2.0-or-later. You can use it on unlimited sites, including paid client work.

= Will this make my site WCAG-compliant automatically? =

It helps with the part of WCAG that concerns user-adaptable content (text scaling, contrast adjustment, etc.). Other WCAG requirements — such as semantic HTML, alt text, and keyboard navigation — depend on your theme and content. Use a separate audit tool like axe DevTools to check those.

== Screenshots ==

1. The accessibility panel open on a real-world site, showing all 13 feature cards with the active state on Bigger Text.
2. Side-by-side comparison: Bigger Text and Highlight Links applied. Links become high-contrast buttons that stand out against body copy.
3. Settings page — Appearance tab. Configure brand colour, panel background, reset button colour, position, and launcher title with the WordPress colour picker.
4. Settings page — Features tab. Enable or disable individual feature cards. All 13 features are enabled by default.
5. The launcher pill in the bottom-left corner — small, unobtrusive, always one tap away. Activates with the keyboard shortcut Ctrl+F2 too.

== Changelog ==

= 1.0.0 =
* Initial release.
* 13 accessibility features: text scaling, spacing, dyslexia-friendly font, ADHD focus mode, saturation, invert, link highlight, text-to-speech, big cursor, pause animation, hide images.
* Settings page with three tabs (Appearance, Features, Advanced).
* WordPress color picker for brand customisation.
* Translation-ready with POT file.
* Multisite-aware uninstall cleanup.

== Upgrade Notice ==

= 1.0.0 =
First public release.
