Skip to content

Accessibility: a title on every map and search control, and search results a screen reader can reach - #39

Merged
davd-gzl merged 3 commits into
mainfrom
a11y-titles-map-search
Sep 30, 2026
Merged

davd-gzl merged 3 commits into
mainfrom
a11y-titles-map-search

Conversation

@davd-gzl

Copy link
Copy Markdown
Collaborator

The title test held back 49 controls in the map, places, add-place and search screens while another branch rewrote them. That branch has merged, so the test now checks every file, and each of the 49 takes its title from its visible label or its aria-label, with no new strings.

The search results nested the Add chip inside each result, which a screen reader cannot reach, and the trip form's place list did the same with a button inside each entry. The search results are now a grid, one row per place with a cell for the place and one for its chip. The keyboard works as before: the arrow keys move, Enter shows the place, Shift+Enter marks it visited and Escape closes. In the trip form, each entry takes the click itself. The axe check now opens both lists in light, dark and at phone width, and it found 14 violations in each before this change.

The control-title guard still allowlisted App.tsx, the map, visits and the
place picker pending a branch that has since merged, so 49 controls there
carried no tooltip. Each now takes its visible label or aria-label as its
title, the Trips layer and the gallery's Add button keep one when their
conditional title fell through to undefined, and the allowlist is gone.
Axe flagged nested-interactive on every search result: the Add or Visited
chip sat inside the role=option, and an option's children are presentational,
so assistive technology announced the place and never the chip. The results
are now a grid, one row per place with a cell holding the place's button and a
cell holding the chip; the combobox keeps its arrow keys, Enter, Shift+Enter
and Escape through aria-activedescendant on the place's cell. The axe gate now
opens the search results in light, dark and 375 px.
Axe flagged nested-interactive on the From and To pickers: each option held
a button, and an option's children are presentational, so the button inside
was hidden from assistive technology. The option now takes the click itself,
keeping focus on the field so its arrow keys, Enter and Escape are unchanged,
and the axe gate opens the list in light, dark and 375 px.
@davd-gzl
davd-gzl merged commit 915c1be into main Sep 30, 2026
1 check passed
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.

1 participant