Skip to content

fix(ui-native): show Dialog and Drawer contents to VoiceOver (GRYT-2000) - #317

Merged
grytchat merged 1 commit into
mainfrom
claude/GRYT-2000-backdrop-a11y
Nov 1, 2026
Merged

grytchat merged 1 commit into
mainfrom
claude/GRYT-2000-backdrop-a11y

Conversation

@grytchat

@grytchat grytchat commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

On the phone, the server drawer showed nothing in the accessibility tree and the welcome dialog was one long element with no buttons in it. A Pressable is accessible by default, and that hides everything inside it. The backdrops wrap the panels.

The backdrops, and the Drawer's panel, are now accessible={false}. With the backdrop no longer focusable, VoiceOver needs another way out, so onAccessibilityEscape closes both when they're dismissible.

Tested by overlaying this build on the phone app, with the Maestro flows from Gryt-chat/mobile#482: buttons found by name in both, and tapping outside still closes the drawer.

Look at: I checked the accessibility tree through Maestro, not VoiceOver itself, which needs a real iPhone. The escape gesture isn't tested. Sheet doesn't wrap its panel in a Pressable, so I left it alone.

🤖 Generated with Claude Code

A Pressable is accessible by default, which hides everything inside it.
The backdrops wrap the panels, so the Drawer read as nothing and a Dialog
as one long element with no buttons in it. Taps still close them, and the
escape gesture now does too, because the backdrop is no longer focusable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@grytchat
grytchat merged commit 168b61a into main Nov 1, 2026
7 checks 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