Skip to content

Mobile: screen reader structure (M25) - #70

Merged
westernCasa merged 1 commit into
mobile/smart-capturefrom
mobile/screen-reader
Nov 8, 2026
Merged

westernCasa merged 1 commit into
mobile/smart-capturefrom
mobile/screen-reader

Conversation

@westernCasa

Copy link
Copy Markdown
Owner

M25: screen reader structure. Stacked on #69 (base mobile/smart-capture). Merge #69 first; this PR then retargets to main. Only mobile/ changes.

  • Every button, tab, canvas card, Mosaic tile, keyword chip, result, tab row and address suggestion now has a spoken label and a role. Symbol buttons get names: ‹ Back, › Forward, ⚙︎ Settings, + and − zoom, and the tab count reads "3 tabs, open the tab list".
  • Sheet titles and timeline session labels are headings. Timeline, Canvas and Replay are tabs with a selected state.
  • Actions that only had a gesture now have a screen-reader action:
    • next and previous trail on the switcher
    • hide on a keyword (it was press-and-hold only)
    • close on a tab row (it was swipe only)
  • The capture note is read out: announced on iOS, and a polite live region on Android.
  • Every grid has a list form: the Timeline for the canvas, the tab list for Mosaic.

Checks: no lint errors (warnings only), npm test 11 passed, both bundles build. Not yet tried with VoiceOver or TalkBack. That is usability round 2, task 5.


Generated by Claude Code

Spoken labels, roles and states for buttons (symbol buttons named: Back,
Forward, Settings, zoom), Mosaic tiles, canvas cards, minimap, timeline
items, keyword chips, results, tab rows and address suggestions. Sheet
titles and timeline sessions are headings; Timeline/Canvas/Replay are tabs.
Gesture-only actions get screen-reader actions (next/previous trail, hide
keyword, close tab). The capture note is announced (VoiceOver) and is a
polite live region (TalkBack). Only mobile/ changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X9wDmS5VvrWmyHhcWA9MoL
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