Accessibility Health Check
https://indy.gov
Excellent
https://daylight.sonde.life/usgov/indy-gov/
Excellent
Executive Summary
Top Findings
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size because it is partially obscured (smallest space is 139.8px by 12px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 0px instead of at least 24px.WCAG 2.5.8
<button><a href="https://us-east-1-indy.graphassets.com/ActDBC5rvRWeCZlNNnLrDz/cmnqg8gjp0om407k9kby32l28">Click Here</a></button>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highInteractive controls must not be nested: Fix any of the following: Element has focusable descendantsWCAG 4.1.2
<button><a href="https://us-east-1-indy.graphassets.com/ActDBC5rvRWeCZlNNnLrDz/cmnqg8gjp0om407k9kby32l28">Click Here</a></button>
Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highFocus jumps backward from "PRIVACY POLICY" to "Click Here" (visual distance: 4574px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<button>Click Here</button>
Reorder elements in the DOM to match the visual layout. Align DOM order with visual presentation, or use tabIndex to match the visual sequence.
highMissing Strict-Transport-Security header (HSTS)
Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add a Content-Security-Policy header with appropriate directives Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer
mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
<div id="google_translate_container">
Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/
medium"Click Here" is visually at position 3 but receives focus at position 42 (drift: 39).WCAG 2.4.3
<a>Click Here</a>
Align DOM order with visual presentation, or use tabIndex to match the visual sequence.
mediumContent clipped by 95px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
<a href="#main" class="skip-button">Skip to main content</a>
Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.
lowPossible stuck loading animation: "spinner-dash" still running after page readiness
<circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linecap="round" cx="33" cy="33" r="30"></circle>
lowPossible stuck loading animation: "spinner-rotator" still running after page readiness
<svg xmlns="http://www.w3.org/2000/svg" class="VIpgJd-ZVi9od-aZ2wEe" width="96px" height="96px" viewBox="0 0 66 66"><circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linec
Best Page Fix Opportunities
www.indy.gov9findings
highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
<!-- a11y: role="image" -->
Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.
highAll touch targets must be 24px large, or leave sufficient space: Fix any of the following: Target has insufficient size because it is partially obscured (smallest space is 139.8px by 12px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 0px instead of at least 24px.WCAG 2.5.8
<button><a href="https://us-east-1-indy.graphassets.com/ActDBC5rvRWeCZlNNnLrDz/cmnqg8gjp0om407k9kby32l28">Click Here</a></button>
Ensure touch targets have sufficient size and space. See: https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
highInteractive controls must not be nested: Fix any of the following: Element has focusable descendantsWCAG 4.1.2
<button><a href="https://us-east-1-indy.graphassets.com/ActDBC5rvRWeCZlNNnLrDz/cmnqg8gjp0om407k9kby32l28">Click Here</a></button>
Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies. See: https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
highFocus jumps backward from "PRIVACY POLICY" to "Click Here" (visual distance: 4574px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
<button>Click Here</button>
Reorder elements in the DOM to match the visual layout. Align DOM order with visual presentation, or use tabIndex to match the visual sequence.
highMissing Strict-Transport-Security header (HSTS)
Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add a Content-Security-Policy header with appropriate directives Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer
mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
<div id="google_translate_container">
Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/
medium"Click Here" is visually at position 3 but receives focus at position 42 (drift: 39).WCAG 2.4.3
<a>Click Here</a>
Align DOM order with visual presentation, or use tabIndex to match the visual sequence.
lowPossible stuck loading animation: "spinner-dash" still running after page readiness
<circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linecap="round" cx="33" cy="33" r="30"></circle>
lowPossible stuck loading animation: "spinner-rotator" still running after page readiness
<svg xmlns="http://www.w3.org/2000/svg" class="VIpgJd-ZVi9od-aZ2wEe" width="96px" height="96px" viewBox="0 0 66 66"><circle class="VIpgJd-ZVi9od-aZ2wEe-Jt5cK" fill="none" stroke-width="6" stroke-linec
1findings
mediumContent clipped by 95px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
<a href="#main" class="skip-button">Skip to main content</a>
Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.
Methodology
The Sonde Score is a universal 0–1000 compliance index — think of it like a credit score for accessibility. Each finding is weighted by its impact on human access: a keyboard trap (critical) counts far more than a best-practice suggestion (low). The raw penalty is normalized per page so scores are comparable across sites of any size. A harmonic curve ensures every site gets a meaningful score — no zeros, no false perfection.
where S = sensitivity (750), P = Σ(weight × count), N = pages scanned
| Tier | Weight | Examples |
|---|---|---|
| Critical | 10 | Keyboard traps, missing page language |
| High | 3 | Missing alt text, insufficient contrast |
| Medium | 1 | Heading hierarchy, unclear link purpose |
| Low | 0.25 | Best-practice suggestions |
The Sonde Score is a living standard (v0.1). We’re building it in the open because accessibility is too important for closed-door decisions. Your expertise makes it better.
Enter Mission Control
Review raw findings data, track changes between scans, and contribute to Sonde’s open methodology.
Nominate a Site for the Daylight Index
Know a public website that should be on the accessibility leaderboard? Nominate it — we’ll scan it and publish the results.