Title: WOWStudio Accessibility Remediation
Author: WOWStudio
Published: <strong>September 23, 2026</strong>
Last modified: September 23, 2026

---

Search plugins

![](https://ps.w.org/wowstudio-accessibility-remediation/assets/banner-772x250.png?
rev=3708637)

![](https://ps.w.org/wowstudio-accessibility-remediation/assets/icon-256x256.png?
rev=3708637)

# WOWStudio Accessibility Remediation

 By [WOWStudio](https://profiles.wordpress.org/wowstudioplugin/)

[Download](https://downloads.wordpress.org/plugin/wowstudio-accessibility-remediation.1.0.4.zip)

 * [Details](https://wordpress.org/plugins/wowstudio-accessibility-remediation/#description)
 * [Reviews](https://wordpress.org/plugins/wowstudio-accessibility-remediation/#reviews)
 *  [Installation](https://wordpress.org/plugins/wowstudio-accessibility-remediation/#installation)
 * [Development](https://wordpress.org/plugins/wowstudio-accessibility-remediation/#developers)

 [Support](https://wordpress.org/support/plugin/wowstudio-accessibility-remediation/)

## Description

WOWStudio Accessibility Remediation helps you **find, fix and document** accessibility
issues in your WordPress site. It scans your pages against WCAG 2.2 A and AA success
criteria, explains what it found in plain language, and proposes real changes to
your markup that you review before anything is applied.

It is not an accessibility overlay. Nothing is injected into your front end, and
no widget or toolbar is added for your visitors. Fixes are changes to the code itself.

#### How it works

 * **Scan, twice.** A server-side scan reads the rendered HTML and checks it against
   a registry of WCAG rules. A second pass then runs in your browser, on the page
   as it was actually painted, to check the things no parser can know: real contrast,
   real target sizes, real layout. No external service is contacted for either.
 * **See it.** The inspector puts the findings beside a live preview of the page.
   Choosing a finding highlights the element it is about, so you are never left 
   guessing which paragraph or which button.
 * **Understand.** Every issue is tagged with its WCAG success criterion and severity,
   and labelled either _auto-detected_ or _needs manual review_.
 * **Fix.** Suggested markup fixes are shown as a preview and a diff, and applied
   fixes are stored in a reversible override layer that never overwrites your content.
   Findings caused by styling instead get a style rule, written into your own Additional
   CSS — where you can read, edit or delete it without this plugin.
 * **Check the fix worked.** After a style rule is applied, the page is loaded again
   and measured again. If something in your theme overrode the rule, you are told
   that, rather than being told it is fixed.
 * **Check how hard it is to read.** Pages are measured against the Flesch–Kincaid
   grade level, and you can add a plain-language summary where the text is heavy
   going.
 * **Describe your images.** One screen lists every image in your media library 
   that has never been described, with a field beside each. Type, save, move on —
   instead of opening forty media screens.
 * **Do it site-wide.** Check every page and post in one run, in the background.
   There is no page limit and no paid tier.
 * **Document.** Generate an accessibility statement you edit and publish, including
   the feedback contact mechanism European rules expect.

#### Honesty about what automated testing can do

Automated testing can only detect part of WCAG. Many criteria — meaningful sequence,
focus order, whether your alt text is actually accurate — require a human being.
This plugin tells you which is which, in a coverage panel you can read at any time,
and it will never report your site as finished.

This plugin **does not** determine or certify whether your site complies with the
ADA, the European Accessibility Act, Section 508, AODA, the UK Equality Act, or 
any other law. It is a tool that helps you do accessibility work and keep a record
of it. It is not legal advice, and it is not a substitute for testing with disabled
users.

#### What it will not do

 * No front-end accessibility widget, toolbar, or overlay.
 * No silent changes to your content. Every fix is reviewed by a person first.
 * No claim, anywhere, that your site is compliant, certified, or protected from
   legal action.
 * No conformance document published without your explicit review and attestation.

### Bundled libraries

This plugin bundles **Action Scheduler** by Automattic, which runs the
 background
work — checking many pages at once — so that long jobs never block an admin page
or time out half-finished. It is licensed GPLv3 or later; this plugin’s own code
is GPLv2 or later.

Action Scheduler makes no outbound requests of its own. Source and documentation:

https://actionscheduler.org

### Source code and how to build it

Every line of this plugin is public, including the JavaScript and CSS that ship

compiled:

https://github.com/wowstudio-dev/WOWStudio-Accessibility-Remediation

The admin interface is React, built with @wordpress/scripts (webpack and
 Babel),
and the styles are Sass. What ships in `build/` is generated from assets/src/ in
that repository:

 * `build/index.js` from `assets/src/index.js` — the admin screens
 * `build/style-index.css` from `assets/src/style.scss`
 * `build/editor.js` from `assets/src/editor/index.js` — the block editor panel
 * `build/editor.css` from `assets/src/editor/editor.scss`
 * `build/blocks/statement/index.js` from `assets/src/blocks/statement/index.js`
   —
   the accessibility statement block
 * `build/blocks/statement/style-index.css` from
    assets/src/blocks/statement/style.
   scss

Each stylesheet also has an `-rtl` counterpart, generated for right-to-left
 locales
from the same source.

To build it yourself, from a clone of that repository:

    ```
    npm install then `npm run build` produces `build/`.
    composer install --no-dev --optimize-autoloader produces `vendor/`.
    bin/build.sh --zip does both and assembles the distributable zip.

    npm run start rebuilds on change while developing, and `bash bin/gate.sh`
    ```

runs the ten checks — tests, linters, static analysis and the guards — that
 every
commit has to pass.

Not everything is compiled. `assets/front/site-fixes.js` is the only JavaScript

this plugin puts on the front end, and it ships exactly as it was written: readable,
commented, and loaded only when a site-wide fix that needs it is switched on.

### External services

This plugin contacts no external service, ever. There is no API, no account, no

telemetry, and no phone-home. The scanner, the fixes, the alt-text screen, the statement
generator and the reports all run entirely on your own site, and the plugin works
the same whether or not the server can reach the internet.

That is also why there are no scanning limits. Nothing is metered because
 nothing
is being paid for per page.

## Screenshots

[⌊The report. What was found across everything checked, what needs a person rather
than a machine, and what each figure is made of. Every bar opens the findings behind
it.⌉⌊The report. What was found across everything checked, what needs a person rather
than a machine, and what each figure is made of. Every bar opens the findings behind
it.⌉[

The report. What was found across everything checked, what needs a person rather
than a machine, and what each figure is made of. Every bar opens the findings behind
it.

[⌊A page being inspected. The findings sit beside a live preview of the page, and
choosing one highlights the element it is about, so you are never guessing which
paragraph or which button.⌉⌊A page being inspected. The findings sit beside a live
preview of the page, and choosing one highlights the element it is about, so you
are never guessing which paragraph or which button.⌉[

A page being inspected. The findings sit beside a live preview of the page, and 
choosing one highlights the element it is about, so you are never guessing which
paragraph or which button.

[⌊Choosing what to check. Posts and pages, with what is already known about each,
checked in the background so nothing blocks the admin.⌉⌊Choosing what to check. 
Posts and pages, with what is already known about each, checked in the background
so nothing blocks the admin.⌉[

Choosing what to check. Posts and pages, with what is already known about each, 
checked in the background so nothing blocks the admin.

[⌊Images that have never been described, with a field beside each. What you write
goes into WordPress's own alt text, so it applies everywhere the image is used and
stays behind if this plugin is removed.⌉⌊Images that have never been described, 
with a field beside each. What you write goes into WordPress's own alt text, so 
it applies everywhere the image is used and stays behind if this plugin is removed
.⌉[

Images that have never been described, with a field beside each. What you write 
goes into WordPress’s own alt text, so it applies everywhere the image is used and
stays behind if this plugin is removed.

[⌊Site-wide fixes. Switches that supply what a theme leaves out — a skip link, a
visible focus outline, a page title. Each one says what it might disturb before 
you turn it on.⌉⌊Site-wide fixes. Switches that supply what a theme leaves out —
a skip link, a visible focus outline, a page title. Each one says what it might 
disturb before you turn it on.⌉[

Site-wide fixes. Switches that supply what a theme leaves out — a skip link, a visible
focus outline, a page title. Each one says what it might disturb before you turn
it on.

[⌊The accessibility statement. A draft you review, edit and attest to, including
the feedback contact mechanism European rules expect. The plugin never asserts conformance
on your behalf.⌉⌊The accessibility statement. A draft you review, edit and attest
to, including the feedback contact mechanism European rules expect. The plugin never
asserts conformance on your behalf.⌉[

The accessibility statement. A draft you review, edit and attest to, including the
feedback contact mechanism European rules expect. The plugin never asserts conformance
on your behalf.

[⌊The setup, on first activation. Three steps, none of them mandatory, and nothing
switched on for you.⌉⌊The setup, on first activation. Three steps, none of them 
mandatory, and nothing switched on for you.⌉[

The setup, on first activation. Three steps, none of them mandatory, and nothing
switched on for you.

## Blocks

This plugin provides 1 block.

 *   Accessibility statement Shows the accessibility statement you have written 
   in the Accessibility settings, including the route for reporting a problem.

## Installation

 1. Upload the plugin to `/wp-content/plugins/wowstudio-accessibility-remediation`,
    or install it through **Plugins  Add New**.
 2. Activate it through the **Plugins** menu.
 3. Open **Accessibility Remediation** in the admin menu and run your first scan.

## FAQ

### Will this make my site compliant?

No, and be careful of any tool that says it will. Accessibility conformance is a
property of your site and your organisation’s practices, not something a plugin 
can confer. This plugin helps you find issues, fix them properly, document what 
you did, and notice when something regresses. The remaining work — manual testing,
testing with disabled users, editorial judgement — is yours.

### Is this an accessibility overlay?

No. Overlays layer a script over your site at run time and are widely criticised
by disabled users, and have drawn regulatory action. This plugin changes the underlying
markup instead, and adds nothing to your front end for visitors.

### Can I undo a fix?

Yes. Fixes are stored in a reversible override layer rather than being written over
your content, and each one can be reverted.

### Does it use AI?

No. Nothing here is generated, and nothing is sent anywhere. Where an answer depends
on what your content means — what an image is for, what a link promises — the plugin
says so and gives you the fastest way to write it yourself, rather than producing
a plausible sentence and leaving you to notice it is wrong.

### Is any of it paid?

No. Everything in this plugin is free, including checking your whole site at once.
There are no locked buttons and no upgrade prompts.

### Where is the alt text saved?

In WordPress’s own alt text field on the media item. It therefore applies everywhere
that image is used, works with every theme and plugin, and stays behind if you remove
this plugin.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“WOWStudio Accessibility Remediation” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ WOWStudio ](https://profiles.wordpress.org/wowstudioplugin/)

[Translate “WOWStudio Accessibility Remediation” into your language.](https://translate.wordpress.org/projects/wp-plugins/wowstudio-accessibility-remediation)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/wowstudio-accessibility-remediation/),
check out the [SVN repository](https://plugins.svn.wordpress.org/wowstudio-accessibility-remediation/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/wowstudio-accessibility-remediation/)
by [RSS](https://plugins.trac.wordpress.org/log/wowstudio-accessibility-remediation/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.4

 * Fixed: viewing the findings report now requires the reports capability rather
   than the scanning one.
 * Fixed: findings are no longer listed for pages the viewer is not allowed to read,
   which could happen when a page was made private after being scanned.

#### 1.0.3

 * Fixed: choosing to delete plugin data on uninstall now removes all of it. Four
   settings were being left behind.
 * Fixed: the licence file still carried the plugin’s former name.

#### 1.0.2

Changes from the second WordPress.org review round.

 * The readme now links the public source repository and documents the build, as
   the guidelines require for plugins that ship compiled JavaScript and CSS.

#### 1.0.1

Changes from the WordPress.org review round, before the first release reached anybody.

 * Renamed from “WOWStudio Accessibility Kit”. The old name was too close to other
   plugins in the directory, and “remediation” is the thing that actually distinguishes
   this one.
 * Site-wide fix styles and the admin column’s styles are enqueued rather than printed
   inline.
 * Activating the plugin no longer redirects you. The setup is still there; the 
   plugin’s own dashboard opens on it until you have been through it.

#### 1.0.0

First public release.

 * Finds accessibility problems on your posts and pages, checking against WCAG 2.2
   A and AA with 41 checks across two passes — one on the server that reads the 
   rendered HTML, and one in your own browser for the things no parser can know:
   real contrast, real target sizes, real layout.
 * Puts every finding beside a live preview of the page it is on, so choosing one
   highlights the element it is about.
 * Fixes what can honestly be fixed from here. Markup fixes are shown as a preview
   and a diff and stored in a reversible layer that never overwrites your content;
   styling problems get a rule written into your own Additional CSS, weighted so
   it actually wins against your theme, then measured again to confirm it worked.
 * 14 site-wide fixes for the things a theme leaves out — skip link, focus outline,
   page title, form labels and more — each one stating what it might disturb before
   you switch it on. Nothing is on by default.
 * Lists every image in your media library that has never been described, with a
   field beside each. What you write goes into WordPress’s own alt text, so it applies
   everywhere and stays behind if you remove this plugin.
 * Generates an accessibility statement you review, edit and attest to, including
   the feedback contact mechanism European rules expect.
 * Labels every finding as either settled by an automated check or needing a person
   to look at it, and says plainly which parts of WCAG automation cannot reach.
 * Contacts no external service. No API, no account, no telemetry, no phone-home—
   which is also why there are no scanning limits.
 * Free, all of it. No paid tier, no locked controls, no upgrade prompts.

The plugin was built over 29 development versions before this one. None of them

were released publicly; the full history is in CHANGELOG.md in the repository linked
above.

## Meta

 *  Version **1.0.4**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.8 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [a11y](https://wordpress.org/plugins/tags/a11y/)[accessibility](https://wordpress.org/plugins/tags/accessibility/)
   [Alt Text](https://wordpress.org/plugins/tags/alt-text/)[wcag](https://wordpress.org/plugins/tags/wcag/)
 *  [Advanced View](https://wordpress.org/plugins/wowstudio-accessibility-remediation/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/wowstudio-accessibility-remediation/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/wowstudio-accessibility-remediation/reviews/)

## Contributors

 *   [ WOWStudio ](https://profiles.wordpress.org/wowstudioplugin/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/wowstudio-accessibility-remediation/)