reala11y – Accessibility Checker & Auto-Fix: WCAG 2.2 Scanner, AI Alt Text, ADA & EAA Audit
Accessibility checker & auto-fix: audit posts for WCAG issues, fix them at the code level, add AI alt text. A real fix, not an overlay widget.
Use with caution
reala11y works, but test it on a staging site before relying on it in 2026. Was last updated 2 weeks ago, and scores 59/100 on our health check.
- Actively developed — last update 2 weeks ago
- Small user base (<10 active installs)
- Very few reviews so far
- Needs PHP 8.1 or newer
How does it stack up?
Side-by-side on installs, updates, ratings & supportDaily downloads
Download spikes usually follow a new release — each site that auto-updates counts as a download.
Rankings
Where reala11y stands todayWordPress.org search rankings
Live position in the plugin search, top 100| Keyword | Position |
|---|---|
| accessibility | >100 |
| accessibility checker | #76 |
| ada | #98 |
| EAA | #49 |
| wcag | >100 |
About reala11y
From the official readme · v1.14.0Description
reala11y is a WordPress accessibility plugin that audits your posts and pages for WCAG issues and fixes them at the code level — a skip link, a visible focus outline, minimum target size, a main landmark, rel=”noopener” on new-tab links, duplicate-id and positive-tabindex cleanup, restored pinch-zoom, and redundant image and tag-cloud title removal. Unlike accessibility overlay widgets, reala11y modifies the underlying HTML, so screen readers and keyboard users encounter the corrected page. It helps your site move toward WCAG 2.2 AA conformance and helps you prepare documentation for ADA and European Accessibility Act (EAA) compliance efforts — honestly, without pretending any tool can do the whole job.
What reala11y does
- Scans posts, pages, and same-site URLs against a 26-rule WCAG library, grouped by severity with the exact success criterion and code snippet for each finding.
- Builds a site-wide work list — findings grouped by rule rather than by page, so one missing skip link in your theme reads as a single job affecting twelve pages, not twelve separate issues. Rules found on every page scanned are called out as likely coming from your theme or a template.
- Applies safe, automated fixes at the code level (per-rule on/off, every change logged, one-click rollback).
- Fixes low-contrast palette colours — the most common accessibility problem on the web. Offers your own colour darkened or lightened just far enough to pass, and applies it as a custom colour on that block if you accept.
- Uses the alt text you already wrote — images missing alt are described from your Media Library as the page is served, leaving images you described or marked decorative untouched.
- Suggests link text from the destination — a link that reads “read more” is offered the title of the page it actually opens, ready to accept or reword. No AI key required; it stays quiet when the destination is off-site, unpublished, or no better named than the link itself.
- Exports findings as CSV — one row per issue with the page it is on, ready to hand to a developer or track in a spreadsheet.
- Lets you mute rules you have judged — muted rules leave the work list but stay in every scan and in the CSV export, listed separately. Triage, not denial.
- Checks content while you write — a block-editor sidebar runs the same rules against the post you are editing.
- Inspects the live page — an author-only inspector overlays findings on the actual front end. Visitors never see it, and logged-out visitors receive zero reala11y code.
- Suggests image alt text with your own AI key (OpenAI, Anthropic, or Google Gemini) — you review every suggestion before it is applied.
- Tests colour contrast — a built-in checker for any foreground/background pair against WCAG AA and AAA.
- Generates documentation — a customizable accessibility statement, a VPAT starter, and a conformance report to document your remediation work.
WCAG 2.0, 2.1 and 2.2 support
The rule library spans success criteria introduced across WCAG 2.0 (alt text, form labels, language of page, colour contrast), WCAG 2.1, and WCAG 2.2 — including 2.5.8 Target Size, new at level AA in 2.2. The free plugin scans against the full, current WCAG 2.2 AA profile. reala11y Pro adds version-targeted scan profiles — WCAG 2.0 AA (the level referenced by Section 508) and WCAG 2.1 AA (referenced by EN 301 549, the technical standard behind the European Accessibility Act) — for teams that need to report against a specific version.
Help with ADA, EAA and Section 508 compliance efforts
Courts and regulators reference WCAG when they evaluate website accessibility. reala11y detects those WCAG issues, fixes the ones automation can fix safely, and generates the paperwork your compliance effort needs: an accessibility statement template, a Voluntary Product Accessibility Template (VPAT) starter for Section 508, a conformance report, and a CSV of findings for your developer or auditor. It reduces the volume of issues a human auditor must triage — it does not replace the auditor.
What reala11y does NOT do
- It does not guarantee WCAG, ADA, EAA, or Section 508 compliance. Automated tools detect approximately 30–40% of WCAG failures by criteria. Full conformance requires human review.
- It is not an overlay widget. The Federal Trade Commission’s April 21, 2025 order against accessiBe affirmed that overlay claims of automatic WCAG conformance are not supportable.
- It does not run your site’s JavaScript. reala11y checks the HTML your server sends, so anything a script adds after the page loads — a cookie banner, a slider, a modal, content in a single-page app — is not checked. If a page’s content is built in the browser, the scan says so on that page rather than reporting a low issue count as if it were good news.
External services
reala11y is self-contained and contacts third-party services only as described below, and only when the relevant feature is used.
-
WordPress.org — used for plugin update checks, as for any plugin hosted here. No personal data is sent beyond the standard update request.
-
AI providers — OpenAI, Anthropic, and Google Gemini (optional, bring-your-own-key). The AI authoring features (for example, alt-text suggestions) stay off until you enter your own API key for a provider and run a feature. When you run a feature, reala11y uses your key to send that provider the input you selected — for example, the URL of an image or a block of your post’s text — together with a short instruction prompt. The response is shown to you for review and is never applied automatically. reala11y does not proxy or resell AI usage; the provider bills you directly. Remove a provider’s key to disable it.
- OpenAI — Terms: https://openai.com/policies/terms-of-use/ — Privacy: https://openai.com/policies/privacy-policy/
- Anthropic — Terms: https://www.anthropic.com/legal/commercial-terms — Privacy: https://www.anthropic.com/legal/privacy
- Google Gemini — Terms: https://ai.google.dev/gemini-api/terms — Privacy: https://policies.google.com/privacy
-
Freemius — the licensing service for the optional, separately sold reala11y Pro add-on. The SDK ships in this plugin so the add-on can license itself, but it sends nothing anywhere unless you explicitly opt in on the one-time screen shown after activation — choosing “Skip” keeps everything local, permanently, and every feature of this free plugin works identically either way. If you do opt in, Freemius receives basic diagnostic data (site URL, WordPress/PHP versions, admin email, and this plugin’s activation state) to power update notices and, for Pro customers, license checks.
- Freemius — Terms: https://freemius.com/terms/ — Privacy: https://freemius.com/privacy/
See our privacy policy at https://reala11y.com/legal/privacy.
Source code
reala11y is open source (GPLv2 or later). The admin interface is written in React and TypeScript and bundled with Vite. The human-readable source for the compiled files in build/admin/ ships with the plugin under admin/src/. To rebuild it, run “npm install” and then “npm run build” in the plugin’s admin/ directory.
Why reala11y
- Code-level remediation, not an overlay widget.
- A work list that answers “what should I fix first?” instead of drowning you in per-page findings.
- WCAG 2.2 rules (including 2.5.8 Target Size and the focus criteria), with WCAG 2.0 / 2.1 scan profiles in Pro.
- Bring-your-own AI key — no surprise quotas, no resold tokens.
- Honest claims. We never tell you you’re “fully compliant.”
Links
- Website and documentation: https://reala11y.com
- How reala11y compares to overlay widgets: https://reala11y.com/vs/accessibe and https://reala11y.com/vs/userway
- Our own accessibility statement: https://reala11y.com/accessibility-statement
Installation
- Upload the plugin to /wp-content/plugins/reala11y/ or install via the Plugins screen.
- Activate “reala11y” from the Plugins screen.
- Go to “reala11y” in the WordPress admin to configure.
Frequently asked questions
Does this make my site WCAG compliant?
No tool can. reala11y identifies common WCAG issues and remediates a defined subset at the code level. Full conformance requires manual review and user testing.
Do I need an API key for AI features?
Yes — bring your own OpenAI, Anthropic, or Google Gemini key. The AI authoring features then work in this free version at no extra charge from us; your provider bills you directly for what you use. reala11y never resells or proxies AI usage.
How does this compare to accessibility overlay widgets?
Overlay widgets (e.g., accessiBe, UserWay) inject a floating JavaScript layer that does not modify the underlying HTML. Screen readers continue to see the original, unfixed page. The FTC fined accessiBe $1,000,000 on April 21, 2025 for claiming automated WCAG compliance. reala11y instead applies fixes to the actual HTML that browsers, screen readers, and crawlers see.
What WCAG version do you cover?
The free plugin scans against the full WCAG 2.2 AA profile — the current W3C Recommendation (October 5, 2023). Its 26-rule library spans success criteria introduced across WCAG 2.0, 2.1, and 2.2. reala11y Pro adds version-targeted scan profiles for WCAG 2.0 AA (the level referenced by Section 508) and WCAG 2.1 AA (referenced by EN 301 549, the standard behind the European Accessibility Act), for teams that need to report against a specific version.
Does reala11y help with the European Accessibility Act (EAA)?
The EAA became enforceable on June 28, 2025, and its technical standard (EN 301 549) references WCAG 2.1 AA. reala11y detects WCAG issues on your pages, applies safe code-level fixes, and generates the documentation an EAA compliance effort typically needs — an accessibility statement template and a conformance report. Like all automated tools it detects a portion of WCAG issues; pair it with manual review, and consult a qualified accessibility professional for high-risk sites.
Is reala11y an alternative to accessiBe or UserWay?
If you are looking for an accessiBe or UserWay alternative that fixes the underlying HTML instead of layering a JavaScript widget on top, reala11y is built for that. Overlay widgets leave the original page unchanged for screen readers; reala11y edits the actual code. As context, the FTC fined accessiBe $1,000,000 on April 21, 2025 over automated WCAG compliance claims.
Can it generate alt text for my images?
Yes. The scanner flags images missing alt text (WCAG 1.1.1), and the bring-your-own-key AI tools can draft an alt-text suggestion using your own OpenAI, Anthropic, or Google Gemini key. Every suggestion is shown for your review and is never applied automatically.
Will the automatic fixes break my site?
Nothing changes without your say-so. Out of the box reala11y only scans: no fix is applied automatically, because the “auto-apply safe fixes” setting is off by default. When you do apply one, reala11y makes only Tier 1 (“safe”) changes to your content — attribute-level edits that leave your text and markup structure alone. Examples: adding rel=”noopener” to a link that opens in a new tab, removing a duplicate id, or stripping a redundant title attribute from an image. (Removing an image’s title attribute also removes the tooltip some browsers show on hover. That is the intent: the tooltip…
Does reala11y slow down my site for visitors?
A visitor’s page never waits for a scan. Scans are queued and carried out in the background by WP-Cron: the worker fetches the page over a separate request, much as a browser would, then analyses the HTML that came back. (As with all WP-Cron work on a standard install, that background request can be set off by site traffic, but it runs on its own and does not hold up the page your visitor sees.) The optional render-time fixes (skip link, visible focus outline, minimum target size, main landmark, restored pinch-zoom) stay off until you enable them individually. Once enabled they add a small…
Does it work with my theme, or with Elementor, Divi, or Beaver Builder?
reala11y scans the HTML your site actually sends to the browser, so it sees whatever your theme or page builder rendered on the server, not just the raw post content. Render-time fixes apply to that same output. What it does not see is anything added afterwards by JavaScript in the visitor’s browser. Most Elementor, Divi and Beaver Builder content is rendered on the server and is checked normally, but a widget that builds itself in the browser is not. When a page looks like its content is assembled by JavaScript, the scan flags that page so a low issue count is not mistaken for a clean one.
How do I undo a fix?
Open the Fixes screen. Each applied fix is listed with a timestamp, and Undo restores the exact content from before it ran. If you would rather switch everything off at once without reverting each change, turn on Safe Mode.
Is my content sent anywhere?
Scanning and fixing happen entirely on your own server. The only outbound requests are the standard WordPress.org update check and — if, and only if, you add your own AI provider key and run an AI feature — the specific text or image you selected, sent to that provider under your own key. See “External services” above.
Does reala11y work on WordPress Multisite?
The free plugin can be activated on each site in a network and works per site. Managing many sites from the network admin — one roll-up dashboard, cross-site bulk scans, white-label reports — is the separate reala11y Pro add-on.
A scan is stuck on “queued” and never finishes
reala11y queues scans through WP-Cron, and the worker then fetches the page over an HTTP request back to your own site (a “loopback” request). If scans never leave “queued”, the two usual causes are: WP-Cron is turned off (DISABLE_WP_CRON is set to true in wp-config.php) and no real system cron job replaces it. The server blocks loopback requests to itself, which some hosts and local development environments do by default. Ask your host to allow loopback requests, or run wp-cron.php from a system cron job.
The scan finished, but I do not see the fixes on the front end
The render-time fixes — skip link, focus outline, minimum target size, main landmark, restored pinch-zoom — are opt-in. Enable the ones you want on the Fixes screen, and check that Safe Mode is off, since Safe Mode disables every fix at once.
Why does the dashboard not show a compliance score?
Because a single score would be misleading. Automated tools detect roughly 30–40% of WCAG failures by criteria; the rest need human judgement. reala11y shows what it found, what needs review, and what passed, so you can act on real issues rather than chase a number.
Changelog
Adds a one-click fix for low contrast between theme palette colours — the most common accessibility problem on the web. It offers your own colour, darkened or lightened just far enough to pass, rather than a different colour from the palette.
1.14.0
- A one-click colour fix for the most common accessibility problem on the web. Low contrast is found on 83.9% of home pages (WebAIM Million 2026), and reala11y could already tell you when two theme-palette colours were too close together — but not what to do about it. Now it offers a colour, and applies it if you want it.
- It keeps the colour you chose. The suggestion is your own colour, darkened or lightened just far enough to pass — not a different colour from the palette. We tried that first and measured it: the nearest passing palette colour was, on average, a completely different colour, because a palette is a dozen colours spread apart rather than a range of one. Being told to replace your brand red with near-black is not a fix anyone accepts.
- Applying sets it as a custom colour on that block — exactly what choosing “Custom” in the editor’s colour picker does — so the editor and the page agree afterwards. The change is logged and reversible like every other fix.
- It declines rather than risk your content: if a post’s block markup would not survive being re-saved unchanged, reala11y leaves it alone and says so, because editing it could alter more than the colour.
1.13.0
- Fixed: alt text you save is now actually used on your pages. Saving alt text on the Alt text screen writes it to your Media Library — but an image already placed in a post keeps whatever alt it was inserted with, so the page did not change and the very same finding came back on the next scan. You did the work, reala11y said it had saved, and nothing improved.
- New fix: “Use media library alt text.” Turn it on in Settings and reala11y fills in the missing alt on images as each page is served, using the description already saved against that image. Measured on a real install: an image reported as missing alt before turning it on, and no longer reported after.
- It only ever adds alt text that is missing. An image you have described is left exactly as you wrote it, and an image you deliberately marked decorative — an empty alt — stays decorative, because announcing a description you chose to silence would be a regression, not a fix.
- Images your Media Library has no description for are left alone rather than guessed at, and nothing else on the page is touched: across every page of a test site, the only difference was the added alt text.
- Off by default, like every render-time fix, and reversible by switching it off. It costs nothing on pages where every image is already described.
- The Alt text screen now says it saves to your Media Library, rather than “to the image”, and points you at the new setting.
1.12.0
- Suggested link text, taken from the page the link opens. When reala11y flags a link that reads “read more” or “click here”, the fix box now opens with the title of the destination already filled in, ready to accept or edit. Vague link text was the most common finding on the sites used to build this — close to a quarter of everything reported — and it was the one fixable finding that offered you nothing: an empty box, once per link, with the answer left to you. Your site already knows where each link goes.
- Nothing is generated and no AI key is involved, so this works on every install at no cost. The suggestion is simply the destination’s own title.
- It stays quiet rather than guessing. A link to another website, to a draft or private page, to an in-page anchor, or to a page whose title would make link text no better than “read more” gets no suggestion at all — a wrong suggestion accepted in one click is worse than none.
- Links with no text whatsoever — the ones reported as having no accessible name — are offered the same title as their name.
- As always, nothing is written until you click Apply, you can edit the wording first, and every change can be undone.
1.11.0
- Fixed: the repeated-link check no longer flags your theme’s post dates. The check added in 1.10.0 was meant to leave alone any link your theme already identifies — a date sitting beside a distinct post title, for instance. On some themes it did not: Twenty Twenty-Four nests its post dates deeper than the check looked, so a stock blog archive reported six problems that were not yours to fix. It now recognises the post card itself rather than counting how deeply the markup is nested, so it works the same whatever theme you use.
- Anthropic AI features now use Claude Sonnet 5 by default, with Claude Opus 5 as the opt-in upgrade. The previous default, Claude Haiku 4.5, is scheduled for retirement from October 15, 2026, and a model that stops answering would have broken the AI features for everyone using Anthropic. If you had chosen one of the older models yourself, reala11y still shows a cost estimate for it. OpenAI and Google Gemini are unchanged.
- Tested with WordPress 7.1. Compatibility is now checked automatically against both the oldest WordPress this plugin supports and the newest it is tested with, so the versions listed on this page are ones that are actually exercised rather than assumed.
1.10.0
- New check: several links that read the same but go to different places. This is the pattern a blog archive creates by default — a row of posts each ending in the same “Read the full review” or “Continue reading”. Someone using a screen reader often navigates by pulling up a list of the links on a page, and there they see the same words repeated with no way to tell which is which.
- It only reports links that nothing nearby identifies. If each link sits beside a distinct post title pointing to the same post — which is how most themes build an archive — the surrounding card already says where it goes, and the check stays quiet. Links repeated to the same destination are never reported either, since that is allowed and is not a naming problem.
- Generic wording such as “read more” is still reported by the existing link-text check rather than by both, so one line of markup is not flagged twice.
- The scanner now ships 26 checks in total; a WCAG 2.2 scan runs 25 of them.
1.9.0
- New check: low contrast between theme colours. Low contrast is the most common accessibility problem on the web — the WebAIM Million 2026 study found it on 83.9% of home pages, more than any other issue — and until now reala11y could only spot it when both colours were set directly on an element, which is rare. It now also catches the case you are most likely to create: choosing a text colour and a background colour from your theme’s palette in the editor that are too close together. It reads the actual colour values your theme publishes in the page, so it knows the real ratio rather than guessing.
- The new check stays quiet when it cannot be sure. Colours it cannot read exactly — such as ones built with
color-mix()— are skipped rather than guessed at, and if a section’s background cannot be determined the text inside it is left alone. A warning you cannot reproduce is worse than no warning. - Fixed: text sized at exactly 18pt was measured against the stricter small-text contrast requirement instead of the large-text one, so it could be reported as failing when it actually passed.
- The scanner now ships 25 checks in total; a WCAG 2.2 scan runs 24 of them (WCAG 2.2 removed the duplicate-ID criterion).
Screenshots
For developers
Is this your plugin? Show off the numbers.
Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.
Best reala11y alternatives
All accessibility plugins →FAQ
reala11y: quick answers
Straight answers, pulled from live WordPress.org data.
Live data from WordPress.org · checked Oct 4, 2026
Is reala11y free?
Yes. reala11y is free to download and use from the official WordPress.org plugin directory.
Is reala11y safe to use in 2026?
reala11y works, but test it on a staging site before relying on it in 2026. Was last updated 2 weeks ago, and scores 59/100 on our health check.
How many websites use reala11y?
reala11y is active on <10 WordPress websites and has been downloaded 819 times since it launched in June 2026. It was downloaded 284 times in the last 30 days.
Does reala11y work with WordPress 7.1?
reala11y is officially tested up to WordPress 7.0.6, while the latest release is 7.1.2. It may still work, but try it on a staging site first.
What PHP version does reala11y need?
reala11y requires PHP 8.1 or higher. Most hosts run PHP 8.x today, so it works on any modern WordPress hosting.
When was reala11y last updated?
The latest version, 1.14.0, was released on September 22, 2026 (2 weeks ago).
Who makes reala11y?
reala11y is developed and maintained by wkh0000.
What are the best alternatives to reala11y?
The most popular alternatives to reala11y are Web Accessibility (formally… (500K+ installs), Auto Image Attributes From… (100K+ installs) and Accessibility by UserWay (80K+ installs).
Powered by PageForge
Want thousands of pages that rank like these? Build them in an afternoon.
This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.
- CSV, Google Sheets & API data sources
- AI content, schema & internal links per page
- Works with Elementor, Gutenberg, Yoast & Rank Math
- Free on WordPress.org — no credit card