{"id":367509,"date":"2026-09-13T21:55:48","date_gmt":"2026-09-13T21:55:48","guid":{"rendered":"https:\/\/de.wordpress.org\/plugins\/zackii-accessibility-check\/"},"modified":"2026-09-13T21:55:20","modified_gmt":"2026-09-13T21:55:20","slug":"zackii-accessibility-check","status":"publish","type":"plugin","link":"https:\/\/lv.wordpress.org\/plugins\/zackii-accessibility-check\/","author":23534449,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Zackii Accessibility Check","header_author":"NilsD","header_description":"Finds the most common accessibility barriers on your site and creates a draft of the accessibility statement. No overlay - real checks against WCAG 2.2 AA.","assets_banners_color":"676e77","last_updated":"2026-09-13 21:55:20","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/zackii.de\/barrierefreiheit","header_author_uri":"https:\/\/zackii.de","rating":0,"author_block_rating":0,"active_installs":0,"downloads":53,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"nilsdberlin","date":"2026-09-13 21:55:20","revision":3694229}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3694229,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3694229,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3694233,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3694233,"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":3694229,"resolution":"1","location":"assets","locale":"","width":1568,"height":698},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3694229,"resolution":"2","location":"assets","locale":"","width":1568,"height":698},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3694229,"resolution":"3","location":"assets","locale":"","width":1568,"height":698}},"screenshots":{"1":"The results list: every issue with the element it was found in and the matching WCAG criterion.","2":"Different checks side by side - missing alt text, heading structure, unlabelled form fields, empty links and insufficient contrast.","3":"The accessibility statement draft, filled in with the issues found during the scan."}},"plugin_section":[],"plugin_tags":[1447,1953,244989,240916,1956],"plugin_category":[34],"plugin_contributors":[273035],"plugin_business_model":[],"class_list":["post-367509","plugin","type-plugin","status-publish","hentry","plugin_tags-a11y","plugin_tags-accessibility","plugin_tags-barrierefreiheit","plugin_tags-bfsg","plugin_tags-wcag","plugin_category-accessibility","plugin_contributors-nilsdberlin","plugin_committers-nilsdberlin"],"banners":{"banner":"https:\/\/ps.w.org\/zackii-accessibility-check\/assets\/banner-772x250.png?rev=3694233","banner_2x":"https:\/\/ps.w.org\/zackii-accessibility-check\/assets\/banner-1544x500.png?rev=3694233","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/zackii-accessibility-check\/assets\/icon-128x128.png?rev=3694229","icon_2x":"https:\/\/ps.w.org\/zackii-accessibility-check\/assets\/icon-256x256.png?rev=3694229","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/zackii-accessibility-check\/assets\/screenshot-1.png?rev=3694229","caption":"The results list: every issue with the element it was found in and the matching WCAG criterion."},{"src":"https:\/\/ps.w.org\/zackii-accessibility-check\/assets\/screenshot-2.png?rev=3694229","caption":"Different checks side by side - missing alt text, heading structure, unlabelled form fields, empty links and insufficient contrast."},{"src":"https:\/\/ps.w.org\/zackii-accessibility-check\/assets\/screenshot-3.png?rev=3694229","caption":"The accessibility statement draft, filled in with the issues found during the scan."}],"raw_content":"<!--section=description-->\n<p>Since 28 June 2025, commercial websites in Germany must be accessible under the\nBFSG, the German implementation of the European Accessibility Act. The technical\nbenchmark is WCAG 2.2 AA - the same standard that applies across the EU, the UK,\nthe US and Canada.<\/p>\n\n<p>This plugin scans your pages and reports every issue it finds in plain language,\ntogether with the element it found and the matching WCAG success criterion.<\/p>\n\n<p><strong>No overlay.<\/strong> Accessibility buttons that float over a page only change what is\ndisplayed. They do not fix the underlying markup, and the barriers remain. This\nplugin looks for the actual problems in your HTML instead.<\/p>\n\n<p>The interface is available in German and English.<\/p>\n\n<h4>What is checked<\/h4>\n\n<ul>\n<li>Images without alternative text (WCAG 1.1.1)<\/li>\n<\/ul>\n\n<p>More checks are being added in the coming versions.<\/p>\n\n<h4>The accessibility statement writes itself<\/h4>\n\n<p>The accessibility statement is a mandatory page, comparable to a legal notice.\nIt has to name the shortcomings that are known to you - and that is exactly the\npart most site owners cannot write, because they do not know their own\nshortcomings.<\/p>\n\n<p>This plugin does know them, from the scan. Under Accessibility &gt; Statement it\nbuilds a complete draft with the issues found, the date of the scan, the\ncontact address for reporting barriers and the enforcement body, and it creates\nthat draft as a WordPress page.<\/p>\n\n<p>The page is created as a <strong>draft<\/strong>, never published automatically. You read it,\nfill in what is missing and publish it yourself. Required details that are not\navailable, such as the provider name, are inserted as visible placeholders in\nsquare brackets rather than left blank, so nothing silently goes online empty.<\/p>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li><strong>Scan.<\/strong> One click in the admin area. The plugin requests your pages the way\na visitor sees them - including navigation, buttons and footer, not just the\npost content.<\/li>\n<li><strong>Contrast.<\/strong> Colour values almost never appear in the HTML; they result from\nthe CSS cascade. This step therefore runs in your browser and reads the\ncomputed values instead of guessing.<\/li>\n<li><strong>Statement.<\/strong> The draft is generated from the findings.<\/li>\n<\/ol>\n\n<h4>What this plugin does not do<\/h4>\n\n<p>It does not make your website legally compliant and it is not legal advice. No\nautomated test can cover every WCAG criterion - whether an alternative text is\nactually meaningful can only be judged by a person. This plugin finds and names\nthe most common technical barriers.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"why%20is%20alt%3D%22%22%20not%20reported%20as%20an%20error%3F\"><h3>Why is alt=\"\" not reported as an error?<\/h3><\/dt>\n<dd><p>Because it is correct. An empty alt attribute is the required markup for purely\ndecorative images, so screen readers skip them cleanly. Only a missing alt\nattribute is a violation.<\/p><\/dd>\n<dt id=\"some%20of%20my%20pages%20are%20not%20being%20checked\"><h3>Some of my pages are not being checked<\/h3><\/dt>\n<dd><p>The plugin requests your pages the same way a visitor would. If your site cannot\nreach itself, your web host is most likely blocking outgoing connections. The\nplugin tells you so explicitly rather than falsely reporting that everything is\nfine.<\/p><\/dd>\n<dt id=\"is%20any%20data%20sent%20to%20third%20parties%3F\"><h3>Is any data sent to third parties?<\/h3><\/dt>\n<dd><p>No. Everything runs on your own server. No account, no API, no external service.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: nine checks against WCAG 2.2 AA, contrast measured in the browser, and a generator for the accessibility statement that fills in the issues found during the scan.<\/li>\n<\/ul>","raw_excerpt":"Finds the most common accessibility barriers on your site. No overlay - real checks against WCAG 2.2 AA.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/367509","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=367509"}],"author":[{"embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/nilsdberlin"}],"wp:attachment":[{"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=367509"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=367509"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=367509"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=367509"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=367509"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=367509"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}