{"id":337535,"date":"2026-07-13T16:44:17","date_gmt":"2026-07-13T16:44:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/a11yfleet\/"},"modified":"2026-07-29T15:57:46","modified_gmt":"2026-07-29T15:57:46","slug":"a11yfleet","status":"publish","type":"plugin","link":"https:\/\/en-gb.wordpress.org\/plugins\/a11yfleet\/","author":16589605,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.2","requires":"6.4","requires_php":"8.1","requires_plugins":null,"header_name":"A11yFleet","header_author":"Narek Zakarian","header_description":"Accessibility compliance scanning, reporting and guided remediation for WordPress \u2014 built for EU (EAA \/ EN 301 549 \/ WCAG 2.1 AA) compliance.","assets_banners_color":"7d91c9","last_updated":"2026-07-29 15:57:46","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/profile.wordpress.org\/nareknovembit","header_author_uri":"https:\/\/profile.wordpress.org\/nareknovembit","rating":0,"author_block_rating":0,"active_installs":0,"downloads":91,"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":"nareknovembit","date":"2026-07-29 15:57:46"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3606440,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3606440,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3606440,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3606440,"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":3606440,"resolution":"1","location":"assets","locale":"","width":1600,"height":732},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3606440,"resolution":"2","location":"assets","locale":"","width":1600,"height":997},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3606440,"resolution":"3","location":"assets","locale":"","width":1600,"height":745},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3606440,"resolution":"4","location":"assets","locale":"","width":1600,"height":1037}},"screenshots":{"1":"Dashboard \u2014 pages with issues, scores, and per-issue ignore\/restore.","2":"The Accessibility panel in the block editor.","3":"The compliance report and accessibility-statement draft.","4":"Settings \u2014 post types, auto-scan, and scheduled scans."}},"plugin_section":[],"plugin_tags":[1953,209467,2682,241427,1956],"plugin_category":[34],"plugin_contributors":[271391],"plugin_business_model":[],"class_list":["post-337535","plugin","type-plugin","status-publish","hentry","plugin_tags-accessibility","plugin_tags-accessibility-checker","plugin_tags-ada","plugin_tags-eaa","plugin_tags-wcag","plugin_category-accessibility","plugin_contributors-nareknovembit","plugin_committers-nareknovembit"],"banners":{"banner":"https:\/\/ps.w.org\/a11yfleet\/assets\/banner-772x250.png?rev=3606440","banner_2x":"https:\/\/ps.w.org\/a11yfleet\/assets\/banner-1544x500.png?rev=3606440","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/a11yfleet\/assets\/icon-128x128.png?rev=3606440","icon_2x":"https:\/\/ps.w.org\/a11yfleet\/assets\/icon-256x256.png?rev=3606440","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/a11yfleet\/assets\/screenshot-1.png?rev=3606440","caption":"Dashboard \u2014 pages with issues, scores, and per-issue ignore\/restore."},{"src":"https:\/\/ps.w.org\/a11yfleet\/assets\/screenshot-2.png?rev=3606440","caption":"The Accessibility panel in the block editor."},{"src":"https:\/\/ps.w.org\/a11yfleet\/assets\/screenshot-3.png?rev=3606440","caption":"The compliance report and accessibility-statement draft."},{"src":"https:\/\/ps.w.org\/a11yfleet\/assets\/screenshot-4.png?rev=3606440","caption":"Settings \u2014 post types, auto-scan, and scheduled scans."}],"raw_content":"<!--section=description-->\n<p>A11yFleet is an <strong>accessibility checker for WordPress<\/strong>. It scans your posts, pages and the full rendered page against <strong>WCAG 2.1 level AA<\/strong> success criteria \u2014 the standard behind the <strong>European Accessibility Act (EAA \/ EN 301 549)<\/strong>, the <strong>ADA<\/strong> and <strong>Section 508<\/strong> \u2014 scores every page, and shows exactly what to fix and why. It then builds a <strong>compliance report<\/strong> and a <strong>draft accessibility statement<\/strong> you can adapt for the EAA.<\/p>\n\n<p>Accessibility is now a legal requirement for many websites: the European Accessibility Act became enforceable in June 2025, and WCAG 2.1 AA is the benchmark shared by the EAA, the ADA and Section 508. A11yFleet helps you find and fix the machine-detectable accessibility issues and see clearly where manual review is still needed \u2014 continuously, instead of paying for a one-off audit.<\/p>\n\n<p><strong>What it does<\/strong><\/p>\n\n<ul>\n<li>Automated <strong>WCAG 2.1 AA<\/strong> checks on your content and on the full rendered page (theme header, navigation and footer included): missing image <strong>alt text<\/strong>, non-descriptive link text, skipped heading levels, unlabelled form controls, buttons with no accessible name, duplicate IDs, empty headings, missing iframe titles, and missing document language.<\/li>\n<li>An <strong>accessibility dashboard<\/strong> listing pages that have issues, worst score first, with per-issue <strong>ignore \/ restore<\/strong> that persists across re-scans.<\/li>\n<li>An <strong>Accessibility panel in the block editor<\/strong> to scan the content you're editing (before you publish) or the full page, kept in sync with the dashboard.<\/li>\n<li>Background, batched scanning with an optional <strong>scheduled full-site accessibility scan<\/strong> (hourly, daily or weekly).<\/li>\n<li>A <strong>compliance report<\/strong> mapped to <strong>EN 301 549<\/strong> with an auto-generated <strong>accessibility-statement draft<\/strong>, exportable to print \/ PDF.<\/li>\n<\/ul>\n\n<p><strong>Who it's for<\/strong><\/p>\n\n<p>Site owners, agencies and developers who need to meet <strong>EAA<\/strong>, <strong>ADA<\/strong>, <strong>Section 508<\/strong> or general <strong>WCAG<\/strong> accessibility requirements on WordPress \u2014 and who want to catch issues as they publish instead of at audit time.<\/p>\n\n<p><strong>Honesty note<\/strong><\/p>\n\n<p>Automated tools can only detect a portion of WCAG success criteria. A11yFleet does the automatable part well and clearly flags where human review is still required \u2014 it never claims a site is \"100% compliant\".<\/p>\n\n<h3>Development<\/h3>\n\n<p>The admin JavaScript\/CSS is built with @wordpress\/scripts from the human-readable source in <code>src\/Admin\/resources\/<\/code>. To build: <code>npm install &amp;&amp; npm run build<\/code>. Composer, PHPCS\/WPCS, PHPStan and PHPUnit are configured in the repository.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>a11yfleet<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the zip via Plugins \u2192 Add New \u2192 Upload.<\/li>\n<li>Activate the plugin. Its database tables are created on activation.<\/li>\n<li>Go to <strong>A11yFleet<\/strong> in the admin menu and click <strong>Scan all published content<\/strong>.<\/li>\n<li>Choose scanned post types and scheduled scans under <strong>A11yFleet \u2192 Settings<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20a11yfleet%20an%20eaa%20compliance%20plugin%3F\"><h3>Is A11yFleet an EAA compliance plugin?<\/h3><\/dt>\n<dd><p>It helps you get there. The European Accessibility Act points to EN 301 549, which is based on WCAG 2.1 AA. A11yFleet checks your content against those WCAG criteria, reports what to fix, and generates a draft accessibility statement \u2014 the automatable groundwork for EAA compliance. Full compliance still requires manual review.<\/p><\/dd>\n<dt id=\"does%20it%20check%20wcag%202.1%20aa%3F\"><h3>Does it check WCAG 2.1 AA?<\/h3><\/dt>\n<dd><p>Yes. Every rule maps to a WCAG 2.1 success criterion at level A or AA, and the compliance report groups outstanding issues by criterion.<\/p><\/dd>\n<dt id=\"can%20it%20help%20with%20ada%20or%20section%20508%20compliance%3F\"><h3>Can it help with ADA or Section 508 compliance?<\/h3><\/dt>\n<dd><p>Yes. Web accessibility under both the ADA and Section 508 is assessed against WCAG, so the same checks apply. A11yFleet flags the machine-detectable WCAG issues those laws are concerned with.<\/p><\/dd>\n<dt id=\"does%20this%20make%20my%20site%20automatically%20compliant%3F\"><h3>Does this make my site automatically compliant?<\/h3><\/dt>\n<dd><p>No. No automated tool can. A11yFleet finds and helps you fix the machine-detectable issues and shows where manual review is still needed.<\/p><\/dd>\n<dt id=\"which%20content%20is%20scanned%3F\"><h3>Which content is scanned?<\/h3><\/dt>\n<dd><p>Published posts and pages by default. Choose post types in Settings, or use the <code>a11yfleet_scannable_post_types<\/code> filter.<\/p><\/dd>\n<dt id=\"does%20it%20send%20my%20data%20anywhere%3F\"><h3>Does it send my data anywhere?<\/h3><\/dt>\n<dd><p>No. Scanning runs on your own server, and the full-page scan requests only your own site's URLs. No data leaves your site.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20multisite%3F\"><h3>Does it work on Multisite?<\/h3><\/dt>\n<dd><p>It works on standard single-site installs and when activated on an individual site within a network (each site keeps its own data). Network-wide activation and a cross-site (network admin) dashboard are planned for a future release \u2014 for now, activate it per site rather than \"Network Activate\".<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: WCAG scan engine (9 rules), content + full-page scanning, block-editor panel, ignore\/restore workflow, batched + scheduled scans, and the EN 301 549 compliance report + accessibility-statement generator.<\/li>\n<\/ul>","raw_excerpt":"Accessibility checker for WordPress: scan posts and pages for WCAG issues, fix them, and generate an EAA \/ ADA compliance report.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/337535","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=337535"}],"author":[{"embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/nareknovembit"}],"wp:attachment":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=337535"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=337535"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=337535"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=337535"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=337535"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=337535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}