{"id":323251,"date":"2026-06-18T11:55:22","date_gmt":"2026-06-18T11:55:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/reala11y\/"},"modified":"2026-06-19T15:32:04","modified_gmt":"2026-06-19T15:32:04","slug":"reala11y","status":"publish","type":"plugin","link":"https:\/\/hau.wordpress.org\/plugins\/reala11y\/","author":23512574,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.0","requires":"6.4","requires_php":"8.1","requires_plugins":null,"header_name":"reala11y","header_author":"reala11y","header_description":"Real accessibility for real WordPress sites. Scans for WCAG 2.2 AA issues and applies safe, code-level fixes. Pairs automated scanning with manual review.","assets_banners_color":"fdfbf7","last_updated":"2026-06-19 15:32:04","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/reala11y.com","header_author_uri":"https:\/\/profiles.wordpress.org\/wkh0000\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":87,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"wkh0000","date":"2026-06-18 11:54:40"},"1.0.1":{"tag":"1.0.1","author":"wkh0000","date":"2026-06-18 13:09:49"},"1.1.0":{"tag":"1.1.0","author":"wkh0000","date":"2026-06-19 15:32:04"}},"upgrade_notice":{"1.1.0":"<p>Adds inline one-click fixes (alt text, link text, labels, colour contrast, icon-control names, heading levels) and an optional render-time theme-output fix layer that is off by default.<\/p>","1.0.1":"<p>Documentation and listing update: real admin screenshots, clearer copy, and project links. No code changes.<\/p>","1.0.0":"<p>First public release: 16-rule scanner, reversible auto-fix engine with Safe Mode, author-only Inspect-on-page overlay, BYOK AI suite, and compliance documents.<\/p>","0.6.0":"<p>First public release candidate: scanner, auto-fix engine, BYOK AI suite, and compliance documents.<\/p>","0.0.1":"<p>First development release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3577133,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3577133,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3577133,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3577133,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"reala11y\/accessibility-statement":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"reala11y\/accessibility-statement","version":"0.0.1","title":"Accessibility statement","category":"widgets","icon":"universal-access","description":"Embeds your generated accessibility statement (a reviewable template).","keywords":["accessibility","a11y","statement","wcag"],"textdomain":"reala11y","supports":{"html":false,"multiple":false},"editorScript":"file:.\/editor.js"}},"tagged_versions":["1.0.0","1.0.1","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3577231,"resolution":"1","location":"assets","locale":"","width":1280,"height":720},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3577231,"resolution":"2","location":"assets","locale":"","width":1280,"height":720},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3577231,"resolution":"3","location":"assets","locale":"","width":1280,"height":720},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3577231,"resolution":"4","location":"assets","locale":"","width":1280,"height":720},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3577231,"resolution":"5","location":"assets","locale":"","width":1280,"height":720},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3577231,"resolution":"6","location":"assets","locale":"","width":1280,"height":720},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3577231,"resolution":"7","location":"assets","locale":"","width":1280,"height":720}},"screenshots":{"1":"The reala11y dashboard \u2014 a plain-language overview of accessibility problems, items needing review, and passed checks (no single \"compliance score\").","2":"The Scans screen \u2014 run an accessibility scan on any post, page, or same-site URL, and review your scan history.","3":"The Issues list \u2014 each WCAG finding grouped by severity, with its success criterion and a code snippet, plus one-click dismiss.","4":"The Fixes screen \u2014 apply safe, code-level fixes to your content; every change is logged and reversible with one-click undo.","5":"AI authoring tools \u2014 bring your own OpenAI, Anthropic, or Google Gemini key (stored encrypted) to generate alt-text suggestions you review before applying. Free for everyone.","6":"The Tools screen \u2014 a built-in colour-contrast tester checks any foreground\/background pair against WCAG AA and AAA for normal and large text.","7":"The accessibility statement and reports \u2014 generate a customizable statement template, VPAT starter, and compliance report to document your remediation work."}},"plugin_section":[],"plugin_tags":[1953,209467,2682,17214,1956],"plugin_category":[34],"plugin_contributors":[267702],"plugin_business_model":[],"class_list":["post-323251","plugin","type-plugin","status-publish","hentry","plugin_tags-accessibility","plugin_tags-accessibility-checker","plugin_tags-ada","plugin_tags-alt-text","plugin_tags-wcag","plugin_category-accessibility","plugin_contributors-wkh0000","plugin_committers-wkh0000"],"banners":{"banner":"https:\/\/ps.w.org\/reala11y\/assets\/banner-772x250.png?rev=3577133","banner_2x":"https:\/\/ps.w.org\/reala11y\/assets\/banner-1544x500.png?rev=3577133","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/reala11y\/assets\/icon-128x128.png?rev=3577133","icon_2x":"https:\/\/ps.w.org\/reala11y\/assets\/icon-256x256.png?rev=3577133","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/reala11y\/assets\/screenshot-1.png?rev=3577231","caption":"The reala11y dashboard \u2014 a plain-language overview of accessibility problems, items needing review, and passed checks (no single \"compliance score\")."},{"src":"https:\/\/ps.w.org\/reala11y\/assets\/screenshot-2.png?rev=3577231","caption":"The Scans screen \u2014 run an accessibility scan on any post, page, or same-site URL, and review your scan history."},{"src":"https:\/\/ps.w.org\/reala11y\/assets\/screenshot-3.png?rev=3577231","caption":"The Issues list \u2014 each WCAG finding grouped by severity, with its success criterion and a code snippet, plus one-click dismiss."},{"src":"https:\/\/ps.w.org\/reala11y\/assets\/screenshot-4.png?rev=3577231","caption":"The Fixes screen \u2014 apply safe, code-level fixes to your content; every change is logged and reversible with one-click undo."},{"src":"https:\/\/ps.w.org\/reala11y\/assets\/screenshot-5.png?rev=3577231","caption":"AI authoring tools \u2014 bring your own OpenAI, Anthropic, or Google Gemini key (stored encrypted) to generate alt-text suggestions you review before applying. Free for everyone."},{"src":"https:\/\/ps.w.org\/reala11y\/assets\/screenshot-6.png?rev=3577231","caption":"The Tools screen \u2014 a built-in colour-contrast tester checks any foreground\/background pair against WCAG AA and AAA for normal and large text."},{"src":"https:\/\/ps.w.org\/reala11y\/assets\/screenshot-7.png?rev=3577231","caption":"The accessibility statement and reports \u2014 generate a customizable statement template, VPAT starter, and compliance report to document your remediation work."}],"raw_content":"<!--section=description-->\n<p>reala11y is a WordPress accessibility checker and scanner that helps your site move toward WCAG 2.2 AA conformance by scanning for common issues and applying safe, code-level fixes \u2014 skip links, focus outlines, language attributes, form labels, target-size, link purpose, and more. Unlike accessibility overlay widgets, reala11y modifies the underlying HTML so screen readers and keyboard users encounter the corrected page.<\/p>\n\n<h4>What reala11y does<\/h4>\n\n<ul>\n<li>Scans posts and pages against a WCAG 2.2 rule library.<\/li>\n<li>Applies safe, automated fixes at render time (per-rule on\/off, one-click rollback).<\/li>\n<li>Generates a customizable accessibility statement.<\/li>\n<li>Suggests image alt text with your own AI key (OpenAI, Anthropic, or Google Gemini) \u2014 you review every suggestion before it is applied.<\/li>\n<\/ul>\n\n<h4>What reala11y does NOT do<\/h4>\n\n<ul>\n<li>It does not guarantee WCAG, ADA, EAA, or Section 508 compliance. Automated tools detect approximately 30\u201340% of WCAG failures by criteria. Full conformance requires human review.<\/li>\n<li>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.<\/li>\n<\/ul>\n\n<h4>External services<\/h4>\n\n<p>reala11y is self-contained and contacts third-party services only as described below, and only when the relevant feature is used.<\/p>\n\n<ul>\n<li><p>WordPress.org \u2014 used for plugin update checks, as for any plugin hosted here. No personal data is sent beyond the standard update request.<\/p><\/li>\n<li><p>AI providers \u2014 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 \u2014 for example, the URL of an image or a block of your post's text \u2014 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.<\/p>\n\n<ul>\n<li>OpenAI \u2014 Terms: https:\/\/openai.com\/policies\/terms-of-use\/ \u2014 Privacy: https:\/\/openai.com\/policies\/privacy-policy\/<\/li>\n<li>Anthropic \u2014 Terms: https:\/\/www.anthropic.com\/legal\/commercial-terms \u2014 Privacy: https:\/\/www.anthropic.com\/legal\/privacy<\/li>\n<li>Google Gemini \u2014 Terms: https:\/\/ai.google.dev\/gemini-api\/terms \u2014 Privacy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<p>This free build does not bundle Freemius or any licensing or analytics service. See our privacy policy at https:\/\/reala11y.com\/legal\/privacy.<\/p>\n\n<h4>Source code<\/h4>\n\n<p>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.<\/p>\n\n<h4>Why reala11y<\/h4>\n\n<ul>\n<li>Code-level remediation, not an overlay widget.<\/li>\n<li>WCAG 2.2 (including 2.5.8 Target Size and the focus criteria).<\/li>\n<li>Bring-your-own AI key \u2014 no surprise quotas, no resold tokens.<\/li>\n<li>Honest claims. We never tell you you're \"fully compliant.\"<\/li>\n<\/ul>\n\n<h4>Links<\/h4>\n\n<ul>\n<li>Website and documentation: https:\/\/reala11y.com<\/li>\n<li>How reala11y compares to overlay widgets: https:\/\/reala11y.com\/vs\/accessibe and https:\/\/reala11y.com\/vs\/userway<\/li>\n<li>Our own accessibility statement: https:\/\/reala11y.com\/accessibility-statement<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to \/wp-content\/plugins\/reala11y\/ or install via the Plugins screen.<\/li>\n<li>Activate \"reala11y\" from the Plugins screen.<\/li>\n<li>Go to \"reala11y\" in the WordPress admin to configure.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20make%20my%20site%20wcag%20compliant%3F\"><h3>Does this make my site WCAG compliant?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20api%20key%20for%20ai%20features%3F\"><h3>Do I need an API key for AI features?<\/h3><\/dt>\n<dd><p>Yes \u2014 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.<\/p><\/dd>\n<dt id=\"how%20does%20this%20compare%20to%20accessibility%20overlay%20widgets%3F\"><h3>How does this compare to accessibility overlay widgets?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"what%20wcag%20version%20do%20you%20cover%3F\"><h3>What WCAG version do you cover?<\/h3><\/dt>\n<dd><p>WCAG 2.2 AA. WCAG 2.2 became a W3C Recommendation on October 5, 2023.<\/p><\/dd>\n<dt id=\"is%20reala11y%20an%20alternative%20to%20accessibe%20or%20userway%3F\"><h3>Is reala11y an alternative to accessiBe or UserWay?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"can%20it%20generate%20alt%20text%20for%20my%20images%3F\"><h3>Can it generate alt text for my images?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Fix issues inline, right where you see them. On a flagged issue (in the Issues list or the on-page checker) you can now type and apply the fix in one step: image alt text, descriptive text for vague links, accessible names for icon-only buttons and links, and form-field labels.<\/li>\n<li>Colour-contrast fixer: pick or auto-suggest an accessible text\/background pair and apply it, with a live contrast ratio and WCAG AA pass\/fail.<\/li>\n<li>Heading-level fixer: re-level a heading that skips a step, with an optional bring-your-own-key AI outline suggestion.<\/li>\n<li>New render-time theme-output fixes (off by default): a site-wide skip link, a visible keyboard-focus outline, a minimum target size, a main landmark, and restore-zoom. These inject real code (not an overlay) and are gated by Safe Mode; with the feature off, visitors get a byte-identical page.<\/li>\n<li>Every fix is reversible with one-click undo and is logged.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Listing refresh: real admin screenshots, clearer and more discoverable readme copy, and visible project links. No functional code changes.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<li>Scanner: 16 WCAG 2.2 rules across posts, pages, and rendered theme output.<\/li>\n<li>Auto-fix engine: safe, reversible, code-level fixes with per-fix toggles, one-click undo, and a Safe Mode kill-switch.<\/li>\n<li>Inspect on page: an author-only annotated overlay on the live site (logged-in editors only; visitors never see it).<\/li>\n<li>Dismiss issues with a structured reason and reopen them later.<\/li>\n<li>Colour Contrast Tester in the new Tools screen.<\/li>\n<li>BYOK AI authoring suite: bring your own OpenAI, Anthropic, or Google Gemini key \u2014 you pay your provider directly, never us.<\/li>\n<li>Accessibility statement generator, VPAT starter, and compliance report.<\/li>\n<li>Encrypted API-key storage and a clean uninstall.<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>Scanner: 12 WCAG 2.2 rules across posts, pages, and rendered theme output.<\/li>\n<li>Auto-fix engine: safe, reversible, code-level fixes with per-fix toggles and one-click undo.<\/li>\n<li>\"Scan this post\" button in the block-editor sidebar; scan any post or same-site URL from the Scans screen.<\/li>\n<li>BYOK AI authoring suite: bring your own OpenAI, Anthropic, or Google Gemini key \u2014 you pay your provider directly, never us.<\/li>\n<li>Accessibility statement generator, VPAT starter, and compliance report.<\/li>\n<li>Encrypted API-key storage and a clean uninstall.<\/li>\n<\/ul>\n\n<h4>0.0.1<\/h4>\n\n<ul>\n<li>Initial scaffold.<\/li>\n<\/ul>","raw_excerpt":"Accessibility checker for WordPress: scan for WCAG 2.2 issues, auto-fix them in the code, and add AI alt text. A real fix, not an overlay widget.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/323251","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=323251"}],"author":[{"embeddable":true,"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wkh0000"}],"wp:attachment":[{"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=323251"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=323251"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=323251"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=323251"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=323251"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=323251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}