Problem
ChatThread.tsx puts aria-live="polite" on the whole .chat-thread. During token streaming this can cause the screen reader to announce constant partial updates of a large region.
Suggested fix
Scope live announcements to the actively streaming message (or announce on completion), and use aria-atomic/aria-relevant appropriately to avoid re-announcing the whole thread.
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
ChatThread.tsxputsaria-live="polite"on the whole.chat-thread. During token streaming this can cause the screen reader to announce constant partial updates of a large region.Suggested fix
Scope live announcements to the actively streaming message (or announce on completion), and use
aria-atomic/aria-relevantappropriately to avoid re-announcing the whole thread.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.