Skip to content

Commit 8e70799

Browse files
authored
Merge branch 'develop' into william/pro-823-setup-component-exports-from-free-to-be-usable-in-pro
2 parents aaaa51b + af5d921 commit 8e70799

95 files changed

Lines changed: 1117 additions & 103 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.
Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
name: Accessibility Report
2+
description: Let us know if you encounter an accessibility issue so we can fix it.
3+
title: "[Accessibility]: "
4+
labels:
5+
- a11y
6+
- needs-triage
7+
assignees:
8+
- amberhinds
9+
10+
body:
11+
- type: markdown
12+
attributes:
13+
value: |
14+
Please use this template when creating an accessibility issue.
15+
16+
- Please use the latest version of Accessibility Checker.
17+
- Search for existing issues before creating a new one.
18+
19+
- type: checkboxes
20+
id: prerequisites
21+
attributes:
22+
label: Before submitting
23+
options:
24+
- label: I've read and understood the [contribution guidelines](https://github.com/equalizedigital/accessibility-checker/blob/develop/.github/CONTRIBUTING.md).
25+
required: true
26+
- label: I've searched for [related issues](https://github.com/equalizedigital/accessibility-checker/issues) and confirmed this is not a duplicate.
27+
required: true
28+
29+
- type: textarea
30+
id: impacted-element
31+
attributes:
32+
label: Impacted element or component
33+
description: What part of the plugin or interface is affected?
34+
validations:
35+
required: true
36+
37+
- type: textarea
38+
id: description
39+
attributes:
40+
label: Description of the issue
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
id: screenshots
46+
attributes:
47+
label: Screenshot(s) or video
48+
description: Attach screenshots or paste links to videos demonstrating the issue.
49+
50+
- type: textarea
51+
id: recommended-fix
52+
attributes:
53+
label: Recommended fix or expected behavior
54+
55+
- type: dropdown
56+
id: severity
57+
attributes:
58+
label: Is this a critical blocker?
59+
options:
60+
- Yes - there is no workaround for this issue.
61+
- No - this is an accessibility problem, but it is minor or not a blocker.
62+
- Unsure
63+
64+
- type: dropdown
65+
id: wcag-sc
66+
attributes:
67+
label: Related WCAG Success Criterion
68+
description: Select the WCAG Success Criterion that is most closely related to this issue.
69+
options:
70+
- Not sure
71+
- 1.1.1 Non-text Content
72+
- 1.2.1 Audio-only and Video-only (Prerecorded)
73+
- 1.2.2 Captions (Prerecorded)
74+
- 1.2.3 Audio Description or Media Alternative (Prerecorded)
75+
- 1.2.4 Captions (Live)
76+
- 1.2.5 Audio Description (Prerecorded)
77+
- 1.3.1 Info and Relationships
78+
- 1.3.2 Meaningful Sequence
79+
- 1.3.3 Sensory Characteristics
80+
- 1.3.4 Orientation
81+
- 1.3.5 Identify Input Purpose
82+
- 1.4.1 Use of Color
83+
- 1.4.2 Audio Control
84+
- 1.4.3 Contrast (Minimum)
85+
- 1.4.4 Resize Text
86+
- 1.4.5 Images of Text
87+
- 1.4.10 Reflow
88+
- 1.4.11 Non-text Contrast
89+
- 1.4.12 Text Spacing
90+
- 1.4.13 Content on Hover or Focus
91+
- 2.1.1 Keyboard
92+
- 2.1.2 No Keyboard Trap
93+
- 2.1.4 Character Key Shortcuts
94+
- 2.2.1 Timing Adjustable
95+
- 2.2.2 Pause, Stop, Hide
96+
- 2.3.1 Three Flashes or Below Threshold
97+
- 2.4.1 Bypass Blocks
98+
- 2.4.2 Page Titled
99+
- 2.4.3 Focus Order
100+
- 2.4.4 Link Purpose (In Context)
101+
- 2.4.5 Multiple Ways
102+
- 2.4.6 Headings and Labels
103+
- 2.4.7 Focus Visible
104+
- 2.4.11 Focus Not Obscured (Minimum)
105+
- 2.5.1 Pointer Gestures
106+
- 2.5.2 Pointer Cancellation
107+
- 2.5.3 Label in Name
108+
- 2.5.4 Motion Actuation
109+
- 2.5.7 Dragging Movements
110+
- 2.5.8 Target Size (Minimum)
111+
- 3.1.1 Language of Page
112+
- 3.2.1 On Focus
113+
- 3.2.2 On Input
114+
- 3.2.3 Consistent Navigation
115+
- 3.2.4 Consistent Identification
116+
- 3.2.6 Consistent Help
117+
- 3.3.1 Error Identification
118+
- 3.3.2 Labels or Instructions
119+
- 3.3.3 Error Suggestion
120+
- 3.3.4 Error Prevention (Legal, Financial, Data)
121+
- 3.3.7 Redundant Entry
122+
- 3.3.8 Accessible Authentication (Minimum)
123+
- 4.1.1 Parsing
124+
- 4.1.2 Name, Role, Value
125+
- 4.1.3 Status Messages
126+
127+
- type: textarea
128+
id: reproduction
129+
attributes:
130+
label: How can we reproduce this behavior?
131+
placeholder: |
132+
1. Go to...
133+
2. Click...
134+
3. Observe...
135+
validations:
136+
required: true
137+
138+
- type: input
139+
id: wordpress-version
140+
attributes:
141+
label: WordPress version
142+
placeholder: e.g. 7.0
143+
144+
- type: input
145+
id: accessibility-checker-version
146+
attributes:
147+
label: Accessibility Checker version
148+
placeholder: e.g. 1.43.0
149+
validations:
150+
required: true
151+
152+
- type: input
153+
id: active-theme
154+
attributes:
155+
label: Active theme
156+
placeholder: e.g. Twenty Twenty-Six
157+
158+
- type: checkboxes
159+
id: screen-reader
160+
attributes:
161+
label: Which screen reader are you using? (if applicable)
162+
options:
163+
- label: NVDA
164+
- label: VoiceOver
165+
- label: JAWS
166+
- label: Other
167+
168+
- type: input
169+
id: other-screen-reader
170+
attributes:
171+
label: Other screen reader
172+
placeholder: Specify if you selected Other
173+
174+
- type: checkboxes
175+
id: browser
176+
attributes:
177+
label: Which browser is affected?
178+
options:
179+
- label: Internet Explorer
180+
- label: Edge
181+
- label: Chrome
182+
- label: Firefox
183+
- label: Safari
184+
- label: Brave
185+
186+
- type: checkboxes
187+
id: editor
188+
attributes:
189+
label: Which editor is affected? (if relevant)
190+
options:
191+
- label: Classic Editor
192+
- label: Gutenberg
193+
- label: Classic Editor Plugin
194+
- label: Page Builder
195+
196+
- type: input
197+
id: page-builder
198+
attributes:
199+
label: Page Builder name
200+
placeholder: Elementor, Beaver Builder, Divi, etc.
201+

.github/workflows/code-coverage-and-coveralls.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ jobs:
2828
with:
2929
php-version: '7.4'
3030
coverage: xdebug
31-
github-token: ${{ secrets.PUBLIC_REPO_ACCESS || secrets.GITHUB_TOKEN }}
31+
github-token: ${{ secrets.GITHUB_TOKEN }}
3232
env:
33-
GITHUB_TOKEN: ${{ secrets.PUBLIC_REPO_ACCESS || secrets.GITHUB_TOKEN }}
33+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3434

3535
- name: Install dependencies
3636
run: composer install --prefer-dist --no-progress --no-suggest

.github/workflows/cs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ jobs:
3232
php-version: '7.4'
3333
coverage: none
3434
tools: cs2pr
35-
github-token: ${{ secrets.PUBLIC_REPO_ACCESS || secrets.GITHUB_TOKEN }}
35+
github-token: ${{ secrets.GITHUB_TOKEN }}
3636
env:
37-
GITHUB_TOKEN: ${{ secrets.PUBLIC_REPO_ACCESS || secrets.GITHUB_TOKEN }}
37+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3838

3939
# Validate the composer.json file.
4040
# @link https://getcomposer.org/doc/03-cli.md#validate

.github/workflows/deploy-on-release-to-dot-org.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ jobs:
2121
php-version: '7.4'
2222
tools: composer:v2
2323
coverage: none
24-
github-token: ${{ secrets.PUBLIC_REPO_ACCESS }}
24+
github-token: ${{ secrets.GITHUB_TOKEN }}
2525
env:
26-
GITHUB_TOKEN: ${{ secrets.PUBLIC_REPO_ACCESS }}
26+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2727

2828
# Some images won't have svn available. Install it if that's the case.
2929
- name: Install SVN

.github/workflows/lint-php.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ jobs:
4141
with:
4242
php-version: 7.4
4343
coverage: none
44-
github-token: ${{ secrets.PUBLIC_REPO_ACCESS || secrets.GITHUB_TOKEN }}
44+
github-token: ${{ secrets.GITHUB_TOKEN }}
4545
env:
46-
GITHUB_TOKEN: ${{ secrets.PUBLIC_REPO_ACCESS || secrets.GITHUB_TOKEN }}
46+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4747

4848
# The lint stage doesn't run the unit tests or use code style, so no need for PHPUnit, WPCS or phpcompatibility.
4949
- name: 'Composer: adjust dependencies - remove PHPUnit'
@@ -70,7 +70,7 @@ jobs:
7070
ini-values: zend.assertions=1, error_reporting=-1, display_errors=On
7171
coverage: none
7272
tools: cs2pr
73-
github-token: ${{ secrets.PUBLIC_REPO_ACCESS || secrets.GITHUB_TOKEN }}
73+
github-token: ${{ secrets.GITHUB_TOKEN }}
7474

7575
- name: Lint against parse errors
7676
id: lint_with_cs2pr

.github/workflows/phpunit.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
integration:
1818
runs-on: ubuntu-latest
1919
env:
20-
COMPOSER_AUTH: '{"github-oauth": {"github.com": "${{ secrets.PUBLIC_REPO_ACCESS || secrets.GITHUB_TOKEN }}"}}'
20+
COMPOSER_AUTH: '{"github-oauth": {"github.com": "${{ secrets.GITHUB_TOKEN }}"}}'
2121

2222
strategy:
2323
fail-fast: false
@@ -63,12 +63,12 @@ jobs:
6363
php-version: ${{ matrix.php_version }}
6464
ini-values: zend.assertions=1, error_reporting=-1, display_errors=On
6565
coverage: none
66-
github-token: ${{ secrets.PUBLIC_REPO_ACCESS || secrets.GITHUB_TOKEN }}
66+
github-token: ${{ secrets.GITHUB_TOKEN }}
6767
env:
68-
GITHUB_TOKEN: ${{ secrets.PUBLIC_REPO_ACCESS || secrets.GITHUB_TOKEN }}
68+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6969

7070
- name: Configure Composer to use PAT
71-
run: composer config --global --auth github-oauth.github.com ${{ secrets.PUBLIC_REPO_ACCESS || secrets.GITHUB_TOKEN }}
71+
run: composer config --global --auth github-oauth.github.com ${{ secrets.GITHUB_TOKEN }}
7272

7373
# Install dependencies and handle caching in one go.
7474
# @link https://github.com/marketplace/actions/install-composer-dependencies
@@ -84,9 +84,9 @@ jobs:
8484
composer-options: "yoast/wp-test-utils --with-dependencies"
8585
# Bust the cache at least once a month - output format: YYYY-MM-DD.
8686
custom-cache-suffix: $(date -u -d "-0 month -$(($(date +%d)-3)) days" "+%F")
87-
github-token: ${{ secrets.PUBLIC_REPO_ACCESS || secrets.GITHUB_TOKEN }}
87+
github-token: ${{ secrets.GITHUB_TOKEN }}
8888
env:
89-
GITHUB_TOKEN: ${{ secrets.PUBLIC_REPO_ACCESS || secrets.GITHUB_TOKEN }}
89+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
9090
# Some images won't have svn available. Install it if that's the case.
9191
- name: Install SVN
9292
run: |

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.42.1
13+
* Version: 1.43.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.42.1' );
39+
define( 'EDAC_VERSION', '1.43.0' );
4040
}
4141

4242
// Current database version.

admin/AdminPage/AccessibilityReportsPage.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public function render_page() {
9898
]
9999
);
100100

101-
$dashboard_url = edac_link_wrapper( 'https://my.equalizedigital.com/', 'accessibility-reports', 'account', false );
101+
$dashboard_url = edac_link_wrapper( 'https://my.equalizedigital.com/license-keys/', 'accessibility-reports', 'account', false );
102102
$signup_url = edac_link_wrapper( 'https://my.equalizedigital.com/sign-up/', 'accessibility-reports', 'signup', false );
103103
$privacy_url = edac_link_wrapper( 'https://equalizedigital.com/privacy-policy/', 'accessibility-reports', 'privacy', false );
104104
$data_processing_url = edac_link_wrapper( 'https://equalizedigital.com/data-terms/', 'accessibility-reports', 'dpa', false );
@@ -237,7 +237,8 @@ public function render_page() {
237237
<h3><?php esc_html_e( 'Reports Enabled', 'accessibility-checker' ); ?></h3>
238238
<span class="edac-reports-card__status edac-reports-card__status--success" aria-hidden="true"><?php echo wp_kses( $this->get_status_icon( 'check' ), $allowed_icon_html ); ?></span>
239239
</div>
240-
<p><?php esc_html_e( 'You’ll receive weekly accessibility reports for this site.', 'accessibility-checker' ); ?></p>
240+
<p><?php esc_html_e( 'Weekly accessibility reports for this site are being emailed to the account owner of the license key.', 'accessibility-checker' ); ?></p>
241+
241242
<p class="edac-reports-card__meta">
242243
<?php if ( $next_send_date ) : ?>
243244
<?php /* translators: %s: next report date. */ ?>

changelog.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
*** Accessibility Checker ***
22

3+
2026-05-28 - version 1.43.0
4+
* Updated - improved empty alt warnings for images that are inside buttons with accessible names.
5+
* Updated - improved empty button checks for elements hidden from screen readers and keyboard users.
6+
* Updated - more strings translated into other languages.
7+
* Updated - hardened the dismiss issue REST endpoints against edge cases.
8+
39
2026-05-20 - version 1.42.1
410
* Updated - improved permission handling for the ignore feature.
511

docs/hooks.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ This document is auto-generated by `tools/generate-hooks-docs.php`. It lists onl
4747
| `edac_mydot_api_endpoint` | filter | [includes/classes/MyDot/Connector.php](https://github.com/equalizedigital/accessibility-checker/blob/develop/includes/classes/MyDot/Connector.php#L528) | 528 | Filters the MyDot API endpoint URL. | 1.xx.x |
4848
| `edac_mydot_product_id` | filter | [includes/classes/MyDot/Connector.php](https://github.com/equalizedigital/accessibility-checker/blob/develop/includes/classes/MyDot/Connector.php#L548) | 548 | Filters the MyDot product ID. | 1.xx.x |
4949
| `edac_pro_product_id` | filter | [includes/classes/MyDot/Connector.php](https://github.com/equalizedigital/accessibility-checker/blob/develop/includes/classes/MyDot/Connector.php#L1302) | 1302 | Infer license metadata from an EDD response. | 1.xx.x |
50-
| `edac_pro_setting_saving_checkbox` | action | [includes/options-page.php](https://github.com/equalizedigital/accessibility-checker/blob/develop/includes/options-page.php#L882) | 882 | Filter to run before saving a pro checkbox setting. | 1.31.0 |
50+
| `edac_pro_setting_saving_checkbox` | action | [includes/options-page.php](https://github.com/equalizedigital/accessibility-checker/blob/develop/includes/options-page.php#L881) | 881 | Filter to run before saving a pro checkbox setting. | 1.31.0 |
5151
| `edac_scannable_post_statuses` | filter | [admin/class-settings.php](https://github.com/equalizedigital/accessibility-checker/blob/develop/admin/class-settings.php#L28) | 28 | Filters the list of post statuses that are scannable. | 1.29.0 |
5252
| `edac_settings_tab_content` | action | [partials/settings-page.php](https://github.com/equalizedigital/accessibility-checker/blob/develop/partials/settings-page.php#L175) | 175 | Fires after the settings tab content has maybe been displayed. | 1.4.0 |
5353
| `edac_validate_before_sending_rest_response` | action | [includes/classes/class-rest-api.php](https://github.com/equalizedigital/accessibility-checker/blob/develop/includes/classes/class-rest-api.php#L617) | 617 | Fires before sending the REST response ending the validation process. | 1.14.0 |

0 commit comments

Comments
 (0)