{"id":360750,"date":"2026-09-10T16:56:47","date_gmt":"2026-09-10T16:56:47","guid":{"rendered":"https:\/\/es.wordpress.org\/plugins\/eaa-accessibility-checker\/"},"modified":"2026-09-10T16:56:20","modified_gmt":"2026-09-10T16:56:20","slug":"perseiathink-accessibility-audit-for-eaa","status":"publish","type":"plugin","link":"https:\/\/so.wordpress.org\/plugins\/perseiathink-accessibility-audit-for-eaa\/","author":23556909,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.0","stable_tag":"0.2.0","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"PerseiaThink Accessibility Audit for EAA","header_author":"PerseiaThink","header_description":"Checks your posts and pages against 40 WCAG 2.2 AA tests as you write, focused on the EU Accessibility Act (EN 301 549), with a full Spanish translation. Runs entirely on your server. Helps you audit your site; legal compliance requires human review.","assets_banners_color":"6a8ebc","last_updated":"2026-09-10 16:56:20","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","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":{"0.2.0":{"tag":"0.2.0","author":"rubenayala","date":"2026-09-10 16:56:20","revision":3690230}},"upgrade_notice":{"0.2.0":"<p>Adds 24 new accessibility checks (40 in total) and clarifies who the EAA legally obliges.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3690231,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3690231,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3690231,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3690248,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3690248,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3690231,"resolution":"1","location":"assets","locale":"","width":1280,"height":1162},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3690231,"resolution":"2","location":"assets","locale":"","width":1280,"height":427}},"screenshots":{"1":"The Accessibility (EAA) panel in the post editor, listing issues by severity with their WCAG criterion and how to fix them.","2":"The site summary page in the admin, with totals and a table of analysed posts."}},"plugin_section":[],"plugin_tags":[1447,1953,14361,241427,1956],"plugin_category":[34],"plugin_contributors":[280122],"plugin_business_model":[],"class_list":["post-360750","plugin","type-plugin","status-publish","hentry","plugin_tags-a11y","plugin_tags-accessibility","plugin_tags-compliance","plugin_tags-eaa","plugin_tags-wcag","plugin_category-accessibility","plugin_contributors-rubenayala","plugin_committers-rubenayala"],"banners":{"banner":"https:\/\/ps.w.org\/perseiathink-accessibility-audit-for-eaa\/assets\/banner-772x250.png?rev=3690248","banner_2x":"https:\/\/ps.w.org\/perseiathink-accessibility-audit-for-eaa\/assets\/banner-1544x500.png?rev=3690248","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/perseiathink-accessibility-audit-for-eaa\/assets\/icon.svg?rev=3690231","icon":"https:\/\/ps.w.org\/perseiathink-accessibility-audit-for-eaa\/assets\/icon.svg?rev=3690231","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/perseiathink-accessibility-audit-for-eaa\/assets\/screenshot-1.png?rev=3690231","caption":"The Accessibility (EAA) panel in the post editor, listing issues by severity with their WCAG criterion and how to fix them."},{"src":"https:\/\/ps.w.org\/perseiathink-accessibility-audit-for-eaa\/assets\/screenshot-2.png?rev=3690231","caption":"The site summary page in the admin, with totals and a table of analysed posts."}],"raw_content":"<!--section=description-->\n<p>PerseiaThink Accessibility Audit for EAA analyses the rendered content of your posts and pages against <strong>40 automated tests<\/strong>, mapped to 12 <strong>WCAG 2.2<\/strong> success criteria \u2014 eleven at level A or AA, plus one level-AAA good practice that ships as a notice \u2014 and shows you a prioritised, actionable list of issues right in the editor.<\/p>\n\n<p>WCAG is the yardstick European accessibility legislation is built around: the EU Accessibility Act sets functional requirements, and the harmonised standard EN 301 549 (which incorporates WCAG) is the usual way to demonstrate you meet them.<\/p>\n\n<p>It runs <strong>entirely on your own server<\/strong>: no external APIs, no accounts, no tracking, no data sent anywhere.<\/p>\n\n<p>Not affiliated with Accessibility Checker, Adinav, GranTech, or any other accessibility-audit plugin for the EAA.<\/p>\n\n<h4>What it checks (40 tests)<\/h4>\n\n<p><strong>Images (7)<\/strong> \u2014 missing <code>alt<\/code>; <code>alt<\/code> that is just the file name; <code>alt<\/code> padded with \"image of\u2026\"; over-long <code>alt<\/code> that should be a long description; empty <code>alt<\/code> on large, content-looking images; image buttons with no alternative text; image-map areas with no name.<\/p>\n\n<p><strong>Links (7)<\/strong> \u2014 links with no perceivable text; vague text such as \"read more\" or \"click here\"; raw URLs used as link text; links to PDFs and other files that never say so; <code>title<\/code> attributes that merely repeat the link text; two adjacent links pointing to the same place; links that open a new tab without warning.<\/p>\n\n<p><strong>Forms (5)<\/strong> \u2014 fields with no associated label; <code>&lt;label for&gt;<\/code> pointing at nothing; <code>&lt;fieldset&gt;<\/code> with no <code>&lt;legend&gt;<\/code>; radio\/checkbox groups with no group name; <strong>personal-data fields missing <code>autocomplete<\/code> (WCAG 1.3.5, level AA)<\/strong>.<\/p>\n\n<p><strong>Headings and structure (4)<\/strong> \u2014 empty headings and skipped heading levels; paragraphs in bold used as fake headings; lists faked with dashes or numbers instead of real list markup; empty lists and orphaned list items.<\/p>\n\n<p><strong>Tables (3)<\/strong> \u2014 data tables with no header cells; no <code>&lt;caption&gt;<\/code>; <code>headers<\/code> attributes pointing at ids that do not exist.<\/p>\n\n<p><strong>Media and motion (5)<\/strong> \u2014 video with no captions track; audio with no alternative; media that autoplays with no way to stop it; <code>&lt;blink&gt;<\/code> and <code>&lt;marquee&gt;<\/code>; timed <code>meta refresh<\/code>.<\/p>\n\n<p><strong>ARIA and semantics (9)<\/strong> \u2014 buttons and iframes with no accessible name; broken ARIA references; invalid <code>role<\/code> values; <code>aria-hidden<\/code> wrapped around focusable elements; widget roles missing their required state; <code>role=\"presentation\"<\/code> used where it removes needed meaning; duplicated ids that something references; positive <code>tabindex<\/code>.<\/p>\n\n<h4>Who the EU Accessibility Act obliges (and who it does not)<\/h4>\n\n<p>Most plugins in this space imply that every website owner is now legally on the hook. That is not what the law says, so here is the honest version \u2014 for Spain, where this plugin is focused. Other EU countries transposed the same directive with their own texts, so check yours.<\/p>\n\n<p><strong>First test \u2014 is it one of the covered services?<\/strong> The Act does not cover \"websites\" in general. It covers a closed list: e-commerce, consumer banking, e-books, passenger transport, electronic communications and access to audiovisual media services, among others. A brochure site for a plumber is not automatically in scope.<\/p>\n\n<p><strong>Second test \u2014 are you a microenterprise?<\/strong> If you are in scope, Spain's Ley 11\/2023 (art. 3) <strong>exempts microenterprises that provide services<\/strong> \u2014 fewer than 10 people <em>and<\/em> annual turnover or balance sheet total not exceeding \u20ac2 million \u2014 from the accessibility requirements and from any obligation to comply with them. Note the exemption covers <em>services<\/em>: it does not extend to making, importing or distributing the physical products the Act also lists.<\/p>\n\n<p>Obligations have been enforceable since <strong>28 June 2025<\/strong>.<\/p>\n\n<p><strong>Being outside the Act is not the same as being off the hook.<\/strong> Spain's general non-discrimination rules on access to goods and services offered to the public (RDL 1\/2013, Ley 15\/2022) apply regardless of company size, and if you deliver a public service or receive public funding, RD 1112\/2018 may apply too. Beyond the law: a larger client, a marketplace or a public tender can require accessibility contractually, and a sizeable share of the population \u2014 around a quarter of EU adults report some activity limitation (Eurostat) \u2014 is affected by whether your site works for them.<\/p>\n\n<p>This is a plain-language summary, not legal advice. If you need to know whether the law applies to you, ask a professional.<\/p>\n\n<h4>Honest by design<\/h4>\n\n<p>Automated tools detect roughly <strong>30\u201340%<\/strong> of accessibility problems. This plugin <strong>finds<\/strong> many common issues and tells you how to fix them \u2014 it does not change your content for you, and it does <strong>not<\/strong> guarantee legal compliance with the EAA or any regulation, which always requires human review. Treat it as an assistant, not a certificate.<\/p>\n\n<h4>Spanish first<\/h4>\n\n<p>The plugin ships with a <strong>complete Spanish (es_ES) translation<\/strong> and is written around the EU Accessibility Act and Spain's Ley 11\/2023. On a Spanish WordPress install it appears in Spanish automatically.<\/p>\n\n<h4>Pro add-on, for agencies<\/h4>\n\n<p>A separate Pro add-on is available for agencies and professionals maintaining client sites: whole-site and scheduled scans, issue history over time, an accessibility statement backed by your real audit data, a printable compliance report, and a colour-contrast deep scan. The free plugin described here is fully functional on its own.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>perseiathink-accessibility-audit-for-eaa<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install it from the Plugins screen in your WordPress admin.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu.<\/li>\n<li>Edit or save any post or page \u2014 it is analysed automatically. Results appear in the <strong>Accessibility (EAA)<\/strong> panel in the editor sidebar.<\/li>\n<li>See a summary of the posts and pages already analysed under <strong>Accessibility EAA<\/strong> in the admin menu.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20make%20my%20site%20legally%20compliant%20with%20the%20eaa%3F\"><h3>Does this make my site legally compliant with the EAA?<\/h3><\/dt>\n<dd><p>No. No automated tool can. This plugin finds many common issues \u2014 about 30\u201340% of what matters \u2014 but full compliance requires manual review by someone familiar with accessibility. Also check whether the law applies to you at all: it covers a closed list of services, and in Spain microenterprises providing those services are exempt (see above). That is a summary, not legal advice.<\/p><\/dd>\n<dt id=\"does%20it%20send%20my%20content%20to%20any%20external%20service%3F\"><h3>Does it send my content to any external service?<\/h3><\/dt>\n<dd><p>No. All analysis runs on your own server. There are no external API calls and no accounts.<\/p><\/dd>\n<dt id=\"what%20exactly%20does%20it%20scan%3F\"><h3>What exactly does it scan?<\/h3><\/dt>\n<dd><p>The rendered content of your posts and pages (the output of the <code>the_content<\/code> filter), so it sees what your blocks, shortcodes and content produce. It does not execute JavaScript, so content generated at runtime by scripts is not analysed, and it cannot evaluate colour contrast, which needs computed styles.<\/p><\/dd>\n<dt id=\"in%20which%20languages%20is%20it%20available%3F\"><h3>In which languages is it available?<\/h3><\/dt>\n<dd><p>English and Spanish (es_ES). On a Spanish WordPress install the interface and messages appear in Spanish automatically.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Expanded from 16 to 40 automated tests, covering 12 WCAG 2.2 success criteria (eleven at level A\/AA plus one AAA good practice) \u2014 including 1.3.5 Identify Input Purpose (AA).<\/li>\n<li>New checks across images, links, forms, tables, lists, media, motion and ARIA.<\/li>\n<li>Clearer wording about who the European Accessibility Act actually obliges.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release: 16 WCAG 2.2 checks, automatic scan on save, editor panel, site summary page, front-end highlighter, English + Spanish (es_ES). Runs entirely on your server.<\/li>\n<\/ul>","raw_excerpt":"Check your posts and pages against 40 WCAG 2.2 tests as you write. Focused on the EU Accessibility Act, with a full Spanish translation.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/360750","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=360750"}],"author":[{"embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rubenayala"}],"wp:attachment":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=360750"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=360750"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=360750"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=360750"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=360750"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=360750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}