{"id":332705,"date":"2026-07-06T15:29:11","date_gmt":"2026-07-06T15:29:11","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/accessibility-check\/"},"modified":"2026-07-06T21:08:07","modified_gmt":"2026-07-06T21:08:07","slug":"kipphard-accessibility-audit","status":"publish","type":"plugin","link":"https:\/\/mr.wordpress.org\/plugins\/kipphard-accessibility-audit\/","author":23523872,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.4.2","stable_tag":"0.4.2","tested":"7.0","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Kipphard Accessibility Audit","header_author":"Andr\u00e9 Kipphard","header_description":"Honest WCAG 2.2 \/ BFSG accessibility audit: scans your rendered HTML, reports prioritized issues with concrete fix guidance, and generates an accessibility statement. An honest audit tool \u2014 not an overlay.","assets_banners_color":"f0dcd3","last_updated":"2026-07-06 21:08:07","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/kipphard.com\/products\/barrierefrei-check","header_author_uri":"https:\/\/kipphard.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":42,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.4.1":{"tag":"0.4.1","author":"kipphard","date":"2026-07-06 15:28:58"},"0.4.2":{"tag":"0.4.2","author":"kipphard","date":"2026-07-06 21:08:07"}},"upgrade_notice":{"0.4.2":"<p>Style fix for Statement\/Settings pages; corrected outdated settings text.<\/p>","0.4.1":"<p>Full-site scanning for everyone; unique prefixes for all options\/shortcode\/hooks.<\/p>","0.4.0":"<p>Renamed to Kipphard Accessibility Audit; the free version is fully functional with no locked features.<\/p>","0.3.4":"<p>Code-quality pass for WordPress Plugin Check. No functional changes.<\/p>","0.3.3":"<p>WordPress.org Plugin Check compliance fixes. No functional changes.<\/p>","0.3.2":"<p>English plugin title and WordPress.org-ready readme. No functional changes.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3598221,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3598221,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3598221,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3598337,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=barrierefrei-check\",\"preferredVersions\":{\"php\":\"8.3\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"login\":true,\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"kipphard-accessibility-audit\"},\"options\":{\"activate\":true}},{\"step\":\"runPHP\",\"code\":\"<?php require_once '\\\/wordpress\\\/wp-load.php';\\n$broken = '<h1>Beispielseite<\\\/h1><h3>\\u00dcbersprungene \\u00dcberschriftenebene<\\\/h3><img src=\\\"\\\/logo.jpg\\\"><a href=\\\"\\\/leer\\\"><\\\/a><label>Suche<\\\/label><input type=\\\"text\\\" name=\\\"q\\\"><button><\\\/button><input type=\\\"image\\\" src=\\\"\\\/btn.png\\\">';\\n$page_id = wp_insert_post(array('post_type'=>'page','post_status'=>'publish','post_title'=>'Demo Page (with Errors)','post_content'=>$broken));\\nif (class_exists('Kipphard\\\\\\\\Barrierefrei\\\\\\\\Rules')) {\\n  libxml_use_internal_errors(true);\\n  $dom = new DOMDocument();\\n  $dom->loadHTML('<?xml encoding=\\\"utf-8\\\" ?><html lang=\\\"\\\"><head><\\\/head><body>'.$broken.'<\\\/body><\\\/html>');\\n  libxml_clear_errors();\\n  $xpath = new DOMXPath($dom);\\n  $url = get_permalink($page_id);\\n  $issues = Kipphard\\\\Barrierefrei\\\\Rules::run($dom, $xpath, $url);\\n  $report = new Kipphard\\\\Barrierefrei\\\\Report($issues, array($url));\\n  update_option('kipphard_accessibility_audit_last_report', $report->to_array());\\n}\\n\"}]}"}},"all_blocks":[],"tagged_versions":["0.4.1","0.4.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3598225,"resolution":"1","location":"assets","locale":"","width":1500,"height":930},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3598225,"resolution":"2","location":"assets","locale":"","width":1500,"height":930},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3598225,"resolution":"3","location":"assets","locale":"","width":1500,"height":930},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3598225,"resolution":"4","location":"assets","locale":"","width":1500,"height":930}},"screenshots":{"1":"The dashboard: accessibility score, severity badges, and prioritized issues with concrete fix guidance.","2":"A scanned issue with its WCAG criterion, description, fix hint, and HTML context snippet.","3":"The accessibility statement editor (contact details, conformance status, enforcement body).","4":"Appearance settings: theme-safe presets and accent colour."}},"plugin_section":[],"plugin_tags":[1953,238514,244989,240916,1956],"plugin_category":[34],"plugin_contributors":[270348],"plugin_business_model":[],"class_list":["post-332705","plugin","type-plugin","status-publish","hentry","plugin_tags-accessibility","plugin_tags-accessibility-statement","plugin_tags-barrierefreiheit","plugin_tags-bfsg","plugin_tags-wcag","plugin_category-accessibility","plugin_contributors-kipphard","plugin_committers-kipphard"],"banners":{"banner":"https:\/\/ps.w.org\/kipphard-accessibility-audit\/assets\/banner-772x250.png?rev=3598221","banner_2x":"https:\/\/ps.w.org\/kipphard-accessibility-audit\/assets\/banner-1544x500.png?rev=3598221","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/kipphard-accessibility-audit\/assets\/icon-256x256.png?rev=3598221","icon_2x":"https:\/\/ps.w.org\/kipphard-accessibility-audit\/assets\/icon-256x256.png?rev=3598221","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/kipphard-accessibility-audit\/assets\/screenshot-1.png?rev=3598225","caption":"The dashboard: accessibility score, severity badges, and prioritized issues with concrete fix guidance."},{"src":"https:\/\/ps.w.org\/kipphard-accessibility-audit\/assets\/screenshot-2.png?rev=3598225","caption":"A scanned issue with its WCAG criterion, description, fix hint, and HTML context snippet."},{"src":"https:\/\/ps.w.org\/kipphard-accessibility-audit\/assets\/screenshot-3.png?rev=3598225","caption":"The accessibility statement editor (contact details, conformance status, enforcement body)."},{"src":"https:\/\/ps.w.org\/kipphard-accessibility-audit\/assets\/screenshot-4.png?rev=3598225","caption":"Appearance settings: theme-safe presets and accent colour."}],"raw_content":"<!--section=description-->\n<p><strong>Kipphard Accessibility Audit<\/strong> is an honest audit tool for WordPress sites. It analyses the HTML your site actually renders and reports accessibility issues against <strong>WCAG 2.2<\/strong> and the German <strong>Barrierefreiheitsst\u00e4rkungsgesetz (BFSG)<\/strong> \u2014 with clear fix guidance, severity prioritisation, and an accessibility score from 0 to 100.<\/p>\n\n<p><strong>What this plugin does:<\/strong><\/p>\n\n<ul>\n<li>Scans your whole site: the homepage plus all published pages and posts (capped at 200 URLs per run purely as a performance safeguard)<\/li>\n<li>12 automated WCAG 2.2 checks (missing alt text, missing page language, form fields without labels, empty links and buttons, heading hierarchy, skip links, landmarks, duplicate IDs and more)<\/li>\n<li>Every issue shows: severity (Critical \/ Serious \/ Moderate \/ Minor), the WCAG criterion, a description, a concrete fix hint, and a context snippet from your HTML<\/li>\n<li>Generates a ready-to-edit <strong>accessibility statement<\/strong> (BFSG template) as a WordPress page via the <code>[kipphard_accessibility_audit_statement]<\/code> shortcode<\/li>\n<li>No tracking, no external requests, no dependencies \u2014 everything runs locally on your own server<\/li>\n<\/ul>\n\n<p><strong>Try it live:<\/strong> <a href=\"https:\/\/playground.wordpress.net\/?blueprint-url=https:\/\/raw.githubusercontent.com\/kipphard\/kipphard-accessibility-audit\/main\/demo\/blueprint.json\">open a demo in WordPress Playground<\/a> \u2014 a full WordPress with the plugin installed and a sample audit already populated, right in your browser.<\/p>\n\n<p><strong>What this plugin does NOT do:<\/strong><\/p>\n\n<p>This plugin is <em>not an overlay<\/em> and does <em>not<\/em> claim instant or full compliance. Automated testing can only cover part of the WCAG criteria. Requirements such as colour contrast (1.4.3), full keyboard operability, cognitive accessibility, and most WCAG level AAA criteria require manual review by experts or by users of assistive technology.<\/p>\n\n<p>Overlay widgets that promise \"one-click accessibility\" are not a valid solution and are rejected by the accessibility community. This plugin is the opposite: transparent reporting and honest communication.<\/p>\n\n<p><strong>About the BFSG:<\/strong> From 28 June 2025, Germany's Barrierefreiheitsst\u00e4rkungsgesetz (BFSG) requires many providers of digital products and services to publish a public accessibility statement and meet WCAG-based requirements. This plugin helps you find issues and produce that statement.<\/p>\n\n<p><strong>Kipphard Accessibility Audit Pro<\/strong> (separate plugin, <a href=\"https:\/\/kipphard.com\/products\/barrierefrei-check\">learn more<\/a>) adds automation on top: scheduled automatic scans, a PDF conformance report, score history monitoring, and multisite support. Everything in this free version \u2014 including full-site scanning \u2014 stays fully functional without it.<\/p>\n\n<p><em>Hinweis (DE): Dieses Plugin ist ein ehrliches Audit-Werkzeug f\u00fcr WordPress-Seiten. Es pr\u00fcft dein gerendertes HTML auf WCAG-2.2- und BFSG-Probleme, zeigt priorisierte Fehler mit L\u00f6sungshinweisen und erzeugt eine Barrierefreiheitserkl\u00e4rung (BFSG-Vorlage). Die Benutzeroberfl\u00e4che ist auf Deutsch verf\u00fcgbar.<\/em><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>kipphard-accessibility-audit<\/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 \"Plugins\" menu in WordPress.<\/li>\n<li>Go to <strong>Accessibility \u2192 Dashboard<\/strong> and click \"Run scan\".<\/li>\n<li>Under <strong>Accessibility \u2192 Statement<\/strong>, fill in your contact details and conformance status to generate the accessibility statement.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20make%20my%20site%20accessible%20automatically%3F\"><h3>Does this plugin make my site accessible automatically?<\/h3><\/dt>\n<dd><p>No. This is an audit tool, not an overlay. It shows you where accessibility problems are and gives concrete fix guidance, but the actual work \u2014 adding alt text to images, labelling forms correctly, building a sensible heading hierarchy \u2014 has to be done by you or your development team. No automated tool can guarantee or create full WCAG conformance; anyone claiming otherwise is misleading you.<\/p><\/dd>\n<dt id=\"which%20wcag%20version%20is%20checked%3F\"><h3>Which WCAG version is checked?<\/h3><\/dt>\n<dd><p>The plugin targets WCAG 2.2 level AA, as required by the BFSG. The currently implemented rules cover the most common and most reliably auto-detectable issues.<\/p><\/dd>\n<dt id=\"how%20many%20pages%20are%20scanned%3F\"><h3>How many pages are scanned?<\/h3><\/dt>\n<dd><p>All of them: the scan covers your homepage plus every published page and post. Very large sites are capped at 200 URLs per run \u2014 a performance safeguard, not a feature limit.<\/p><\/dd>\n<dt id=\"is%20any%20data%20sent%20to%20external%20servers%3F\"><h3>Is any data sent to external servers?<\/h3><\/dt>\n<dd><p>No. All scans run locally on your own server. No data is sent to any third party.<\/p><\/dd>\n<dt id=\"the%20scan%20returns%20no%20results%20or%20fails.%20what%20can%20i%20do%3F\"><h3>The scan returns no results or fails. What can I do?<\/h3><\/dt>\n<dd><p>Make sure your site is reachable from itself (no password protection, no \"Coming soon\" mode). The plugin fetches your own URLs internally over HTTP. Also check that the PHP <code>dom<\/code> and <code>libxml<\/code> extensions are available.<\/p><\/dd>\n<dt id=\"what%20is%20the%20accessibility%20statement%20%28barrierefreiheitserkl%C3%A4rung%29%3F\"><h3>What is the accessibility statement (Barrierefreiheitserkl\u00e4rung)?<\/h3><\/dt>\n<dd><p>The BFSG requires certain providers to publish a public accessibility statement from 28 June 2025. The plugin generates a template of this statement that you should adapt to your situation and have reviewed by a lawyer.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.4.2<\/h4>\n\n<ul>\n<li>Fixed: admin styles now load on the Statement and Settings pages (not only the dashboard). Corrected outdated settings-page text that still described a page-count limit; the scan covers all published pages and posts.<\/li>\n<\/ul>\n\n<h4>0.4.1<\/h4>\n\n<ul>\n<li>Full-site scanning is available to everyone (no page-count limit); Pro adds automatic scheduling, not broader scope. Renamed all internal option\/shortcode\/hook names to a unique plugin-specific prefix.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Renamed to Kipphard Accessibility Audit. The free version is now fully functional with no license-gated features; premium features (scheduled scans, PDF export, score history, multisite) are available as a separate plugin. Removed the Custom CSS field; all design options are now free.<\/li>\n<\/ul>\n\n<h4>0.3.4<\/h4>\n\n<ul>\n<li>Code-quality pass for WordPress Plugin Check: slug-prefixed global constants, filter and variables; removed the redundant text-domain loader; annotated read-only display reads. No functional changes.<\/li>\n<\/ul>\n\n<h4>0.3.3<\/h4>\n\n<ul>\n<li>WordPress.org Plugin Check compliance: single slug-matching text domain, fixed translators comment placement, removed debug logging, tidier readme. No functional changes.<\/li>\n<\/ul>\n\n<h4>0.3.2<\/h4>\n\n<ul>\n<li>English plugin title and WordPress.org-ready readme. No functional changes.<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<ul>\n<li>Shared Kipphard design system (kip-ui) for a consistent, theme-safe look; German (de_DE) translation of the appearance settings.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Accessibility statement rendered in the shared design system; admin polish.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>English source baseline with a German (de_DE) translation.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>12 automated WCAG 2.2 \/ BFSG checks.<\/li>\n<li>Prioritized dashboard with score, severity badges, and fix guidance.<\/li>\n<li><code>[kipphard_accessibility_audit_statement]<\/code> shortcode for the accessibility statement.<\/li>\n<li>Statement field management (contact, conformance status, address, enforcement body).<\/li>\n<li>SSRF protection: only URLs on your own host are scanned.<\/li>\n<li>No external dependencies, no tracking.<\/li>\n<\/ul>","raw_excerpt":"Honest WCAG 2.2 \/ BFSG audit: scans your rendered HTML, reports prioritized issues with fix guidance, and generates an accessibility statement.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/332705","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=332705"}],"author":[{"embeddable":true,"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kipphard"}],"wp:attachment":[{"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=332705"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=332705"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=332705"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=332705"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=332705"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=332705"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}