Skip to main content

Proof · Accessibility scorecard

Every page on this site, scanned and chain-stamped.

The accessibility statement commits us to WCAG 2.2 Level AA across the public surface. This page is how we prove it. A scan runs against every canonical URL; the result — pages scanned, errors, warnings, per-page status, exact rules tested — is written to the public audit_logs chain as an accessibility_scan_completed event. Verifying the chain at that sequence equals verifying the scan. Same standard the rest of the site lives under. No fast track and no slow track.

Latest scan

Fetching latest scan…

Reading /api/v1/admin/provenance/accessibility.latest_scan

Per-page results

What gets checked

Structural WCAG 2.2 AA, in nine rules.

The scan is the structural half of WCAG 2.2 AA — the things measurable from rendered HTML alone. It does not replace screen-reader testing or color-contrast measurement on rendered pixels (we do those manually per release per the statement). What it does cover, on every public page, every scan:

  1. <html lang> is set (WCAG 3.1.1)
  2. Skip-link is the first focusable element on the page (2.4.1)
  3. <main id="main"> exists as the skip-link target (2.4.1, 4.1.2)
  4. <title> is present and non-empty (2.4.2)
  5. Exactly one <h1> per page (2.4.6)
  6. No heading-level jumps — h2→h3→h4 only descends (1.3.1, 2.4.6)
  7. Every <img> has an alt attribute (1.1.1)
  8. Every form input has an associated <label>, aria-label, or aria-labelledby (3.3.2)
  9. Every <table> has a header row (<thead> or <th>) (1.3.1)

How this works

Same chain. Same standard. Same proof.

1 · Scanner runs. The static-hierarchy checker (rules above) walks every canonical URL on conceptualhealth.com.

2 · Result chain-stamped. The full scan summary — every page, every issue if any — is written to audit_logs as an event of type accessibility_scan_completed. The row carries an HMAC and a pointer to the row before it.

3 · You verify. The chain row is publicly readable at /proof/chain.html?seq=N (link above). Walk the chain at /proof/verify-chain.html to prove the row hasn't been edited. Read the description; that's the scan output verbatim. No translation, no PR-team re-write.

Integrity In All We Do℠. Every clinical decision, every line of audit log, every line of code, every accessibility scan, answers to the same chain.