AcceGuru – Accessibility Scanner, Auto-Fixer & AI Alt Text

Description

AcceGuru helps identify and address accessibility issues related to WCAG 2.0 / 2.1 / 2.2, Section 508 and EN 301 549. Automated testing cannot establish legal compliance or complete WCAG conformance; manual review is still required.

The axe-core scanner checks selected posts, pages and public custom post types from one dashboard. Saved results appear in the Block Editor sidebar and A11y post-list column, while the front-end overlay highlights affected elements on the live page.

AcceGuru also provides toggleable accessibility fixers, site-wide ignored rules, optional AI-generated alt text using your own provider key, and an accessibility statement generator.

Key features

  • axe-core plus AcceGuru checks, filtered by the selected WCAG level and recommended-checks setting
  • Dashboard scan with progress, pause/resume, failed-page retry, log export and content-type coverage
  • Block Editor sidebar, A11y post-list column and front-end issue highlighter
  • 13 independently toggleable fixers and site-wide ignored rules
  • Optional single, bulk and on-upload AI alt-text generation
  • Accessibility statement page, shortcode and optional footer link
  • Translation-ready (text domain acceguru)

Auto-fixers

Low-impact fixes are enabled on install. Appearance-changing fixes are off by default. Settings -> Fixers provides separate controls for skip links, focus outlines, language attributes, search and comment-form labels, empty searches, new-window and document-link labels, link underlines, video controls, positive tabindex, redundant titles and viewport scaling.

Standards coverage

  • WCAG 2.0 / 2.1 / 2.2 – selectable levels A, AA and AAA
  • Recommended checks – optional axe-core and AcceGuru checks that are not formal WCAG failures
  • Section 508 and EN 301 549 – optional axe-core tagged rules

Accessibility requirements vary by jurisdiction. AcceGuru does not determine or guarantee legal compliance or complete WCAG conformance.

AI providers

AI alt text is optional and uses an API key supplied by the site owner. Supported providers are OpenAI, Anthropic, Google Gemini and Mistral. Keys are encrypted at rest using the WordPress authentication salt. See Privacy below for exactly when data is sent and for provider terms and privacy policies.

Privacy

AcceGuru does not phone home and has no analytics, telemetry, third-party trackers or remote license validation. The scanner runs in the browser and scan results stay on your site.

AI features are optional. When you request alt text for one image, run Bulk Alt Text, or enable automatic generation on upload, AcceGuru sends the image content and a text prompt from your server to the selected provider. Testing an API key sends only a short text prompt; Bulk Alt Text performs this test before processing images. When media is stored remotely or served through an offloaded-media/CDN URL, AcceGuru may first fetch that attachment URL. No provider request is made unless an administrator configures an AI provider and API key. Requests occur when an authorized user generates alt text, an administrator tests a key or starts bulk generation, or automatic generation on upload has been enabled.

Provider information:

  • OpenAI – https://openai.com/ · https://openai.com/policies/services-agreement/ · https://openai.com/policies/privacy-policy/
  • Anthropic – https://www.anthropic.com/ · https://www.anthropic.com/legal/commercial-terms · https://www.anthropic.com/legal/privacy
  • Google Gemini – https://ai.google.dev/ · https://ai.google.dev/gemini-api/terms · https://policies.google.com/privacy
  • Mistral – https://mistral.ai/ · https://mistral.ai/terms/ · https://legal.mistral.ai/terms/privacy-policy

Data stored in your database

  • wp_options – settings, ignored-rules list, encrypted AI API keys (under acceguru_*)
  • wp_postmeta – per-post scan results and scan summary (under _acceguru_*)
  • wp_options transients – dashboard aggregate cache (1 hour TTL)

On uninstall, data is preserved by default. The plugin replaces its shortcode on the tracked accessibility-statement page with a final static statement, so the published page remains readable without AcceGuru. Enable “Delete all data on uninstall” under Settings -> Rules, in the Advanced section, to remove plugin options, transients and post metadata and move the tracked statement page to the Trash. A page that no longer contains the AcceGuru shortcode is left untouched.

Credits

This plugin bundles axe-core (assets/js/axe.min.js, version 4.12.1), the accessibility testing engine by Deque Systems, licensed under the Mozilla Public License 2.0. Unminified source: https://github.com/dequelabs/axe-core/tree/v4.12.1

The bundled DM Sans and JetBrains Mono fonts are licensed under the SIL Open Font License 1.1. The full license is in assets/fonts/OFL.txt.

Screenshots

Installation

  1. Upload the acceguru folder to /wp-content/plugins/, or install via Plugins -> Add New.
  2. Activate the plugin through the Plugins screen.
  3. Go to AcceGuru -> Settings to enable the fixers you want.
  4. (Optional) Add an API key under AI Alt Text if you want AI-generated alt text.
  5. Run a site scan from AcceGuru -> Dashboard.
  6. Open any scanned post or page in the Block Editor to review its saved results.

FAQ

Does this make my site WCAG compliant automatically?

No. Automated testing covers only part of accessibility. Manual review is still required for matters such as meaningful headings, link purpose, keyboard interaction and reading order. AcceGuru does not determine or guarantee legal compliance or complete WCAG conformance.

Where are AI API keys stored?

In wp_options, encrypted with AES-256-GCM using a key derived from wp_salt('auth'). If the server lacks the required OpenSSL support, the key is not saved unencrypted. It is sent only to the configured provider.

Does the scanner slow down my site?

The scanner is not loaded for normal visitors. axe-core is lazy-loaded for an authorized user only when a dashboard scan or front-end overlay scan is requested.

Which post types does the A11y column appear on?

Posts, pages, and public custom post types that use the standard WordPress posts list table. Media Library attachments are not included.

Can I exclude specific issues or rules?

Yes. Use the “Ignore” button on the dashboard’s Most Common Issues panel to hide a rule site-wide; ignored rules are excluded from dashboard counts and per-page panels.

Does it work with block themes?

Yes. The fixers support block themes, including theme.json styles.

Why does the dashboard count differ from what I see in the front-end overlay?

The site scan uses a desktop-sized viewport based on the administrator’s browser, with a minimum of 1024×768. The overlay uses the current live viewport, so layout-dependent results can differ.

How is Passed Checks calculated?

Passed Checks is the percentage of completed axe-core checks that passed. AcceGuru findings appear in issue totals and lists but are not mixed into that percentage. Results are marked for a new scan after relevant settings or rules change.

Why do some pages show “Timed out after 30s” in the scan log?

Each page has a 30-second limit. Slow hosting, heavy themes/plugins or third-party scripts can cause a timeout; use “Retry failed pages” after the server recovers.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“AcceGuru – Accessibility Scanner, Auto-Fixer & AI Alt Text” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.1

  • Update the bundled axe-core accessibility engine from 4.10.2 to 4.12.1.
  • Apply WCAG level and recommended-check settings consistently to axe-core and AcceGuru checks.
  • Correct rule classifications, remove duplicate findings and calculate Passed Checks from axe-core results only.
  • Mark incompatible saved results for a new scan and prevent pause/resume or retry from mixing scan profiles.
  • Preserve a readable static accessibility statement, or trash the tracked statement page when uninstall data removal is enabled.
  • Add OpenAI and Anthropic alt-text providers alongside Gemini and Mistral.
  • Add failed-page retry, bounded scan logs, iframe message validation, navigation warnings and content-type coverage information.
  • Make the live overlay keyboard accessible and clean up highlights and event listeners after every scan.
  • Improve the dashboard, settings, Block Editor links and alt-text handling.

Earlier release history is available in changelog.txt.