From the June 2026 accessibility audit follow-ups. CALACT's useToastNotification hand-builds raw DOM toasts and carries a TODO pointing at catenary. Interim a11y fixes landed in CALACT (persistent aria-live="polite" container created at composable init, role="alert" on danger toasts), but the proper home is a catenary component.
Scope: a cat-toast / useToast module: persistent live-region container management, per-variant roles (status vs alert), the named dismiss button from cat-notification (#40), pause-on-hover/focus for WCAG 2.2.1 timing, duration config. Then a CALACT PR deletes the composable's DOM code. Note from #40: a role="status" element inserted together with its content is unreliably announced; the container must persist (this is why the interim CALACT fix works).
Filed from the catenary widget accessibility audit session, 2026-06-10 (context: interline-io/calact-network-analysis-tool#390).
From the June 2026 accessibility audit follow-ups. CALACT's
useToastNotificationhand-builds raw DOM toasts and carries a TODO pointing at catenary. Interim a11y fixes landed in CALACT (persistentaria-live="polite"container created at composable init,role="alert"on danger toasts), but the proper home is a catenary component.Scope: a
cat-toast/useToastmodule: persistent live-region container management, per-variant roles (statusvsalert), the named dismiss button from cat-notification (#40), pause-on-hover/focus for WCAG 2.2.1 timing, duration config. Then a CALACT PR deletes the composable's DOM code. Note from #40: arole="status"element inserted together with its content is unreliably announced; the container must persist (this is why the interim CALACT fix works).Filed from the catenary widget accessibility audit session, 2026-06-10 (context: interline-io/calact-network-analysis-tool#390).