' . esc_html__( 'ADA, WCAG 2.0 / 2.1 / 2.2, Section 508, EN 301 549, the California Unruh Civil Rights Act, the European Accessibility Act (EAA), AODA, the UK Equality Act 2010, and other accessibility laws and standards', 'acceguru' ) . ''
);
?>
-';
} elseif ( 0 === (int) $page_manual ) {
echo '0';
} else {
// The violet of the Manual Checks card, kept off
// the severity ramp so it never reads as a level.
echo wp_kses(
sprintf( '%d', (int) $page_manual ),
acceguru_admin_allowed_html()
);
}
?>
%2$s %3$s',
esc_attr( $kind ),
esc_html( $mark ),
esc_html( $label . ( '' !== $detail ? ' - ' . $detail : '' ) )
);
}
if ( $skipped_count > 0 ) {
/* translators: %d: number of pages skipped during the scan. */
$skipped_text = sprintf( _n( '%d page skipped', '%d pages skipped', $skipped_count, 'acceguru' ), $skipped_count );
// Name the causes on the same line. One cause reads as
// plain text; several are listed with their counts.
// Saved counters win over the rows: on a site with more
// skipped pages than the log keeps, the rows are an
// undercount while the counters stay exact.
$saved_counters = get_option( 'acceguru_last_scan_log_counters', array() );
if ( is_array( $saved_counters ) && (int) ( $saved_counters['skipped'] ?? 0 ) > 0 ) {
$skipped_count = (int) $saved_counters['skipped'];
$skipped_by_reason = Acceguru_Scanner::sanitize_skip_reason_counts( $saved_counters['skipped_by_reason'] ?? array() );
/* translators: %d: number of pages skipped during the scan. */
$skipped_text = sprintf( _n( '%d page skipped', '%d pages skipped', $skipped_count, 'acceguru' ), $skipped_count );
}
$reason_labels = Acceguru_Scanner::skip_reasons();
arsort( $skipped_by_reason );
$named = array();
foreach ( $skipped_by_reason as $code => $n ) {
$label = $reason_labels[ $code ] ?? $reason_labels['filter_skip'];
$named[] = ( 1 === count( $skipped_by_reason ) ) ? $label : $label . ': ' . (int) $n;
}
if ( $named ) {
$skipped_text .= ' - ' . implode( '; ', $named );
}
printf(
'
',
/* translators: %d: number of redirected addresses deliberately not scanned. */
esc_html( sprintf( __( 'Redirected addresses: %d - not scanned', 'acceguru' ), $redirected_count ) )
);
}
} else {
// The stored log keeps problems and failures only, so a scan
// where every page came back clean leaves it empty. The saved
// counters still prove the scan happened, and the counter row
// above says so, which makes the "no scans yet" line a plain
// contradiction. Same test the scanner uses to restore them.
$counters_rest = is_array( $stored_log_counters_b ) ? $stored_log_counters_b : array();
$scan_on_record = ( (int) ( $counters_rest['scanned'] ?? 0 ) > 0 )
|| ( (int) ( $counters_rest['redirected'] ?? 0 ) > 0 )
|| ( (int) ( $counters_rest['skipped'] ?? 0 ) > 0 );
if ( $scan_on_record ) {
printf(
'