Repository navigation
Improve accessibility (WCAG 2.2 AA) - #9
Merged
Merged
Conversation
- Theory help closes when keyboard focus leaves it, so it no longer covers the Save buttons; it is a labelled region instead of a non-modal dialog. - Sketch and charts get text alternatives (role="img" + label; the chart label gives the plotted quantity and its range). - Input borders meet 3:1 non-text contrast in both themes; one visible focus ring for every control. - Skip link to the calculator, aria-current on the open calculator, aria-invalid on invalid inputs, unit and hint announced with each input, labels for the Report fields, labelled Saved dialog, lang on language options, Escape closes the phone menu. - Heading levels in order (sidebar groups h2, help panel h3/h4). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DtSyM8utpga5ZR4GN2Zpn6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Eren · project thread
What was already fine
An axe-core scan (WCAG 2.0/2.1/2.2 A+AA + best practice) in both themes found only a heading-order issue. Text contrast passes, every form field has a label,
<html lang>follows the language switch, and the "?" help opens on hover, focus and tap and closes on Escape. Animations only start when the user presses Animate, and with reduced motion turned on they step through still frames.Fixes
role="dialog".role="img"with "Geometry sketch: {calculator}", and the not-to-scale note is wired up as its description. Charts arerole="img"with a label that names the quantity and its range, e.g. "Chart: Deflection curve. δy from 0 to 457 µm over z from 0 to 100 mm."--field-bordertoken (3.1:1 or better in light, 3.7:1 or better in dark). The old border was about 1.3:1. A single:focus-visiblering in the accent colour now applies to every control.aria-currenton the open calculator,aria-invalidon invalid inputs, unit and hint announced viaaria-describedby,aria-labelon the Report fields, the Saved dialog labelled by its heading,langset on the language options, and Escape now closes the phone menu.Testing
npm test: 805 passed.Generated by Claude Code