From ed87b700d933c8fc332bdf9cad9c3f4584ef9d9d Mon Sep 17 00:00:00 2001 From: Lotus CI Date: Thu, 24 Sep 2026 11:56:51 -0400 Subject: [PATCH] fix(a11y): announce the incoming-call overlay (role=alertdialog + name) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The full-screen incoming-call overlay (shown when you're not already in a call — the common case) had no role or accessible name on any ancestor of its buttons, so a screen reader landed on an unlabelled button with no hint that a call was ringing. The in-call banner variant already had role="alert" + a label. The overlay's Dialog is now role="alertdialog", aria-modal, labelled "Incoming voice|video call from ". Found while verifying #187 DP6 (decline still dismisses when the decline send fails — it does). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01PPmy3tPq869XDW4njjVaKA --- src/app/components/CallEmbedProvider.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/app/components/CallEmbedProvider.tsx b/src/app/components/CallEmbedProvider.tsx index 5c8eb085d..8f9853771 100644 --- a/src/app/components/CallEmbedProvider.tsx +++ b/src/app/components/CallEmbedProvider.tsx @@ -180,7 +180,15 @@ function IncomingCall({ dm, info, onIgnore, onAnswer, onReject }: IncomingCallPr escapeDeactivates: false, }} > - + {getMemberName(info.room, info.sender)}