{"id":368384,"date":"2026-09-22T04:36:18","date_gmt":"2026-09-22T04:36:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/exhibit-a-accessibility-audit\/"},"modified":"2026-09-22T04:35:47","modified_gmt":"2026-09-22T04:35:47","slug":"limen-accessibility-audit","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/limen-accessibility-audit\/","author":23565542,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Limen Accessibility Audit","header_author":"Limen","header_description":"Audits your site against WCAG 2.1 Level AA and shows the exact WordPress fix for each failure. Runs entirely in your browser \u2014 your pages are never uploaded anywhere.","assets_banners_color":"24262a","last_updated":"2026-09-22 04:35:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/limen.ae","rating":0,"author_block_rating":0,"active_installs":0,"downloads":47,"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":"limenae","date":"2026-09-22 04:35:47","revision":3706602}},"upgrade_notice":{"1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3706600,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3706600,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3706604,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3706604,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3706600,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3706600,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3706600,"resolution":"3","location":"assets","locale":"","width":1280,"height":800}},"screenshots":{"1":"The scan result: confirmed failures separated from checks that need a person.","2":"A finding expanded, with the WordPress-specific fix ready to copy.","3":"The honesty panel listing what automated testing cannot determine."}},"plugin_section":[],"plugin_tags":[1447,1953,8533,14361,1956],"plugin_category":[34],"plugin_contributors":[281953],"plugin_business_model":[],"class_list":["post-368384","plugin","type-plugin","status-publish","hentry","plugin_tags-a11y","plugin_tags-accessibility","plugin_tags-audit","plugin_tags-compliance","plugin_tags-wcag","plugin_category-accessibility","plugin_contributors-limenae","plugin_committers-limenae"],"banners":{"banner":"https:\/\/ps.w.org\/limen-accessibility-audit\/assets\/banner-772x250.png?rev=3706604","banner_2x":"https:\/\/ps.w.org\/limen-accessibility-audit\/assets\/banner-1544x500.png?rev=3706604","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/limen-accessibility-audit\/assets\/icon-128x128.png?rev=3706600","icon_2x":"https:\/\/ps.w.org\/limen-accessibility-audit\/assets\/icon-256x256.png?rev=3706600","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/limen-accessibility-audit\/assets\/screenshot-1.png?rev=3706600","caption":"The scan result: confirmed failures separated from checks that need a person."},{"src":"https:\/\/ps.w.org\/limen-accessibility-audit\/assets\/screenshot-2.png?rev=3706600","caption":"A finding expanded, with the WordPress-specific fix ready to copy."},{"src":"https:\/\/ps.w.org\/limen-accessibility-audit\/assets\/screenshot-3.png?rev=3706600","caption":"The honesty panel listing what automated testing cannot determine."}],"raw_content":"<!--section=description-->\n<p>Limen Accessibility Audit checks your published pages against <strong>WCAG 2.1 Level AA<\/strong> and, for every failure it finds, shows you the specific code that fixes it in WordPress or WooCommerce.<\/p>\n\n<p>It is built around one uncomfortable fact that most accessibility tools skate over: <strong>automated testing finds roughly a third of accessibility barriers.<\/strong> No scanner can tell whether your alt text is accurate, whether your headings actually describe the content, or whether a keyboard user can finish checkout. This plugin says so plainly, separates what it <em>proved<\/em> from what a person still has to check, and never issues a conformance claim.<\/p>\n\n<h4>What it does<\/h4>\n\n<ul>\n<li>Scans your home page and a sample of each content type \u2014 posts, pages, products, custom types<\/li>\n<li>Reports <strong>27 checks<\/strong> across WCAG 2.1 Level A and AA<\/li>\n<li>Separates <strong>confirmed failures<\/strong> from <strong>checks that need a human<\/strong>, and never counts the second group in your score<\/li>\n<li>Shows the fix as WordPress-specific code you can copy, not generic advice<\/li>\n<li>Orders findings by what actually appears in legal complaints, not by scanner severity<\/li>\n<li>Lists explicitly what it could not determine<\/li>\n<\/ul>\n\n<h4>Your pages are never uploaded<\/h4>\n\n<p>The scan runs entirely inside your browser tab. The plugin fetches your own pages from your own site \u2014 same origin, no proxy \u2014 and audits them in JavaScript on your machine.<\/p>\n\n<p>There is no server in the path. This is not a privacy promise bolted on afterwards; it is how the plugin is built, and it means the tool also works on staging sites, password-protected pages, and logged-in views that an external crawler could never reach.<\/p>\n\n<h4>Everything here is free<\/h4>\n\n<p>Every check, every score and every fix snippet is free and fully enabled, permanently. Nothing is held back, and there is no paid version of this plugin.<\/p>\n\n<h4>Stores nothing, contacts nothing<\/h4>\n\n<p>The plugin writes nothing to your database: no options, no tables, no transients, no scheduled tasks. It makes no requests to any external service. The only network requests it makes are to your own site, from your own browser, to fetch the pages it audits.<\/p>\n\n<h4>Source code<\/h4>\n\n<p>All of the code is included in the plugin, unminified. The audit engine lives in the <code>engine\/<\/code> folder as readable JavaScript.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Open <strong>Accessibility<\/strong> in the admin menu.<\/li>\n<li>Press <strong>Scan my site<\/strong>.<\/li>\n<\/ol>\n\n<p>There is nothing to configure.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20make%20my%20site%20accessible%3F\"><h3>Does this make my site accessible?<\/h3><\/dt>\n<dd><p>No, and be wary of anything that claims it will. It finds and explains a specific set of failures. Fixing them is real work, and a clean result here means the automated checks passed \u2014 not that your site is accessible. The plugin tells you exactly which questions it could not answer.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20my%20site%20down%3F\"><h3>Does it slow my site down?<\/h3><\/dt>\n<dd><p>No. The plugin adds nothing whatsoever to your front end \u2014 no scripts, no styles, no database queries for visitors. It only runs inside wp-admin, and only while you are looking at its screen.<\/p><\/dd>\n<dt id=\"is%20this%20an%20accessibility%20overlay%20or%20widget%3F\"><h3>Is this an accessibility overlay or widget?<\/h3><\/dt>\n<dd><p>No. Overlays attempt to patch your site at runtime for visitors and have been widely shown not to work; one major vendor has faced FTC action. This plugin changes nothing on your site. It tells you what is broken and shows you how to fix it properly, in your own theme.<\/p><\/dd>\n<dt id=\"will%20it%20edit%20my%20theme%20for%20me%3F\"><h3>Will it edit my theme for me?<\/h3><\/dt>\n<dd><p>No, deliberately. It shows you the code and where it goes. A plugin that rewrote your templates automatically would be one bad guess away from breaking your site, and it would also disqualify the tool from being an evaluation tool at all.<\/p><\/dd>\n<dt id=\"who%20can%20run%20a%20scan%3F\"><h3>Who can run a scan?<\/h3><\/dt>\n<dd><p>Anyone who can edit posts, because the people who introduce accessibility problems are usually the people writing content. The capability is filterable via <code>exhibit_a_capability<\/code>.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20a%20site%20that%20is%20not%20public%20yet%3F\"><h3>Does it work on a site that is not public yet?<\/h3><\/dt>\n<dd><p>Yes. Because the scan runs in your browser using your own session, it works on staging sites, sites behind HTTP auth, and pages that require login \u2014 none of which an external scanner can reach.<\/p><\/dd>\n<dt id=\"what%20standard%20does%20it%20check%3F\"><h3>What standard does it check?<\/h3><\/dt>\n<dd><p>WCAG 2.1 Level A and AA. Not 2.2, and not 2.0 \u2014 27 rules implemented against 2.1, and the plugin does not claim coverage it does not have.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release. 27 WCAG 2.1 A\/AA checks, WordPress and WooCommerce remediation, in-browser scanning, no front-end footprint.<\/li>\n<\/ul>","raw_excerpt":"Audits your site against WCAG 2.1 Level AA and shows the exact WordPress fix for each failure. Runs in your browser \u2014 pages are never uploaded.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/368384","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=368384"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/limenae"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=368384"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=368384"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=368384"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=368384"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=368384"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=368384"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}