[codex] Fix audited accessibility issues on website and calculator#955
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
There was a problem hiding this comment.
This PR successfully addresses all four accessibility issues from the audit:
1. Mobile navigation keyboard trap fix (Header.tsx)
The mobile menu now only renders when open, preventing keyboard users from tabbing into hidden controls. The conditional rendering with {mobileOpen && <MobileMenu ... />} is the right approach. ARIA attributes are correctly set on the toggle button.
2. Research filter checkbox semantics (ResearchClient.tsx)
Excellent fix replacing the wrapper div pattern with proper label/checkbox structure. The checkboxes now have accessible labels via aria-labelledby, and the entire row is a clickable label element - exactly what screen readers need.
3. Contrast improvements
All the color changes move elements to stronger contrast ratios:
- Filter badges: primary[500] → primary[600]
- Action button (secondary variant): primary[500] → primary[600]
- Various status text: gray[400] → gray[500] or gray[600]
- Ready status icon: primary[500] → primary[600]
These changes meet AA contrast requirements while maintaining the visual hierarchy.
4. Heading hierarchy fix (CalculatorLaunchPage.tsx)
The feature cards now use h2 (order={2}) and the section headings use h3 (order={3}), fixing the heading level skip. This creates the proper document outline without visual changes.
The implementation is clean, focused, and follows accessibility best practices. No bugs or edge cases spotted.
Summary
Why
The accessibility audit found keyboard-focus leakage, unnamed checkbox semantics, contrast failures, and heading-level skips on the audited website and calculator surfaces.
Impact
Keyboard users no longer tab into hidden menu controls, filter checkboxes are announced with labels, and the audited CTA/status treatments use stronger contrast.
Validation
Refs #951
Refs #952
Refs #953
Refs #954
Builds on #947