Skip to content

[SR] World map pins can't be activated by screen readers (semantics tap action dropped) #7591

Description

@wcjord

Describe the bug
Map pin dots/mid pins name themselves to assistive tech (Semantics(button: true, label: "Activity: <title>") in lib/routes/world/world_map_state_dot.dart) but cannot be activated: the excludeSemantics: true on that node drops the inner GestureDetector's tap action, so a screen-reader double-tap (or any synthetic semantics tap) no-ops. Found while diagnosing #7530 — a Playwright semantics click on a pin did nothing while a real pointer click at the same coordinates worked.

The large card wraps the other way around (GestureDetector outside, Semantics inside) and works. The fix is likely to give the pin's semantics node its own onTap (or restructure so the gesture's semantics survive), keeping the single-announcement behavior


TO TEST

After implementation, include a list of changes to be looked over

  • With VoiceOver/TalkBack on, focus a map pin dot: it announces "Activity: <title>" once
  • Double-tap to activate it: the activity opens (narrow: the half-open sheet; wide: the left panel)
  • With the screen reader, move into the map's "Activities" group: it lists one entry per visible pin (not an empty group), and stepping through them reads each activity's name
  • While stepping through them, watch the focus highlight: it draws around the visible pin itself — the small dot's touch circle, the whole teardrop pin, or the whole large card — not a box floating elsewhere on the map
  • With the screen reader OFF, click and drag the map, and click a pin with the mouse: everything behaves as before (the invisible screen-reader layer must not swallow mouse input)

Environment

Where was the bug encountered?

  • Staging
  • Production

OS and/or Browser: all (found on local web via synthetic semantics tap)


TESTING PLATFORMS

Filled in by the developer whose PR closes this issue — not by the issue author.
Which platforms to pick: .github/instructions/qa-labeling.instructions.md

  • Evaluated — I have determined which platforms this needs testing on
  • Web
  • Android
  • iOS
  • iPad

Activity

  1. Kelrap commented on Aug 27, 2026

    @Kelrap
    Collaborator

    Entering the activities list doesn't seem to be possible at all with screen reader

    Screen.Recording.2026-08-27.at.12.13.06.mov
  2. reopened this on Aug 27, 2026
  3. self-assigned this
    on Aug 27, 2026
  4. added 2 commits that reference this issue on Aug 28, 2026
    565afb2
    0ddd811
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions