|
REQ-01
Pre-mounted live region
Region in the DOM before the message [7]
|
✓Viewport aria-live="polite" + separate role="alert" region [31] |
✓alert region alongside a non-modal alertdialog [13] |
~Portal'd announce node, text on the next frame for NVDA [15] — but #3634 reports aria-live="off" [14] |
✓Persistent <section aria-live="polite">, fixed after #306 [17] |
✓Container carries aria-live since v11 [24] |
✗ARIA props spread onto the message div that mounts with its text [26] |
✗role="alert" on a node that mounts already populated [28] |
|
REQ-02
Polite default / assertive exception
Errors may interrupt. Success may not [5]
|
✓priority: 'low' | 'high' [30] |
✓Priority split, documented [29] |
✓type: 'foreground' | 'background' → assertive / polite [16] |
~Polite only. No assertive anywhere in the source — toast.error() waits its turn [18] |
✗Inverted. Every toast defaults to role="alert" — your success message interrupts [21] |
~Right polarity (status/polite) but no split; #336 open on the ARIA API [25] |
✗alert for all variants, including success [28] |
|
REQ-03
Keyboard route
Landmark + hotkey, named in the label [29]
|
✓F6 force-focuses the viewport landmark [31] |
✓F6/⇧F6; focus restored on last close [29] |
✓F8, and the hotkey is in the region's accessible name [15] |
✓Alt+T; container tabIndex={-1}, toasts tabIndex={0} [18] |
✓Alt+T, added in v11 (Dec 2024) [23] |
✗Plain <div>s. No landmark, no hotkey, no tabIndex [26] |
✗No landmark, no hotkey [28] |
|
REQ-04
Pause on focus
Not just hover [16]
|
✓Hover + focus + document hidden [30] |
✓Hover + focus + window blur [29] |
✓"Pauses closing on hover, focus and window blur" [16] |
✓Full matrix incl. isDocumentHidden → pauseTimer() [18] |
✗pauseOnFocusLoss is window blur, not element focus [21] |
✗onMouseEnter / onMouseLeave only [26] |
✗MUI Snackbar onMouseEnter only [28] |
|
REQ-05
Survivable timing
SC 2.2.1, Level A [1]
|
~5000 ms; 0 disables auto-dismiss [30] |
✓No auto-dismiss by default; docs say don't auto-dismiss critical info [29] |
~5000 ms default [15] |
✗4000 ms. Flagged as a 2.2.1 failure by the Apr 2026 audit [20] |
~5000 ms default [24] |
✗4000 ms (errors too; loading is ∞) [27] |
~5000 ms (MUI Snackbar) [28] |