Skip to content

Improve simulation accessibility for screen readers and keyboard users - #41

Merged
veillette merged 1 commit into
mainfrom
claude/improve-simulation-accessibility-QiyRr
Feb 23, 2026
Merged

Improve simulation accessibility for screen readers and keyboard users#41
veillette merged 1 commit into
mainfrom
claude/improve-simulation-accessibility-QiyRr

Conversation

@veillette

Copy link
Copy Markdown
Collaborator
  • Add a11y section to i18n strings (EN + FR) with labels for the video
    player, timeline scrubber, rewind button, digitizing overlay, track
    checkbox/delete actions, data table, and CSV export button; expose them
    via a new StringManager.getA11y() method

  • VideoPlayerNode: set aria-label on the HTML

  • PlaybackControlsNode: add accessibleName to the timeline Slider
    ("Video timeline — drag to seek") and to the rewind RectangularPushButton
    ("Rewind to start"), replacing invisible icon-only affordances

  • DataTableNode: add a visually-hidden <caption> to the HTML table,
    add scope="col" to every <th> so column headers are properly
    associated with their data cells, and supply a plain-text aria-label
    on color-coded track headers whose HTML content is not readable as text;
    add accessibleName to the CSV export button

  • TrackListPanel / TrackRowNode: add accessibleName to each track
    checkbox ("Digitize track A/B/C…") and delete button ("Remove track
    A/B/C…") so their purpose is unambiguous without visual context

  • DigitizingOverlayNode: expose the digitizing hit area in the parallel
    DOM via tagName: "div" and accessibleName, making the interactive
    region discoverable to assistive technology

https://claude.ai/code/session_01HY85QRjhNBGPrYbj4WSMZc

- Add `a11y` section to i18n strings (EN + FR) with labels for the video
  player, timeline scrubber, rewind button, digitizing overlay, track
  checkbox/delete actions, data table, and CSV export button; expose them
  via a new `StringManager.getA11y()` method

- VideoPlayerNode: set `aria-label` on the HTML <video> element so screen
  readers announce "Video player" rather than the bare element

- PlaybackControlsNode: add `accessibleName` to the timeline Slider
  ("Video timeline — drag to seek") and to the rewind RectangularPushButton
  ("Rewind to start"), replacing invisible icon-only affordances

- DataTableNode: add a visually-hidden `<caption>` to the HTML table,
  add `scope="col"` to every `<th>` so column headers are properly
  associated with their data cells, and supply a plain-text `aria-label`
  on color-coded track headers whose HTML content is not readable as text;
  add `accessibleName` to the CSV export button

- TrackListPanel / TrackRowNode: add `accessibleName` to each track
  checkbox ("Digitize track A/B/C…") and delete button ("Remove track
  A/B/C…") so their purpose is unambiguous without visual context

- DigitizingOverlayNode: expose the digitizing hit area in the parallel
  DOM via `tagName: "div"` and `accessibleName`, making the interactive
  region discoverable to assistive technology

https://claude.ai/code/session_01HY85QRjhNBGPrYbj4WSMZc
@veillette
veillette merged commit 5307c71 into main Feb 23, 2026
1 check passed
@veillette
veillette deleted the claude/improve-simulation-accessibility-QiyRr branch February 23, 2026 09:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants