Skip to content

Session drawer has no focus trap, no Escape-to-close, and no aria-label #41

Description

@aasis21

Problem

The drawer (<aside class="drawer">, a complementary region) opens without moving focus into it, doesn't trap Tab focus (you can tab onto hidden background content), can't be closed with Escape, and has no accessible name. The scrim is a plain <div>.

Suggested fix

On open: set an aria-label, move focus into the drawer, trap focus while open, close on Escape, and restore focus to the trigger on close.

Where

mobile/src/components/SessionDrawer.tsx.


Filed from a UI research sweep of the Helm mobile app (landing + live demo session) using Playwright + full source review, cross-referenced against Claude, ChatGPT, GitHub Copilot Chat, and Codex/Claude Code UIs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions