From the #543 WS4 audit. Two related live-region gaps:
- SnackbarRoot.vue:81 hardcodes
role=status while the header comment (:8) promises "alert for urgent, status for informational" — no prop exists to choose. (~5 LOC prop.)
- The live-region node mounts with its text already inside, instead of the empty-then-fill pattern; many SRs miss the first announcement. PaginationStatus.vue:74-106 implements the correct deferred pattern (100ms empty-then-fill) to mirror.
Focus is correctly never stolen (non-modal portal, scrim:false SnackbarPortal.vue:67) and the close button is labeled (SnackbarClose.vue:61-62).
From the #543 WS4 audit. Two related live-region gaps:
role=statuswhile the header comment (:8) promises "alert for urgent, status for informational" — no prop exists to choose. (~5 LOC prop.)Focus is correctly never stolen (non-modal portal, scrim:false SnackbarPortal.vue:67) and the close button is labeled (SnackbarClose.vue:61-62).