Weekly quality ledger
| Domain | Score | Trajectory | Pages audited (7d) | Median axe / page | Median Alfa / page | Trend |
|---|---|---|---|---|---|---|
| www.cms.gov | A 100 | ▬ stable +0 | 2550 | 0 | 65 | Median axe violations per page over 17 weeks: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0. |
| www.medicaid.gov | A 100 | ▲ improving +30 | 6805 | 0 | 83 | Median axe violations per page over 17 weeks: 6, 6, 6, 6, 6, 4, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0. |
| data.healthcare.gov | A 100 | ▬ stable +0 | 1256 | 0 | 37 | Median axe violations per page over 17 weeks: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0. |
| openpaymentsdata.cms.gov | A 100 | ▬ stable +0 | 225 | 0 | 73 | Median axe violations per page over 17 weeks: 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0. |
| data.medicaid.gov | A 100 | ▬ stable +0 | 2163 | 0 | 37 | Median axe violations per page over 17 weeks: 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0. |
| data.cms.gov | A 95 | ▬ stable +0 | 2021 | 1 | 59 | Median axe violations per page over 17 weeks: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1. |
| www.healthcare.gov | A 95 | ▬ stable +0 | 1138 | 1 | 50 | Median axe violations per page over 17 weeks: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1. |
| www.medicare.gov | A 90 | ▬ stable +0 | 1563 | 2 | 53 | Median axe violations per page over 17 weeks: 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2. |
| www.cdc.gov | B 75 | ▬ stable +0 | 2908 | 5 | 79 | Median axe violations per page over 17 weeks: 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5. |
| nih.gov | D 63 | ▬ stable +0 | 26 | 8 | 90 | Median axe violations per page over 16 weeks: 3, 3, 3, 2, 7, 8, 8, 8, 8, 10, 8, 8, 8, 8, 8, 8. |
Scores are a relative, automated signal based on axe violations per page (axe runs on every page; Alfa is sampled and reported separately). Automated testing finds only ~⅓ of barriers — use scores to compare and track direction, not as a pass/fail.
| Domain | 2026-W24 | 2026-W25 | 2026-W26 | 2026-W27 | 2026-W28 | 2026-W29 | 2026-W30 | 2026-W31 | 2026-W32 | 2026-W33 | 2026-W34 | 2026-W35 | 2026-W36 | 2026-W37 | 2026-W38 | 2026-W39 | 2026-W40 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| www.cms.gov | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| www.medicaid.gov | 6 | 6 | 6 | 6 | 6 | 4 | 0 | 0 | 0 | 0 | 0 | 6 | 6 | 0 | 0 | 0 | 0 |
| data.healthcare.gov | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| openpaymentsdata.cms.gov | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| data.medicaid.gov | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| data.cms.gov | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| www.healthcare.gov | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| www.medicare.gov | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| www.cdc.gov | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
| nih.gov | — | 3 | 3 | 3 | 2 | 7 | 8 | 8 | 8 | 8 | 10 | 8 | 8 | 8 | 8 | 8 | 8 |
Worst offenders across all domains
| Domain | Issue | Severity | Pages |
|---|---|---|---|
| www.healthcare.gov | ARIA attributes must conform to valid values (WCAG 4.1.2) | Critical | 1102 |
| www.medicare.gov | All page content should be contained by landmarks (WCAG criterion undetermined) | Serious | 1185 |
| www.cdc.gov | All page content should be contained by landmarks (WCAG criterion undetermined) | Serious | 1038 |
| www.medicaid.gov | Text has enhanced contrast (WCAG 1.4.6) | Moderate | 811 |
| www.medicaid.gov | Target size is at least 44×44 CSS pixels (Enhanced) (WCAG 2.5.5) | Moderate | 811 |
| www.medicaid.gov | Scrolling content can be accessed by keyboard (WCAG criterion undetermined) | Moderate | 811 |
| data.cms.gov | Banner landmark should not be contained in another landmark (WCAG criterion undetermined) | Moderate | 805 |
| data.medicaid.gov | Text has minimum contrast ratio of 4.5:1 (WCAG 1.4.8) | Moderate | 688 |
| data.medicaid.gov | Target size is at least 44×44 CSS pixels (Enhanced) (WCAG 2.5.5) | Moderate | 688 |
| www.medicaid.gov | Text has minimum contrast ratio of 4.5:1 (WCAG 1.4.8) | Moderate | 681 |
| data.cms.gov | Scrollable region must have keyboard access (WCAG 2.1.1) | Serious | 419 |
| data.cms.gov | Text has minimum contrast ratio of 4.5:1 (WCAG 1.4.8) | Moderate | 649 |
| data.cms.gov | Target size is at least 44×44 CSS pixels (Enhanced) (WCAG 2.5.5) | Moderate | 649 |
| data.medicaid.gov | aria-hidden element does not contain focusable elements (WCAG 4.1.2) | Moderate | 574 |
| data.healthcare.gov | Text has minimum contrast ratio of 4.5:1 (WCAG 1.4.8) | Moderate | 596 |
| data.healthcare.gov | Target size is at least 44×44 CSS pixels (Enhanced) (WCAG 2.5.5) | Moderate | 596 |
| www.healthcare.gov | Text has minimum contrast ratio of 4.5:1 (WCAG 1.4.8) | Moderate | 555 |
| www.healthcare.gov | Target size is at least 44×44 CSS pixels (Enhanced) (WCAG 2.5.5) | Moderate | 555 |
| data.healthcare.gov | aria-hidden element does not contain focusable elements (WCAG 4.1.2) | Moderate | 507 |
| www.healthcare.gov | aria attribute is permitted for element role (WCAG criterion undetermined) | Moderate | 532 |
Cross-technology issues
| Technology | Finding | Lift | Sites | Pages |
|---|---|---|---|---|
| Bootstrap | Accessible name of link or button matches visible label (alfa) | 2.96× | 4 | 12 |
| Bootstrap | Wrap all page content in landmarks (header, nav, main, footer) so users can navigate by region. (axe) | 3.24× | 3 | 225 |
| Tealium | Text has minimum contrast ratio of 4.5:1 (alfa) | 1.19× | 8 | 374 |
| HSTS | Text has minimum contrast ratio of 4.5:1 (alfa) | 1.00× | 9 | 377 |
| HSTS | Target size is at least 44×44 CSS pixels (Enhanced) (alfa) | 1.00× | 9 | 413 |
| Google Analytics | Text has minimum contrast ratio of 4.5:1 (alfa) | 1.00× | 9 | 381 |
| Google Analytics | Target size is at least 44×44 CSS pixels (Enhanced) (alfa) | 1.00× | 9 | 417 |
| Tealium | Target size is at least 44×44 CSS pixels (Enhanced) (alfa) | 1.09× | 8 | 374 |
| Drupal | Text has minimum contrast ratio of 4.5:1 (alfa) | 1.17× | 7 | 283 |
| Acquia Cloud Platform | Text has minimum contrast ratio of 4.5:1 (alfa) | 1.17× | 7 | 283 |
| Amazon Web Services | Text has minimum contrast ratio of 4.5:1 (alfa) | 1.17× | 7 | 283 |
| PHP | Text has minimum contrast ratio of 4.5:1 (alfa) | 1.17× | 7 | 283 |
| jQuery | Target size is at least 44×44 CSS pixels (Enhanced) (alfa) | 0.99× | 8 | 324 |
| Drupal | aria-hidden element does not contain focusable elements (alfa) | 1.58× | 5 | 159 |
| Acquia Cloud Platform | aria-hidden element does not contain focusable elements (alfa) | 1.58× | 5 | 159 |
| Amazon Web Services | aria-hidden element does not contain focusable elements (alfa) | 1.58× | 5 | 159 |
| PHP | aria-hidden element does not contain focusable elements (alfa) | 1.58× | 5 | 159 |
| jQuery | Text has minimum contrast ratio of 4.5:1 (alfa) | 0.96× | 8 | 288 |
| DataTables | Wrap all page content in landmarks (header, nav, main, footer) so users can navigate by region. (axe) | 3.80× | 2 | 36 |
| Drupal | Target size is at least 44×44 CSS pixels (Enhanced) (alfa) | 1.07× | 7 | 283 |
| Acquia Cloud Platform | Target size is at least 44×44 CSS pixels (Enhanced) (alfa) | 1.07× | 7 | 283 |
| Amazon Web Services | Target size is at least 44×44 CSS pixels (Enhanced) (alfa) | 1.07× | 7 | 283 |
| PHP | Target size is at least 44×44 CSS pixels (Enhanced) (alfa) | 1.07× | 7 | 283 |
| YouTube | Table header has scope (alfa) | 3.69× | 2 | 12 |
| Bootstrap | page-has-heading-one (axe) | 3.61× | 2 | 40 |
Common Lighthouse recommendations
| Recommendation | Category | Sites | Pages | Est. saving |
|---|---|---|---|---|
| WebMCP tools registered | Agentic (AI-readiness) | 9 | 983 | — |
| WebMCP form coverage | Agentic (AI-readiness) | 9 | 983 | — |
| WebMCP schemas are valid | Agentic (AI-readiness) | 9 | 983 | — |
| llms.txt follows recommendations | Agentic (AI-readiness) | 9 | 983 | — |
| Network dependency tree | Performance | 9 | 976 | — |
| Reduce unused JavaScript | Performance | 9 | 970 | 515.3 MB · 2079.8s |
| Time to Interactive | Performance | 9 | 957 | — |
| Minimize main-thread work | Performance | 9 | 954 | 736.9s |
| Reduce JavaScript execution time | Performance | 9 | 954 | 734.8s |
| Reduce unused CSS | Performance | 9 | 946 | 75.8 MB · 407.3s |
| Largest Contentful Paint | Performance | 9 | 916 | — |
| Use efficient cache lifetimes | Performance | 9 | 886 | 2137.9s |
| First Contentful Paint | Performance | 9 | 882 | — |
| Max Potential First Input Delay | Performance | 9 | 819 | — |
| Speed Index | Performance | 9 | 817 | — |
| Total Blocking Time | Performance | 9 | 777 | — |
| Legacy JavaScript | Performance | 9 | 318 | 56.0s |
| Cumulative Layout Shift | Agentic (AI-readiness) | 9 | 317 | — |
| Layout shift culprits | Performance | 9 | 317 | — |
| Forced reflow | Performance | 9 | 307 | — |
| Initial server response time was short | Performance | 9 | 163 | 45.5s |
| Render-blocking requests | Performance | 8 | 945 | 1767.3s |
| Font display | Performance | 8 | 666 | 46.0s |
| Missing source maps for large first-party JavaScript | Best Practices | 8 | 618 | — |
| Issues were logged in the `Issues` panel in Chrome Devtools | Best Practices | 8 | 354 | — |
Recurring patterns across domains
Blocked targets (1)
These sites returned only access-denied responses to the scanner, so no accessibility or sustainability data could be collected. This is typically a WAF or bot manager blocking automated traffic, not a scan failure. See WAF-ALLOWLIST.md for how the scanner can be allowlisted.
- hhs.gov — HTTP 403 (2026-W40)
Tools
- URL error lookup — paste a URL or URL fragment and export all accessibility findings for that page as JSON, CSV, or JIRA-ready Markdown.
Why this exists
Continuous measurement beats one-off audits. This ledger tracks whether each site is getting more accessible and lighter over time, using axe-core and Alfa (the open source engine behind Siteimprove) for accessibility, and page weight with Sustainable Web Design CO₂ estimates for sustainability. Everything here is open: the scanner, the data, and the reports.
This data is also available beyond the web page: a read-only JSON API (no auth, no server), a machine-discovery API catalog, and for coding agents an llms.txt guide plus a local MCP server.