Accessibility
By default, all toasts are displayed with the ARIA role alert. This can be changed globally or per toast.
- Globally
<ToastContainer role="alert" />
- Per toast
toast("hello", {
role: "alert"
})
ToastContainer and toast accept an ariaLabel prop as well. This is quite helpful for screen readers and also for testing.
For example, in cypress you could do cy.findByRole("alert", {name: "the aria label you specified"}).
toast("hello", {
ariaLabel: "something"
})
If a notification is visible and the user presses alt+t it will focus on the first notification allowing the user to use Tab to navigate through the different elements within the notification.
The hotKeys can be changed of course.
// focus when user presses ⌘ + F
const matchShortcut = (e: KeyboardEvent) => e.metaKey && e.key === 'f'
<ToastContainer hotKeys={matchShortcut} ariaLabel="Notifications ⌘ + F" />