Problem
The approval banner (.approval-banner) has no role="alert" or aria-live, so a screen-reader user gets no announcement when the agent pauses for permission — the most important interrupt in the app.
Suggested fix
Wrap the approval region in role="alert" (or aria-live="assertive") and move focus to it when it appears.
Reference
WCAG 4.1.3 Status Messages.
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.
Problem
The approval banner (
.approval-banner) has norole="alert"oraria-live, so a screen-reader user gets no announcement when the agent pauses for permission — the most important interrupt in the app.Suggested fix
Wrap the approval region in
role="alert"(oraria-live="assertive") and move focus to it when it appears.Reference
WCAG 4.1.3 Status Messages.
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.