Skip to content

Commit dc7ced7

Browse files
authored
Merge pull request #1811 from equalizedigital/release/1.45.0
Release v1.45.0
2 parents fdf884f + 5ad7c64 commit dc7ced7

82 files changed

Lines changed: 1049 additions & 940 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

accessibility-checker.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* Plugin Name: Accessibility Checker
1111
* Plugin URI: https://a11ychecker.com
1212
* Description: Audit and check your website for accessibility before you hit publish. In-post accessibility scanner and guidance.
13-
* Version: 1.44.1
13+
* Version: 1.45.0
1414
* Requires PHP: 7.4
1515
* Author: Equalize Digital
1616
* Author URI: https://equalizedigital.com
@@ -36,7 +36,7 @@
3636

3737
// Current plugin version.
3838
if ( ! defined( 'EDAC_VERSION' ) ) {
39-
define( 'EDAC_VERSION', '1.44.1' );
39+
define( 'EDAC_VERSION', '1.45.0' );
4040
}
4141

4242
// Current database version.

admin/class-enqueue-admin.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ public static function maybe_enqueue_admin_and_editor_app_scripts() {
9393
'proUrl' => esc_url_raw( edac_generate_link_type( [ 'utm_content' => '__name__' ] ) ),
9494
'hasDismissEndpoint' => method_exists( \EDAC\Inc\REST_Api::class, 'dismiss_issue' ),
9595
'showMetaboxInBlockEditor' => ! Helpers::is_block_editor() || (bool) get_option( 'edac_show_metabox_in_block_editor', 1 ),
96+
'pro' => defined( 'EDACP_VERSION' ) && EDAC_KEY_VALID,
9697
]
9798
);
9899

admin/class-ignore-ui.php

Lines changed: 49 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,17 @@ class IgnoreUI {
2323
/**
2424
* Get the dismiss reasons with translatable labels and descriptions.
2525
*
26+
* Filterable via `edac_dismiss_reasons`. Each entry must be an associative
27+
* array with `label` (string) and `description` (string) keys.
28+
*
2629
* @return array<string, array{label: string, description: string}>
2730
*/
2831
public static function get_reasons(): array {
29-
return [
32+
$default_reasons = [
33+
'accessible' => [
34+
'label' => __( 'Confirmed accessible', 'accessibility-checker' ),
35+
'description' => __( 'Reviewed and verified to meet accessibility requirements.', 'accessibility-checker' ),
36+
],
3037
'false_positive' => [
3138
'label' => __( 'False positive', 'accessibility-checker' ),
3239
'description' => __( 'The scanner flagged this, but it does not apply to this content.', 'accessibility-checker' ),
@@ -35,11 +42,48 @@ public static function get_reasons(): array {
3542
'label' => __( 'Remediated', 'accessibility-checker' ),
3643
'description' => __( 'The issue has been fixed, but the page has not been rescanned yet.', 'accessibility-checker' ),
3744
],
38-
'accessible' => [
39-
'label' => __( 'Confirmed accessible', 'accessibility-checker' ),
40-
'description' => __( 'Reviewed and verified to meet accessibility requirements.', 'accessibility-checker' ),
41-
],
4245
];
46+
47+
/**
48+
* Filters the dismiss reasons available in the ignore/dismiss panel.
49+
*
50+
* Each array entry must be keyed by a unique reason slug and contain
51+
* a `label` (short UI text) and a `description` (longer explanatory text).
52+
*
53+
* @since 1.xx.x
54+
*
55+
* @param array<string, array{label: string, description: string}> $reasons {
56+
* Dismiss reasons keyed by reason slug.
57+
*
58+
* @type array $reason {
59+
* @type string $label Short label displayed in the radio control.
60+
* @type string $description Longer description displayed below the label.
61+
* }
62+
* }
63+
*/
64+
$reasons = apply_filters( 'edac_dismiss_reasons', $default_reasons );
65+
66+
if ( ! is_array( $reasons ) ) {
67+
return $default_reasons;
68+
}
69+
70+
// Strip any entries that don't conform to the expected structure.
71+
foreach ( $reasons as $key => $value ) {
72+
if (
73+
! is_array( $value ) ||
74+
! isset( $value['label'], $value['description'] ) ||
75+
! is_string( $value['label'] ) ||
76+
! is_string( $value['description'] )
77+
) {
78+
unset( $reasons[ $key ] );
79+
}
80+
}
81+
82+
if ( empty( $reasons ) ) {
83+
return $default_reasons;
84+
}
85+
86+
return $reasons;
4387
}
4488

4589
/**

includes/classes/class-rest-api.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1327,6 +1327,36 @@ public function dismiss_issue( $request ) {
13271327
);
13281328
}
13291329

1330+
/**
1331+
* Fires after an ignore state change succeeds.
1332+
*
1333+
* @param array $data {
1334+
* @type int $issue_id The representative issue row ID from the request.
1335+
* @type string $action The action string from the request (e.g. 'dismiss', 'undismiss').
1336+
* @type int $ignre 1 when the issue is now dismissed, 0 when reopened.
1337+
* @type int $ignre_global 1 when the change is a global dismiss/reopen, 0 otherwise.
1338+
* @type int $ignre_user User ID of the actor, or null when reopening.
1339+
* @type string $ignre_reason Dismissal reason, or null when reopening.
1340+
* @type string $ignre_comment Dismissal comment, or null when reopening.
1341+
* @type bool $large_batch True when all instances of the same snippet were updated.
1342+
* @type int $site_id Current blog ID.
1343+
* }
1344+
*/
1345+
do_action(
1346+
'edac_after_ignore_change',
1347+
[
1348+
'issue_id' => $issue_id,
1349+
'action' => $action,
1350+
'ignre' => $ignre,
1351+
'ignre_global' => $ignre_global,
1352+
'ignre_user' => $ignre_user,
1353+
'ignre_reason' => $ignre_reason,
1354+
'ignre_comment' => $ignre_comment,
1355+
'large_batch' => $large_batch,
1356+
'site_id' => $site_id,
1357+
]
1358+
);
1359+
13301360
return new \WP_REST_Response(
13311361
[
13321362
'success' => true,
0 Bytes
Binary file not shown.

languages/accessibility-checker-ar.po

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
# This file is distributed under the GPL-2.0+.
33
msgid ""
44
msgstr ""
5-
"Project-Id-Version: Accessibility Checker 1.43.0\n"
5+
"Project-Id-Version: Accessibility Checker 1.44.1\n"
66
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/accessibility-checker\n"
77
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
88
"Language-Team: LANGUAGE <LL@li.org>\n"
99
"MIME-Version: 1.0\n"
1010
"Content-Type: text/plain; charset=UTF-8\n"
1111
"Content-Transfer-Encoding: 8bit\n"
12-
"POT-Creation-Date: 2026-06-22T20:17:36+00:00\n"
12+
"POT-Creation-Date: 2026-06-30T21:17:17+00:00\n"
1313
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1414
"X-Generator: WP-CLI 2.12.0\n"
1515
"X-Domain: accessibility-checker\n"
@@ -711,7 +711,7 @@ msgstr "* تتطلب إمكانية الوصول الحقيقية اختبارً
711711

712712
#: admin/class-ajax.php:198
713713
#: admin/class-ajax.php:790
714-
#: admin/class-ignore-ui.php:126
714+
#: admin/class-ignore-ui.php:170
715715
#: build/frontendHighlighterApp.bundle.js:2
716716
#: build/issueModal.bundle.js:2
717717
#: build/sharedComponents.bundle.js:2
@@ -940,7 +940,7 @@ msgstr "لا توجد بيانات قابلية القراءة للإرجاع"
940940
msgid "No dismissal data to return"
941941
msgstr "لا توجد بيانات تجاهل لإعادتها"
942942

943-
#: admin/class-enqueue-admin.php:437
943+
#: admin/class-enqueue-admin.php:438
944944
msgid "* Screen Reader Text"
945945
msgstr "* نص قارئ الشاشة"
946946

@@ -961,64 +961,64 @@ msgstr "استعلام المشكلة لم يرجع أي نتائج"
961961
msgid "Object query returned no results"
962962
msgstr "استعلام الكائن لم يرجع أي نتائج"
963963

964-
#: admin/class-ignore-ui.php:31
964+
#: admin/class-ignore-ui.php:34
965+
msgid "Confirmed accessible"
966+
msgstr "تم تأكيد إمكانية الوصول"
967+
968+
#: admin/class-ignore-ui.php:35
969+
msgid "Reviewed and verified to meet accessibility requirements."
970+
msgstr "تمت المراجعة والتحقق من استيفاء متطلبات إمكانية الوصول."
971+
972+
#: admin/class-ignore-ui.php:38
965973
msgid "False positive"
966974
msgstr "إيجابي كاذب"
967975

968-
#: admin/class-ignore-ui.php:32
976+
#: admin/class-ignore-ui.php:39
969977
msgid "The scanner flagged this, but it does not apply to this content."
970978
msgstr "أشار الماسح الضوئي إلى هذا، ولكنه لا ينطبق على هذا المحتوى."
971979

972-
#: admin/class-ignore-ui.php:35
980+
#: admin/class-ignore-ui.php:42
973981
msgid "Remediated"
974982
msgstr "تم الإصلاح"
975983

976-
#: admin/class-ignore-ui.php:36
984+
#: admin/class-ignore-ui.php:43
977985
msgid "The issue has been fixed, but the page has not been rescanned yet."
978986
msgstr "تم إصلاح المشكلة، ولكن لم يتم إعادة فحص الصفحة بعد."
979987

980-
#: admin/class-ignore-ui.php:39
981-
msgid "Confirmed accessible"
982-
msgstr "تم تأكيد إمكانية الوصول"
983-
984-
#: admin/class-ignore-ui.php:40
985-
msgid "Reviewed and verified to meet accessibility requirements."
986-
msgstr "تمت المراجعة والتحقق من استيفاء متطلبات إمكانية الوصول."
987-
988-
#: admin/class-ignore-ui.php:82
988+
#: admin/class-ignore-ui.php:126
989989
msgid "Username:"
990990
msgstr "اسم المستخدم:"
991991

992-
#: admin/class-ignore-ui.php:92
992+
#: admin/class-ignore-ui.php:136
993993
msgid "Date:"
994994
msgstr "التاريخ:"
995995

996-
#: admin/class-ignore-ui.php:97
996+
#: admin/class-ignore-ui.php:141
997997
#: build/issueModal.bundle.js:2
998998
#: build/sharedComponents.bundle.js:2
999999
msgid "Reopen Issue"
10001000
msgstr "إعادة فتح المشكلة"
10011001

1002-
#: admin/class-ignore-ui.php:98
1002+
#: admin/class-ignore-ui.php:142
10031003
#: build/issueModal.bundle.js:2
10041004
#: build/sharedComponents.bundle.js:2
10051005
msgid "Dismiss Issue"
10061006
msgstr "تجاهل المشكلة"
10071007

1008-
#: admin/class-ignore-ui.php:119
1008+
#: admin/class-ignore-ui.php:163
10091009
#: includes/classes/Fixes/Fix/CommentSearchLabelFix.php:142
10101010
msgid "Comment"
10111011
msgstr "تعليق"
10121012

1013-
#: admin/class-ignore-ui.php:126
1013+
#: admin/class-ignore-ui.php:170
10141014
msgid "Manage Globally Dismissed"
10151015
msgstr "إدارة المشكلات المتجاهلة عالميًا"
10161016

1017-
#: admin/class-ignore-ui.php:134
1017+
#: admin/class-ignore-ui.php:178
10181018
msgid "Your user account doesn't have permission to dismiss this issue."
10191019
msgstr "حساب المستخدم الخاص بك لا يملك صلاحية لتجاهل هذه المشكلة."
10201020

1021-
#: admin/class-ignore-ui.php:156
1021+
#: admin/class-ignore-ui.php:200
10221022
#: build/issueModal.bundle.js:2
10231023
#: build/sharedComponents.bundle.js:2
10241024
msgid "Dismiss issue as:"
@@ -3529,7 +3529,7 @@ msgstr "منطقة"
35293529
#: includes/helper-functions.php:974
35303530
#: build/issueModal.bundle.js:2
35313531
#: build/sharedComponents.bundle.js:2
3532-
#, php-format,js-format
3532+
#, php-format, js-format
35333533
msgid "View %s landmark on website, opens a new window"
35343534
msgstr "عرض %s علامة مميزة على الموقع، يفتح نافذة جديدة"
35353535

0 Bytes
Binary file not shown.

languages/accessibility-checker-bg_BG.po

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
# This file is distributed under the GPL-2.0+.
33
msgid ""
44
msgstr ""
5-
"Project-Id-Version: Accessibility Checker 1.43.0\n"
5+
"Project-Id-Version: Accessibility Checker 1.44.1\n"
66
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/accessibility-checker\n"
77
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
88
"Language-Team: LANGUAGE <LL@li.org>\n"
99
"MIME-Version: 1.0\n"
1010
"Content-Type: text/plain; charset=UTF-8\n"
1111
"Content-Transfer-Encoding: 8bit\n"
12-
"POT-Creation-Date: 2026-06-22T20:17:36+00:00\n"
12+
"POT-Creation-Date: 2026-06-30T21:17:17+00:00\n"
1313
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1414
"X-Generator: WP-CLI 2.12.0\n"
1515
"X-Domain: accessibility-checker\n"
@@ -695,7 +695,7 @@ msgstr "* Истинската достъпност изисква ръчно т
695695

696696
#: admin/class-ajax.php:198
697697
#: admin/class-ajax.php:790
698-
#: admin/class-ignore-ui.php:126
698+
#: admin/class-ignore-ui.php:170
699699
#: build/frontendHighlighterApp.bundle.js:2
700700
#: build/issueModal.bundle.js:2
701701
#: build/sharedComponents.bundle.js:2
@@ -924,7 +924,7 @@ msgstr "Няма данни за четимост за връщане"
924924
msgid "No dismissal data to return"
925925
msgstr "Няма данни за отхвърляне, които да бъдат върнати"
926926

927-
#: admin/class-enqueue-admin.php:437
927+
#: admin/class-enqueue-admin.php:438
928928
msgid "* Screen Reader Text"
929929
msgstr "* Текст за екранен четец"
930930

@@ -945,64 +945,64 @@ msgstr "Заявката за проблем не върна резултати"
945945
msgid "Object query returned no results"
946946
msgstr "Заявката за обект не върна резултати"
947947

948-
#: admin/class-ignore-ui.php:31
948+
#: admin/class-ignore-ui.php:34
949+
msgid "Confirmed accessible"
950+
msgstr "Потвърдено достъпно"
951+
952+
#: admin/class-ignore-ui.php:35
953+
msgid "Reviewed and verified to meet accessibility requirements."
954+
msgstr "Прегледано и потвърдено, че отговаря на изискванията за достъпност."
955+
956+
#: admin/class-ignore-ui.php:38
949957
msgid "False positive"
950958
msgstr "Фалшиво положително"
951959

952-
#: admin/class-ignore-ui.php:32
960+
#: admin/class-ignore-ui.php:39
953961
msgid "The scanner flagged this, but it does not apply to this content."
954962
msgstr "Скенерът отбеляза това, но то не се отнася за това съдържание."
955963

956-
#: admin/class-ignore-ui.php:35
964+
#: admin/class-ignore-ui.php:42
957965
msgid "Remediated"
958966
msgstr "Отстранено"
959967

960-
#: admin/class-ignore-ui.php:36
968+
#: admin/class-ignore-ui.php:43
961969
msgid "The issue has been fixed, but the page has not been rescanned yet."
962970
msgstr "Проблемът е отстранен, но страницата все още не е сканирана отново."
963971

964-
#: admin/class-ignore-ui.php:39
965-
msgid "Confirmed accessible"
966-
msgstr "Потвърдено достъпно"
967-
968-
#: admin/class-ignore-ui.php:40
969-
msgid "Reviewed and verified to meet accessibility requirements."
970-
msgstr "Прегледано и потвърдено, че отговаря на изискванията за достъпност."
971-
972-
#: admin/class-ignore-ui.php:82
972+
#: admin/class-ignore-ui.php:126
973973
msgid "Username:"
974974
msgstr "Потребителско име:"
975975

976-
#: admin/class-ignore-ui.php:92
976+
#: admin/class-ignore-ui.php:136
977977
msgid "Date:"
978978
msgstr "Дата:"
979979

980-
#: admin/class-ignore-ui.php:97
980+
#: admin/class-ignore-ui.php:141
981981
#: build/issueModal.bundle.js:2
982982
#: build/sharedComponents.bundle.js:2
983983
msgid "Reopen Issue"
984984
msgstr "Отвори отново проблема"
985985

986-
#: admin/class-ignore-ui.php:98
986+
#: admin/class-ignore-ui.php:142
987987
#: build/issueModal.bundle.js:2
988988
#: build/sharedComponents.bundle.js:2
989989
msgid "Dismiss Issue"
990990
msgstr "Отхвърли проблема"
991991

992-
#: admin/class-ignore-ui.php:119
992+
#: admin/class-ignore-ui.php:163
993993
#: includes/classes/Fixes/Fix/CommentSearchLabelFix.php:142
994994
msgid "Comment"
995995
msgstr "Коментар"
996996

997-
#: admin/class-ignore-ui.php:126
997+
#: admin/class-ignore-ui.php:170
998998
msgid "Manage Globally Dismissed"
999999
msgstr "Управление на глобално отхвърлени"
10001000

1001-
#: admin/class-ignore-ui.php:134
1001+
#: admin/class-ignore-ui.php:178
10021002
msgid "Your user account doesn't have permission to dismiss this issue."
10031003
msgstr "Вашият потребителски акаунт няма разрешение да отхвърли този проблем."
10041004

1005-
#: admin/class-ignore-ui.php:156
1005+
#: admin/class-ignore-ui.php:200
10061006
#: build/issueModal.bundle.js:2
10071007
#: build/sharedComponents.bundle.js:2
10081008
msgid "Dismiss issue as:"
@@ -3493,7 +3493,7 @@ msgstr "Регион"
34933493
#: includes/helper-functions.php:974
34943494
#: build/issueModal.bundle.js:2
34953495
#: build/sharedComponents.bundle.js:2
3496-
#, php-format,js-format
3496+
#, php-format, js-format
34973497
msgid "View %s landmark on website, opens a new window"
34983498
msgstr "Прегледайте %s забележителност на уебсайта, отваря се нов прозорец"
34993499

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)