{"id":52724,"date":"2016-12-16T03:38:59","date_gmt":"2016-12-16T03:38:59","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/jwp-a11y\/"},"modified":"2026-03-17T07:45:59","modified_gmt":"2026-03-17T07:45:59","slug":"jwp-a11y","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/jwp-a11y\/","author":15189930,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"5.2.4","stable_tag":"5.2.4","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"jwp-a11y","header_author":"Jidaikobo Inc.","header_description":"","assets_banners_color":"","last_updated":"2026-03-17 07:45:59","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.jidaikobo.com\/donate.html","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/jwp-a11y\/","header_author_uri":"https:\/\/www.jidaikobo.com\/","rating":5,"author_block_rating":0,"active_installs":100,"downloads":8918,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"5.0.0":{"tag":"5.0.0","author":"jidaikobo","date":"2026-03-01 07:02:07"},"5.1.1":{"tag":"5.1.1","author":"jidaikobo","date":"2026-03-03 15:22:14"},"5.2.0":{"tag":"5.2.0","author":"jidaikobo","date":"2026-03-04 02:40:13"},"5.2.1":{"tag":"5.2.1","author":"jidaikobo","date":"2026-03-04 04:04:22"},"5.2.2":{"tag":"5.2.2","author":"jidaikobo","date":"2026-03-07 05:38:14"},"5.2.3":{"tag":"5.2.3","author":"jidaikobo","date":"2026-03-08 14:12:25"},"5.2.4":{"tag":"5.2.4","author":"jidaikobo","date":"2026-03-17 07:45:59"}},"upgrade_notice":{"5.2.4":"<p>This release excludes unevaluated legacy URLs from public result listings and aggregate report output.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":"1"},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":1602865,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":1602865,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["5.0.0","5.1.1","5.2.0","5.2.1","5.2.2","5.2.3","5.2.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":1971520,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":1971520,"resolution":"2","location":"assets","locale":""}},"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1953,10674,129233,1956],"plugin_category":[34],"plugin_contributors":[127884],"plugin_business_model":[],"class_list":["post-52724","plugin","type-plugin","status-publish","hentry","plugin_tags-accessibility","plugin_tags-checker","plugin_tags-jis-x-8341-3","plugin_tags-wcag","plugin_category-accessibility","plugin_contributors-jidaikobo","plugin_committers-jidaikobo"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/jwp-a11y\/assets\/icon-128x128.png?rev=1602865","icon_2x":"https:\/\/ps.w.org\/jwp-a11y\/assets\/icon-256x256.png?rev=1602865","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/jwp-a11y\/assets\/screenshot-1.png?rev=1971520","caption":""},{"src":"https:\/\/ps.w.org\/jwp-a11y\/assets\/screenshot-2.png?rev=1971520","caption":""}],"raw_content":"<!--section=description-->\n<p>jwp-a11y checks the accessibility of WordPress post content while you edit and save posts.<\/p>\n\n<p>It helps editors notice accessibility issues earlier in the writing workflow and keeps legacy public result pages available through the existing <code>[jwp_a11y_results]<\/code> shortcode.<\/p>\n\n<p>This version focuses on three practical tasks:<\/p>\n\n<ul>\n<li>checking post content with <code>jidaikobo\/a11yc<\/code> while editing,<\/li>\n<li>showing previously saved public result pages through <code>[jwp_a11y_results]<\/code>,<\/li>\n<li>providing reading material for understanding accessibility criteria through the admin tools page and <code>[jwp_a11y_doc]<\/code>.<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/jwp-a11y\">translate by using GlotPress<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/jwp-a11y<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Run <code>composer install<\/code> in the plugin directory if you deploy from source.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Edit a post and save it to run the accessibility check.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>5.2.4<\/h4>\n\n<p>exclude unevaluated legacy URLs from the public URL list and aggregate report<\/p>\n\n<h4>5.2.3<\/h4>\n\n<p>fix translation loading for admin notices and legacy public results pages without relying on load_plugin_textdomain\nfix legacy result loading compatibility for common settings rows in shortcode output\nclose warning notice box automatically when all suppressible notice items are hidden<\/p>\n\n<h4>5.2.2<\/h4>\n\n<p>regenerate production Composer autoload files with --no-dev to prevent phpstan bootstrap loading on production sites<\/p>\n\n<h4>5.2.1<\/h4>\n\n<p>update bundled jidaikobo\/a11yc to 7.1.0\nrefresh bundled WCAG 2.2 criterion metadata and compiled resources<\/p>\n\n<h4>5.2.0<\/h4>\n\n<p>update bundled jidaikobo\/a11yc to 7.0.0\nswitch bundled a11yc resources to compiled PHP arrays at runtime\nremove no-longer-needed symfony\/yaml runtime dependency from bundled vendor<\/p>\n\n<h4>5.1.1<\/h4>\n\n<p>improve security checks for editor notice Ajax endpoints\nprepare the refreshed plugin package for the WordPress.org release<\/p>\n\n<h4>5.1.0<\/h4>\n\n<p>rebuilt the plugin as a minimal WordPress plugin on top of jidaikobo\/a11yc\nsupport save-time notices in both the block editor and the classic editor\nallow temporary suppression of likely false-positive notice items for 30 days\npreserve legacy <code>[jwp_a11y_results]<\/code> result pages without the old bundled core\nprovide admin\/docs pages for reading accessibility criterion guidance<\/p>\n\n<h4>5.0.0<\/h4>\n\n<p>refocus the plugin on WordPress editor accessibility checks\nstop creating plugin tables automatically on new installs\nsupport validation notices in the block editor after saving posts\nkeep document\/help pages available without legacy plugin tables\ndisable legacy high-risk admin screens in the WordPress plugin\nharden WordPress admin security (XSS, CSRF, permissions, redirects)\nupdate WordPress and PHP requirement metadata<\/p>\n\n<h4>4.1.7<\/h4>\n\n<p>fix PHP 8.0 Deprecated errors again<\/p>\n\n<h4>4.1.6<\/h4>\n\n<p>fix PHP 8.0 Deprecated errors<\/p>\n\n<h4>4.1.5<\/h4>\n\n<p>fix docs :Array and string offset access syntax with curly braces is no longer supported<\/p>\n\n<h4>4.1.4<\/h4>\n\n<p>remove  from meanless element\nignore file existence check when check 2.4.4<\/p>\n\n<h4>4.1.2<\/h4>\n\n<p>document maintenance<\/p>\n\n<h4>4.1.1<\/h4>\n\n<p>fix session timing<\/p>\n\n<h4>4.1.0<\/h4>\n\n<p>fix template bug<\/p>\n\n<h4>4.0.9<\/h4>\n\n<p>fix english resource lack<\/p>\n\n<h4>4.0.8<\/h4>\n\n<p>fix some messages<\/p>\n\n<h4>4.0.7<\/h4>\n\n<p>fix add page function by using admin tool bar<\/p>\n\n<h4>4.0.6<\/h4>\n\n<p>fix redirect trouble\nfix in case filter_input(INPUT_SERVER) is not working<\/p>\n\n<h4>4.0.5<\/h4>\n\n<p>fix unused upgrade method<\/p>\n\n<h4>4.0.4<\/h4>\n\n<p>fix report page<\/p>\n\n<h4>4.0.3<\/h4>\n\n<p>fix wrong class name: CssFormat<\/p>\n\n<h4>4.0.2<\/h4>\n\n<p>fix wrong class name<\/p>\n\n<h4>4.0.1<\/h4>\n\n<p>fix some tiny bugs and MySQL field size problem<\/p>\n\n<h4>4.0.0<\/h4>\n\n<p>use new core<\/p>\n\n<h4>3.4.0<\/h4>\n\n<p>move some directories<\/p>\n\n<h4>3.3.9<\/h4>\n\n<p>better cache control<\/p>\n\n<h4>3.3.8<\/h4>\n\n<p>maintenance<\/p>\n\n<h4>3.3.7<\/h4>\n\n<p>change screen shots<\/p>\n\n<h4>3.3.6<\/h4>\n\n<p>fix lack of constant<\/p>\n\n<h4>3.3.5<\/h4>\n\n<p>fix soome undefined bugs<\/p>\n\n<h4>3.3.4<\/h4>\n\n<p>fix defined bug<\/p>\n\n<h4>3.3.3<\/h4>\n\n<p>move lib directories<\/p>\n\n<h4>3.3.2<\/h4>\n\n<p>fix tiny bugs<\/p>\n\n<h4>3.3.1<\/h4>\n\n<p>refactoring and fix constant<\/p>\n\n<h4>3.3.0<\/h4>\n\n<p>refactoring and fix tiny bugs<\/p>\n\n<h4>3.2.9<\/h4>\n\n<p>fix about html escape<\/p>\n\n<h4>3.2.8<\/h4>\n\n<p>many refactoring<\/p>\n\n<h4>3.2.7<\/h4>\n\n<p>fix empty_link_element<\/p>\n\n<h4>3.2.6<\/h4>\n\n<p>start to support aria-label and aria-labelledby<\/p>\n\n<h4>3.2.5<\/h4>\n\n<p>fix donate link<\/p>\n\n<h4>3.2.4<\/h4>\n\n<p>fix error count problem\nfix sort pages<\/p>\n\n<h4>3.2.3<\/h4>\n\n<p>delete unused files\nat html5, ignore check of existence of table's summary attribute<\/p>\n\n<h4>3.2.2<\/h4>\n\n<p>no space between attribute\nbetter comment out logic\nignore CDATA section<\/p>\n\n<h4>3.2.1<\/h4>\n\n<p>fix each result<\/p>\n\n<h4>3.2.0<\/h4>\n\n<p>fix result<\/p>\n\n<h4>3.1.9<\/h4>\n\n<p>lower compatible (array_column() php 5.5)<\/p>\n\n<h4>3.1.8<\/h4>\n\n<p>remove ajax<\/p>\n\n<h4>3.1.7<\/h4>\n\n<p>improve checklist behaviour<\/p>\n\n<h4>3.1.6<\/h4>\n\n<p>refactoring\nfix bug of error messages<\/p>\n\n<h4>3.1.5<\/h4>\n\n<p>modify settings table<\/p>\n\n<h4>3.1.4<\/h4>\n\n<p>at readme: content of was invalid string (Y-n-j -&gt; Y-m-d)(thx @momdo_).\nat documentation: fix unexpectedlly escaped HTML and markup HTML by <code>(thx @momdo_).\nat labelless check: if action attribute was not exists, use<\/code><\/p>\n\n<p>&lt;<\/p>\n\n<p>form&gt; to indicate place.<\/p>\n\n<h4>3.1.3<\/h4>\n\n<p>upgrade problem<\/p>\n\n<h4>3.1.2<\/h4>\n\n<p>Refine regular expression of extraction html tag.\nBecame able to check non UTF-8 page.\nUpdate Japanese title of Techniques for WCAG 2.0.\nBetter lang check<\/p>\n\n<h4>3.1.1<\/h4>\n\n<p>add some new checks<\/p>\n\n<h4>3.1.0<\/h4>\n\n<p>fix evaluate mistake<\/p>\n\n<h4>3.0.9<\/h4>\n\n<p>count notice<\/p>\n\n<h4>3.0.8<\/h4>\n\n<p>Contributors can check pages<\/p>\n\n<h4>3.0.7<\/h4>\n\n<p>first test user is current user<\/p>\n\n<h4>3.0.6<\/h4>\n\n<p>fix first edit problem<\/p>\n\n<h4>3.0.5<\/h4>\n\n<p>fix issue edit<\/p>\n\n<h4>3.0.4<\/h4>\n\n<p>improve issue control<\/p>\n\n<h4>3.0.3<\/h4>\n\n<p>add nonce<\/p>\n\n<h4>3.0.2<\/h4>\n\n<p>lower compatibly 2<\/p>\n\n<h4>3.0.1<\/h4>\n\n<p>lower compatibly<\/p>\n\n<h4>3.0.0<\/h4>\n\n<p>core update<\/p>\n\n<h4>2.0.2<\/h4>\n\n<p>better label uniqueness check<\/p>\n\n<h4>2.0.1<\/h4>\n\n<p>make notice better<\/p>\n\n<h4>2.0.0<\/h4>\n\n<p>maintenance core<\/p>\n\n<h4>1.9.9<\/h4>\n\n<p>maintenance core<\/p>\n\n<h4>1.9.8<\/h4>\n\n<p>add notice<\/p>\n\n<h4>1.9.7<\/h4>\n\n<p>better ja breaking words logic<\/p>\n\n<h4>1.9.6<\/h4>\n\n<p>fix check logic<\/p>\n\n<h4>1.9.5<\/h4>\n\n<p>add errors about pdf<\/p>\n\n<h4>1.9.4<\/h4>\n\n<p>add alternative content check system and PDF<\/p>\n\n<h4>1.9.3<\/h4>\n\n<p>fix some notices<\/p>\n\n<h4>1.9.2<\/h4>\n\n<p>add some nonce<\/p>\n\n<h4>1.9.1<\/h4>\n\n<p>bug fix. show ng comment<\/p>\n\n<h4>1.9.0<\/h4>\n\n<p>better title for disclosure<\/p>\n\n<h4>1.8.9<\/h4>\n\n<p>better css<\/p>\n\n<h4>1.8.8<\/h4>\n\n<p>review disclosure page<\/p>\n\n<h4>1.8.7<\/h4>\n\n<p>ssl<\/p>\n\n<h4>1.8.6<\/h4>\n\n<p>fix update trouble<\/p>\n\n<h4>1.8.5<\/h4>\n\n<p>fix Db::is_table_exist()<\/p>\n\n<h4>1.8.4<\/h4>\n\n<p>refactoring<\/p>\n\n<h4>1.8.3<\/h4>\n\n<p>remove ucfirst()<\/p>\n\n<h4>1.8.2<\/h4>\n\n<p>fix upgrade bug<\/p>\n\n<h4>1.8.1<\/h4>\n\n<p>fix remove directory<\/p>\n\n<h4>1.8.0<\/h4>\n\n<p>use MySQL<\/p>\n\n<h4>1.7.9<\/h4>\n\n<p>add dashboard Notation<\/p>\n\n<h4>1.7.8<\/h4>\n\n<p>better doc search<\/p>\n\n<h4>1.7.7<\/h4>\n\n<p>better explanation<\/p>\n\n<h4>1.7.6<\/h4>\n\n<p>improve here link error<\/p>\n\n<h4>1.7.5<\/h4>\n\n<p>apply shortcode<\/p>\n\n<h4>1.7.4<\/h4>\n\n<p>add option \"stop Guzzle\"<\/p>\n\n<h4>1.7.3<\/h4>\n\n<p>better ua<\/p>\n\n<h4>1.7.2<\/h4>\n\n<p>add about placeholder<\/p>\n\n<h4>1.7.1<\/h4>\n\n<p>language maintenance<\/p>\n\n<h4>1.7.0<\/h4>\n\n<p>lower php compatible<\/p>\n\n<h4>1.6.9<\/h4>\n\n<p>add guzzle to env check<\/p>\n\n<h4>1.6.8<\/h4>\n\n<p>review link check<\/p>\n\n<h4>1.6.7<\/h4>\n\n<p>fix $_SERVER issue<\/p>\n\n<h4>1.6.6<\/h4>\n\n<p>improve link check trust<\/p>\n\n<h4>1.6.5<\/h4>\n\n<p>fix PHP_SESSION_DISABLED issue<\/p>\n\n<h4>1.6.4<\/h4>\n\n<p>fix sqlite garbage collector<\/p>\n\n<h4>1.6.3<\/h4>\n\n<p>update HTML checker.<\/p>\n\n<h4>1.6.2<\/h4>\n\n<p>update libraries. guzzle and Spyc.<\/p>\n\n<h4>1.6.1<\/h4>\n\n<p>fix section validate<\/p>\n\n<h4>1.6.0<\/h4>\n\n<p>fix js<\/p>\n\n<h4>1.5.9<\/h4>\n\n<p>check h* less section<\/p>\n\n<h4>1.5.8<\/h4>\n\n<p>suggest file size when Download link exist.<\/p>\n\n<h4>1.5.7<\/h4>\n\n<p>hide link some controllers for lower php version.<\/p>\n\n<h4>1.5.6<\/h4>\n\n<p>refactoring of js and css<\/p>\n\n<h4>1.5.5<\/h4>\n\n<p>fix is post exists<\/p>\n\n<h4>1.5.4<\/h4>\n\n<p>recover trust_ssl_url by tragic reason<\/p>\n\n<h4>1.5.3<\/h4>\n\n<p>update guzzle and refactoring<\/p>\n\n<h4>1.5.2<\/h4>\n\n<p>check custom_fields<\/p>\n\n<h4>1.5.1<\/h4>\n\n<p>php included html<\/p>\n\n<h4>1.5.0<\/h4>\n\n<p>fix timezone<\/p>\n\n<h4>1.4.9<\/h4>\n\n<p>fix notice Validate_Validation::appropriate_heading_descending()<\/p>\n\n<h4>1.4.8<\/h4>\n\n<p>maintanance<\/p>\n\n<h4>1.4.7<\/h4>\n\n<p>validator bug fix<\/p>\n\n<h4>1.4.6<\/h4>\n\n<p>temporal fix of guzzle<\/p>\n\n<h4>1.4.5<\/h4>\n\n<p>add guzzle to Basic auth<\/p>\n\n<h4>1.4.4<\/h4>\n\n<p>many improvements<\/p>\n\n<h4>1.4.3<\/h4>\n\n<p>fix ajax problem<\/p>\n\n<h4>1.4.2<\/h4>\n\n<p>add icons and improve usability of admin bar<\/p>\n\n<h4>1.4.1<\/h4>\n\n<p>library update<\/p>\n\n<h4>1.4.0<\/h4>\n\n<p>fix constant<\/p>\n\n<h4>1.3.9<\/h4>\n\n<p>improve maintenance<\/p>\n\n<h4>1.3.8<\/h4>\n\n<p>add db directory safely2<\/p>\n\n<h4>1.3.7<\/h4>\n\n<p>add db directory safely<\/p>\n\n<h4>1.3.6<\/h4>\n\n<p>add db directory<\/p>\n\n<h4>1.3.5<\/h4>\n\n<p>fix data source select<\/p>\n\n<h4>1.3.4<\/h4>\n\n<p>add version control<\/p>\n\n<h4>1.3.3<\/h4>\n\n<p>fix link check bug<\/p>\n\n<h4>1.3.2<\/h4>\n\n<p>fix ssl bug<\/p>\n\n<h4>1.3.1<\/h4>\n\n<p>improve link check and crawl<\/p>\n\n<h4>1.3.0<\/h4>\n\n<p>improve link check and crawl<\/p>\n\n<h4>1.2.9<\/h4>\n\n<p>fix page counting<\/p>\n\n<h4>1.2.8<\/h4>\n\n<p>third argument of null of mb_substr(), occasionally not return end of string.<\/p>\n\n<h4>1.2.7<\/h4>\n\n<p>typo<\/p>\n\n<h4>1.2.6<\/h4>\n\n<p>fix evaluate total<\/p>\n\n<h4>1.2.5<\/h4>\n\n<p>fix method<\/p>\n\n<h4>1.2.4<\/h4>\n\n<p>many fixes<\/p>\n\n<h4>1.2.3<\/h4>\n\n<p>fix total evaluation<\/p>\n\n<h4>1.2.2<\/h4>\n\n<p>compatible with php &lt;= 5.4<\/p>\n\n<h4>1.2.1<\/h4>\n\n<p>improve error message of same title<\/p>\n\n<h4>1.2.0<\/h4>\n\n<p>unchecked criterion can be saved its memo<\/p>\n\n<h4>1.1.9<\/h4>\n\n<p>pdo transaction was not work well...<\/p>\n\n<h4>1.1.8<\/h4>\n\n<p>php7.0 issue<\/p>\n\n<h4>1.1.7<\/h4>\n\n<p>fix some documents<\/p>\n\n<h4>1.1.6<\/h4>\n\n<p>fix localize issue<\/p>\n\n<h4>1.1.5<\/h4>\n\n<p>fix setup<\/p>\n\n<h4>1.1.4<\/h4>\n\n<p>fix setup<\/p>\n\n<h4>1.1.3<\/h4>\n\n<p>add some explanation to readme<\/p>\n\n<h4>1.1.2<\/h4>\n\n<p>support php7\nfix non post validate<\/p>\n\n<h4>1.1.1<\/h4>\n\n<p>fix langless check<\/p>\n\n<h4>1.1<\/h4>\n\n<p>Add English Documents (by Google Translate)\nSSL and basic auth.<\/p>\n\n<h4>1.0<\/h4>\n\n<p>Currently Japanese only.  We are waiting language contribution!<\/p>","raw_excerpt":"Check the accessibility of WordPress post content while editing.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/52724","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=52724"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jidaikobo"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=52724"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=52724"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=52724"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=52724"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=52724"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=52724"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}