• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

equalizedigital / accessibility-checker / 15452164054

04 Jun 2025 08:32PM UTC coverage: 28.973%. First build
15452164054

Pull #1004

github

web-flow
Merge 28c013970 into 147ba9c27
Pull Request #1004: Release v1.24.0

7 of 92 new or added lines in 13 files covered. (7.61%)

1495 of 5160 relevant lines covered (28.97%)

1.5 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/admin/class-welcome-page.php
1
<?php
2
/**
3
 * Class file for Welcome Page
4
 *
5
 * @package Accessibility_Checker
6
 *
7
 * phpcs:disable WordPress.WP.EnqueuedResources.NonEnqueuedScript
8
 */
9

10
namespace EDAC\Admin;
11

12
use EDAC\Admin\OptIn\Email_Opt_In;
13

14
/**
15
 * Class that handles welcome page
16
 */
17
class Welcome_Page {
18

19

20
        /**
21
         * Renders page summary
22
         *
23
         * @return void
24
         */
25
        public static function render_summary() {
26

27
                $scans_stats = new Scans_Stats();
×
28
                $summary     = $scans_stats->summary();
×
29
                ?>
30

31
                <div id="edac_welcome_page_summary">
×
32

NEW
33
                        <?php if ( defined( 'EDACP_VERSION' ) && EDAC_KEY_VALID ) : ?>
×
34
                                <section>
×
35
                                        <div class="edac-cols edac-cols-header">
×
36
                                                <div class="edac-cols-left">
×
37
                                                        <h2>
×
38
                                                                <?php esc_html_e( 'Most Recent Test Summary', 'accessibility-checker' ); ?>
×
39
                                                        </h2>
×
40
                                                </div>
×
41

42
                                                <p class="edac-cols-right">
×
43
                                                        <button class="button" id="edac_clear_cached_stats">
×
44
                                                                <?php esc_html_e( 'Update Counts', 'accessibility-checker' ); ?>
×
45
                                                        </button>
×
46

47
                                                        <a class="edac-ml-1 button" href="<?php echo esc_url( admin_url( 'admin.php?page=accessibility_checker_full_site_scan' ) ); ?>">
×
48
                                                                <?php esc_html_e( 'Start New Scan', 'accessibility-checker' ); ?>
×
49
                                                        </a>
×
50

51
                                                        <a class="edac-ml-1 button button-primary" href="<?php echo esc_url( admin_url( 'admin.php?page=accessibility_checker_issues' ) ); ?>">
×
52
                                                                <?php esc_html_e( 'View All Open Issues', 'accessibility-checker' ); ?>
×
53
                                                        </a>
×
54

55
                                                        <?php if ( get_option( 'edacah_enable_show_history_button', false ) ) : ?>
×
56
                                                                <a class="edac-ml-1 button button-primary" href="<?php echo esc_url( admin_url( 'admin.php?page=accessibility_checker_audit_history' ) ); ?>">
×
57
                                                                        <?php esc_html_e( 'See History', 'accessibility-checker' ); ?>
×
58
                                                                </a>
×
59
                                                        <?php endif; ?>
×
60
                                                </p>
×
61
                                        </div>
×
62

63
                                        <div class="edac-welcome-grid-container">
×
64
                                                <div class="edac-welcome-grid-c1 edac-welcome-grid-item edac-background-light" style="grid-area: 1 / 1 / span 2;">
×
65
                                                        <div class="edac-circle-progress" role="progressbar" aria-valuenow="<?php echo esc_attr( $summary['passed_percentage'] ); ?>" aria-valuemin="0" aria-valuemax="100" style="text-align: center; background: radial-gradient(closest-side, white 90%, transparent 80% 100%), conic-gradient(#006600 <?php echo esc_attr( $summary['passed_percentage'] ); ?>%, #e2e4e7 0);">
×
66
                                                                <div class="edac-progress-percentage edac-xxx-large-text">
67
                                                                        <?php echo esc_html( $summary['passed_percentage_formatted'] ); ?>
×
68
                                                                </div>
×
69
                                                                <div class="edac-progress-label edac-large-text">
×
70
                                                                        <?php esc_html_e( 'Passed Tests', 'accessibility-checker' ); ?>
×
71
                                                                </div>
×
72
                                                        </div>
×
73
                                                </div>
×
74

75
                                                <div class="edac-welcome-grid-c2 edac-welcome-grid-item <?php echo ( $summary['distinct_errors_without_contrast'] > 0 ) ? 'has-errors' : ' has-no-errors'; ?>">
×
76
                                                        <div class="edac-inner-row">
77
                                                                <div class="edac-stat-number">
78
                                                                        <?php echo esc_html( $summary['distinct_errors_without_contrast_formatted'] ); ?>
×
79
                                                                </div>
×
80
                                                        </div>
×
81
                                                        <div class="edac-inner-row">
×
82
                                                                <div class="edac-stat-label">
×
83
                                                                        <?php
×
84
                                                                                echo esc_html(
×
85
                                                                                        sprintf(
×
86
                                                                                                _n(
×
87
                                                                                                        'Unique Error',
×
88
                                                                                                        'Unique Errors',
×
89
                                                                                                        $summary['distinct_errors_without_contrast'],
×
90
                                                                                                        'accessibility-checker'
×
91
                                                                                                ),
×
92
                                                                                                $summary['distinct_errors_without_contrast_formatted']
×
93
                                                                                        )
×
94
                                                                                );
×
95
                                                                        ?>
96
                                                                </div>
×
97
                                                        </div>
×
98
                                                </div>
×
99

100
                                                <div class="edac-welcome-grid-c3 edac-welcome-grid-item <?php echo ( $summary['distinct_contrast_errors'] > 0 ) ? 'has-contrast-errors' : 'has-no-contrast-errors'; ?>">
×
101
                                                        <div class="edac-inner-row">
102
                                                                <div class="edac-stat-number">
103
                                                                        <?php echo esc_html( $summary['distinct_contrast_errors_formatted'] ); ?>
×
104
                                                                </div>
×
105
                                                        </div>
×
106
                                                        <div class="edac-inner-row">
×
107
                                                                <div class="edac-stat-label">
×
108
                                                                        <?php
×
109
                                                                                echo esc_html(
×
110
                                                                                        sprintf(
×
111
                                                                                                _n(
×
112
                                                                                                        'Unique Color Contrast Error',
×
113
                                                                                                        'Unique Color Contrast Errors',
×
114
                                                                                                        $summary['distinct_contrast_errors'],
×
115
                                                                                                        'accessibility-checker'
×
116
                                                                                                ),
×
117
                                                                                                $summary['distinct_contrast_errors_formatted']
×
118
                                                                                        )
×
119
                                                                                );
×
120
                                                                        ?>
121
                                                                </div>
×
122
                                                        </div>
×
123
                                                </div>
×
124

125
                                                <div class="edac-welcome-grid-c4 edac-welcome-grid-item <?php echo ( $summary['distinct_warnings'] > 0 ) ? 'has-warning' : 'has-no-warning'; ?>">
×
126
                                                        <div class="edac-inner-row">
127
                                                                <div class="edac-stat-number">
128
                                                                        <?php echo esc_html( $summary['distinct_warnings_formatted'] ); ?>
×
129
                                                                </div>
×
130
                                                        </div>
×
131
                                                        <div class="edac-inner-row">
×
132
                                                                <div class="edac-stat-label">
×
133
                                                                        <?php
×
134
                                                                                echo esc_html(
×
135
                                                                                        sprintf(
×
136
                                                                                                _n(
×
137
                                                                                                        'Unique Warning',
×
138
                                                                                                        'Unique Warnings',
×
139
                                                                                                        $summary['distinct_warnings'],
×
140
                                                                                                        'accessibility-checker'
×
141
                                                                                                ),
×
142
                                                                                                $summary['distinct_warnings_formatted']
×
143
                                                                                        )
×
144
                                                                                );
×
145
                                                                        ?>
146
                                                                </div>
×
147
                                                        </div>
×
148
                                                </div>
×
149

150
                                                <div class="edac-welcome-grid-c5 edac-welcome-grid-item <?php echo ( $summary['distinct_ignored'] > 0 ) ? 'has-ignored' : 'has-no-ignored'; ?>">
×
151
                                                        <div class="edac-inner-row">
152
                                                                <div class="edac-stat-number">
153
                                                                        <?php echo esc_html( $summary['distinct_ignored_formatted'] ); ?>
×
154
                                                                </div>
×
155
                                                        </div>
×
156
                                                        <div class="edac-inner-row">
×
157
                                                                <div class="edac-stat-label">
×
158
                                                                        <?php
×
159
                                                                                echo esc_html(
×
160
                                                                                        sprintf(
×
161
                                                                                                _n(
×
162
                                                                                                        'Ignored Item',
×
163
                                                                                                        'Ignored Items',
×
164
                                                                                                        $summary['distinct_ignored'],
×
165
                                                                                                        'accessibility-checker'
×
166
                                                                                                ),
×
167
                                                                                                $summary['distinct_ignored_formatted']
×
168
                                                                                        )
×
169
                                                                                );
×
170
                                                                        ?>
171
                                                                </div>
×
172
                                                        </div>
×
173
                                                </div>
×
174

175
                                                <div class="edac-welcome-grid-c6 edac-welcome-grid-item edac-background-light">
×
176
                                                        <div class="edac-inner-row">
×
177
                                                                <div class="edac-stat-label">
×
178
                                                                        <?php esc_html_e( 'Average Issues Per Page', 'accessibility-checker' ); ?>
×
179
                                                                </div>
×
180
                                                        </div>
×
181
                                                        <div class="edac-inner-row">
×
182
                                                                <div class="edac-stat-number">
×
183
                                                                        <?php echo esc_html( $summary['avg_issues_per_post_formatted'] ); ?>
×
184
                                                                </div>
×
185
                                                        </div>
×
186
                                                </div>
×
187

188
                                                <div class="edac-welcome-grid-c7 edac-welcome-grid-item edac-background-light">
×
189
                                                        <div class="edac-inner-row">
×
190
                                                                <div class="edac-stat-label">
×
191
                                                                        <?php esc_html_e( 'Average Issue Density', 'accessibility-checker' ); ?>
×
192
                                                                </div>
×
193
                                                        </div>
×
194
                                                        <div class="edac-inner-row">
×
195
                                                                <div class="edac-stat-number">
×
196
                                                                        <?php echo esc_html( $summary['avg_issue_density_percentage_formatted'] ); ?>
×
197
                                                                </div>
×
198
                                                        </div>
×
199
                                                </div>
×
200

201
                                                <div class="edac-welcome-grid-c8 edac-welcome-grid-item edac-background-light">
×
202
                                                        <div class="edac-inner-row">
×
203
                                                                <div class="edac-stat-label">
×
204
                                                                        <?php esc_html_e( 'Report Last Updated:', 'accessibility-checker' ); ?>
×
205
                                                                </div>
×
206
                                                        </div>
×
207
                                                        <div class="edac-inner-row">
×
208
                                                                <?php if ( $summary['fullscan_completed_at'] > 0 ) : ?>
×
209
                                                                        <div class="edac-stat-number edac-timestamp-to-local">
×
210
                                                                                <?php echo isset( $summary['cached_at_formatted'] ) ? esc_html( $summary['cached_at_formatted'] ) : esc_html( $summary['fullscan_completed_at_formatted'] ); ?>
×
211
                                                                        </div>
×
212
                                                                <?php else : ?>
×
213
                                                                        <div class="edac-stat-number">
×
214
                                                                                <?php esc_html_e( 'Never', 'accessibility-checker' ); ?>
×
215
                                                                        </div>
×
216
                                                                <?php endif; ?>
×
217
                                                        </div>
×
218
                                                </div>
×
219

220
                                                <div class="edac-welcome-grid-c9 edac-welcome-grid-item edac-background-light">
×
221
                                                        <div class="edac-inner-row">
×
222
                                                                <div class="edac-stat-number">
×
223
                                                                        <?php echo esc_html( $summary['posts_scanned_formatted'] ); ?>
×
224
                                                                </div>
×
225
                                                        </div>
×
226
                                                        <div class="edac-inner-row">
×
227
                                                                <div class="edac-stat-label">
×
228
                                                                        <?php esc_html_e( 'URLs Scanned', 'accessibility-checker' ); ?>
×
229
                                                                </div>
×
230
                                                        </div>
×
231
                                                </div>
×
232

233
                                                <div class="edac-welcome-grid-c10 edac-welcome-grid-item edac-background-light">
×
234
                                                        <div class="edac-inner-row">
×
235
                                                                <div class="edac-stat-number">
×
236
                                                                        <?php
×
237
                                                                                printf(
×
238
                                                                                        // translators: %1$s is the number of post types with issues, %2$s is the number of public post types.
239
                                                                                        esc_html__( '%1$s of %2$s', 'accessibility-checker' ),
×
240
                                                                                        esc_html( $summary['scannable_post_types_count_formatted'] ),
×
241
                                                                                        esc_html( $summary['public_post_types_count_formatted'] )
×
242
                                                                                );
×
243
                                                                        ?>
244
                                                                </div>
×
245
                                                        </div>
×
246
                                                        <div class="edac-inner-row">
×
247
                                                                <div class="edac-stat-label">
×
248
                                                                        <?php esc_html_e( 'Post Types Checked', 'accessibility-checker' ); ?>
×
249
                                                                </div>
×
250
                                                        </div>
×
251
                                                </div>
×
252

253
                                                <div class="edac-welcome-grid-c11 edac-welcome-grid-item edac-background-light">
×
254
                                                        <div class="edac-inner-row">
×
255
                                                                <div class="edac-stat-number">
×
256
                                                                        <?php echo esc_html( $summary['posts_without_issues'] ?? 0 ); ?>
×
257
                                                                </div>
×
258
                                                        </div>
×
259
                                                        <div class="edac-inner-row">
×
260
                                                                <div class="edac-stat-label">
×
261
                                                                        <?php echo esc_html__( 'URLs with 100% score', 'accessibility-checker' ); ?>
×
262
                                                                </div>
×
263
                                                        </div>
×
264
                                                </div>
×
265
                                        </div>
×
266

267
                                        <div>
×
268
                                                <p>
×
269
                                                        <?php esc_html_e( 'This summary is automatically updated every 24 hours, or any time a full site scan is completed. You can also manually update these results by clicking the Update Counts button.', 'accessibility-checker' ); ?>
×
270
                                                </p>
×
271
                                        </div>
×
272

273
                                        <?php if ( $summary['is_truncated'] ) : ?>
×
274
                                                <div class="edac-center-text edac-mt-3">
×
275
                                                        <?php esc_html_e( 'Your site has a large number of issues. For performance reasons, not all issues have been included in this summary.', 'accessibility-checker' ); ?>
×
276
                                                </div>
×
277
                                        <?php endif; ?>
×
278
                                </section>
×
279

280
                        <?php elseif ( true !== (bool) get_user_meta( get_current_user_id(), 'edac_welcome_cta_dismissed', true ) ) : ?>
×
281

282
                                <section>
×
283
                                        <div class="edac-cols edac-cols-header">
×
284
                                                <h2 class="edac-cols-left">
×
285
                                                        <?php esc_html_e( 'Site-Wide Accessibility Reports', 'accessibility-checker' ); ?>
×
286
                                                </h2>
×
287

288
                                                <p class="edac-cols-right">
×
289
                                                        <button id="dismiss_welcome_cta" class="button">
×
290
                                                                <?php esc_html_e( 'Hide banner', 'accessibility-checker' ); ?>
×
291
                                                        </button>
×
292
                                                </p>
×
293
                                        </div>
×
294

295
                                        <div class="edac-modal-container">
×
296
                                                <div class="edac-modal">
×
297
                                                        <div class="edac-modal-content">
×
298
                                                                <h3 class="edac-align-center">
×
299
                                                                        <?php esc_html_e( 'Unlock Detailed Accessibility Reports', 'accessibility-checker' ); ?>
×
300
                                                                </h3>
×
301
                                                                <p class="edac-align-center">
×
302
                                                                        <?php esc_html_e( 'Start scanning your entire website for accessibility issues, get full-site reports, and become compliant with accessibility guidelines faster.', 'accessibility-checker' ); ?>
×
303
                                                                </p>
×
304
                                                                <p class="edac-align-center">
×
305
                                                                        <a class="button button-primary" href="https://equalizedigital.com/accessibility-checker/pricing/?utm_source=accessibility-checker&utm_medium=software&utm_campaign=welcome-page">
×
306
                                                                                <?php esc_html_e( 'Upgrade Accessibility Checker', 'accessibility-checker' ); ?>
×
307
                                                                        </a>
×
308
                                                                </p>
×
309
                                                        </div>
×
310
                                                </div>
×
311
                                        </div>
×
312
                                </section>
×
313

314
                        <?php endif; ?>
×
315

316
                </div>
×
317
                <?php
×
318
        }
319

320
        /**
321
         * Render the ActiveCampaign email opt form in panel
322
         *
323
         * @return void
324
         */
325
        public static function maybe_render_email_opt_in() {
326

327
                if ( Email_Opt_In::user_already_subscribed() ) {
×
328
                        return;
×
329
                }
330

331
                if ( Email_Opt_In::should_show_modal() ) {
×
332
                        return;
×
333
                }
334

335
                Email_Opt_In::render_form();
×
336
        }
337
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc