= 80 ? '#22c55e' : ( $accessiq_score >= 60 ? '#f59e0b' : '#ef4444' ); // Passed = total checks (8) minus checks that had issues (unique wcag_ids with issues) $accessiq_wcag_with_issues = count( array_unique( array_map( fn( $accessiq_item ) => $accessiq_item->wcag_id, $accessiq_issues ) ) ); // Real number of checks run for this scan (older scans lack the meta; fall back to 9, the current JS engine count). $accessiq_total_checks = (int) get_post_meta( $accessiq_scan_id, '_accessiq_checks', true ) ?: 9; $accessiq_passed = max( 0, $accessiq_total_checks - $accessiq_wcag_with_issues ); $accessiq_standard = AccessIQ_Scanner::standard_label( $accessiq_scan_id ); // Group the rows already loaded (no extra queries): severity, then WCAG level. $accessiq_buckets = array( 'error' => array( 'A' => array(), 'AA' => array(), 'AAA' => array() ), 'warning' => array( 'A' => array(), 'AA' => array(), 'AAA' => array() ), ); $accessiq_ignored_count = 0; foreach ( $accessiq_issues as $accessiq_row ) { $accessiq_row_sev = ( 'warning' === $accessiq_row->severity ) ? 'warning' : 'error'; $accessiq_row_lvl = isset( $accessiq_buckets[ $accessiq_row_sev ][ $accessiq_row->level ] ) ? $accessiq_row->level : 'A'; $accessiq_buckets[ $accessiq_row_sev ][ $accessiq_row_lvl ][] = $accessiq_row; if ( ! empty( $accessiq_row->dismissed_at ) ) { ++$accessiq_ignored_count; } } $accessiq_fix_first = AccessIQ_Rule_Help::fix_first( $accessiq_issues, 5 ); ?> = 80 ? '✅ Excellent' : ( $accessiq_score >= 50 ? '⚠️ Needs Work' : '❌ Critical' ); $accessiq_grade_class = $accessiq_score >= 80 ? 'green' : ( $accessiq_score >= 50 ? 'amber' : 'red' ); // Calculate total checks (errors + warnings + passed) $accessiq_total_conducted = $accessiq_errors + $accessiq_warnings + $accessiq_passed; ?>
♿
AccessIQ
60 ? substr( $accessiq_url, 0, 60 ) . '...' : $accessiq_url ); ?>
 ·  Score: /100
← Back to All Reports
↓ Download PDF ↓ PDF Report PRO
⚡ AccessIQ Pro — Upgrade to Pro →
/100

🌐 60 ? substr( $accessiq_url, 0, 60 ) . '...' : $accessiq_url ); ?>
Errors
Warnings
Passed

>

    >
  1. WCAG · · —

0 ) : ?> 0 ) : ?> >
$accessiq_by_level ) : $accessiq_sev_total = count( $accessiq_by_level['A'] ) + count( $accessiq_by_level['AA'] ) + count( $accessiq_by_level['AAA'] ); if ( ! $accessiq_sev_total ) { continue; } $accessiq_sev_active = 0; foreach ( $accessiq_by_level as $accessiq_lv_rows ) { foreach ( $accessiq_lv_rows as $accessiq_row ) { if ( empty( $accessiq_row->dismissed_at ) ) { ++$accessiq_sev_active; } } } ?>

' . (int) $accessiq_sev_active . ''; if ( 'warning' === $accessiq_sev ) { /* translators: %s: number of warnings */ echo wp_kses( sprintf( __( 'Warnings (%s)', 'accessiq' ), $accessiq_n_html ), array( 'span' => array( 'class' => true ) ) ); } else { /* translators: %s: number of errors */ echo wp_kses( sprintf( __( 'Errors (%s)', 'accessiq' ), $accessiq_n_html ), array( 'span' => array( 'class' => true ) ) ); } ?>

$accessiq_lv_rows ) : if ( empty( $accessiq_lv_rows ) ) { continue; } $accessiq_lv_active = 0; foreach ( $accessiq_lv_rows as $accessiq_row ) { if ( empty( $accessiq_row->dismissed_at ) ) { ++$accessiq_lv_active; } } ?>

' . (int) $accessiq_lv_active . ''; /* translators: 1: WCAG level (A, AA or AAA), 2: number of issues */ echo wp_kses( sprintf( __( 'Level %1$s (%2$s)', 'accessiq' ), esc_html( $accessiq_lvl ), $accessiq_n_html ), array( 'span' => array( 'class' => true ) ) ); ?>

severity ); $accessiq_ignored = ! empty( $accessiq_issue->dismissed_at ); $accessiq_bg_color = $accessiq_is_err ? 'rgba(248,113,113,0.07)' : 'rgba(251,191,36,0.07)'; $accessiq_border_color = $accessiq_is_err ? '#f87171' : '#fbbf24'; $accessiq_issue_key = (string) ( $accessiq_issue->wcag_id . '-' . (int) $accessiq_issue->id ); $accessiq_help = AccessIQ_Rule_Help::get( $accessiq_issue->wcag_id, $accessiq_issue->issue_type ); $accessiq_type_label = AccessIQ_Rule_Help::normalise_type( $accessiq_issue->issue_type ); $accessiq_help_id = 'aiq-help-' . (int) $accessiq_issue->id; ?>
WCAG wcag_id ); ?> issue_type ); ?> >
level ); ?>
element ); ?>

suggestion ) ); ?>

:

:

ACCESSIQ_SCAN_CPT, 'posts_per_page' => -1, 'post_status' => 'publish', ) ); $accessiq_total_scans = count( $accessiq_all_scans ); $accessiq_total_score = 0; $accessiq_urls = array(); $accessiq_total_issues = 0; foreach ( $accessiq_all_scans as $accessiq_scan ) { $accessiq_total_score += (int) get_post_meta( $accessiq_scan->ID, '_accessiq_score', true ); $accessiq_urls[] = get_post_meta( $accessiq_scan->ID, '_accessiq_url', true ); $accessiq_total_issues += (int) get_post_meta( $accessiq_scan->ID, '_accessiq_errors', true ) + (int) get_post_meta( $accessiq_scan->ID, '_accessiq_warnings', true ); } $accessiq_avg_score = $accessiq_total_scans > 0 ? round( $accessiq_total_score / $accessiq_total_scans ) : 0; $accessiq_unique_pages = count( array_unique( array_filter( $accessiq_urls ) ) ); ?>

+ New Scan
📋
⭐
🌐
⚠️

📋 All Scans

Showing scans