diff --git a/apps/website/src/components/shared/AnnouncementToast.tsx b/apps/website/src/components/shared/AnnouncementToast.tsx index ba86f79e2..1d1743673 100644 --- a/apps/website/src/components/shared/AnnouncementToast.tsx +++ b/apps/website/src/components/shared/AnnouncementToast.tsx @@ -85,11 +85,18 @@ export function AnnouncementToast() { if (!visible) return null; return ( + // Non-modal dialog, not role="alert": an alert/live region must not hold + // interactive content (the CTA button and email form live here), and + // assertive announcement of a marketing prompt is hostile. Focus is never + // stolen on entry; Escape dismisses once focus is inside.
{ + if (e.key === 'Escape') dismiss(); + }} > {/* Dismiss button */}