ToastRegion: no keyboard way back to a modal dialog after F6
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- react, typescript
- Ambito
- accessibility, frontend
Direzione di ricerca
Start with the toast region's F6 keyboard handling and its focus management in the react-aria-components toast code, then reproduce the steps with a Modal, a Dialog and a toast containing a button. Focus should return to the element that was focused before F6, and Escape should also restore it, so check that the region tracks that previous element when it is entered from inside a modal. Done means F6, Shift+F6 and Escape from the region all return focus into the dialog, and Tab past the last toast no longer lands on <body>. Expect to need accessibility context and maintainer input on the intended behaviour.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Provide a general summary of the issue here
With a modal dialog open, F6 moves focus into the ToastRegion, but no key brings it back to the dialog.
🤔 Expected Behavior?
From the toast region, F6 (or Shift+F6, or Escape) returns focus to the element focused before F6, inside the modal dialog.
😯 Current Behavior
- F6 moves focus from the dialog to the toast region, as documented.
- F6 and Shift+F6 keep focus in the region: the rest of the page is inert under the modal, so the region is the only landmark.
- Escape does nothing.
- Tab past the last toast puts focus on
<body>, outside the dialog.
A keyboard user who checks a toast cannot get back to the dialog, other than by clicking.
💁 Possible Solution
When F6 has moved focus into the toast region from inside a modal, keep the element it came from. F6, Shift+F6 or Escape in the region returns focus there. This is what Base UI's toast viewport does.
🔦 Context
We wrap UNSTABLE_ToastRegion and UNSTABLE_ToastQueue in a design system. Its toasts must stay reachable, and leavable, by keyboard while a dialog is open.
🖥️ Steps to Reproduce
- Render a
ToastRegionand aDialogTriggerwith aModaland aDialogthat holds a button. - Open the dialog, then add a toast that has a button.
- With focus in the dialog, press F6: focus moves to the toast region.
- Press F6, then Shift+F6, then Escape: focus stays in the region each time.
- Press Tab past the toast's last button: focus lands on
<body>.
Version
react-aria-components 1.22.1
What browsers are you seeing the problem on?
Chrome
What operating system are you using?
macOS
- Lingua principale
- TypeScript
- Stelle
- 16k
- Fork
- 1.6k
- Merge medio
- 3g 19h
- PR unite (30g)
- 46
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di adobe/react-spectrum
-
PreviewTrigger: the preview dialog has no accessible nameForse già presa @therealemmanueloppong l’ha presa oggi. Apertaaccessibility bug PreviewTrigger
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
adobe/react-spectrum#10917 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
S2 quiet Picker menu is always 192px wide: its width calc() has no unitForse già presa @darshpatel1052 l’ha presa 3 giorni fa. Apertawaiting on author
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 88/100
adobe/react-spectrum#10909 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
DatePicker omits timezone for initially empty fields despite zoned placeholderValueForse già presa @mrlexcoder l’ha presa 3 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
adobe/react-spectrum#10900 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Separator adds a redundant role="separator" to its default <hr>Forse già presa @Janani-bn l’ha presa 3 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
adobe/react-spectrum#10894 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
ComboBox with selectionMode="multiple": Cmd/Ctrl+A does nothing while the popover is openForse già presa @mangeshraut712 l’ha presa 9 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
adobe/react-spectrum#10866 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di adobe/react-spectrum
Issue simili
-
Add: Upin & Ipin Channel HDApertacheck:passed streams:add
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
S: triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
iot client
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Open-Locker/Open-Locker#365 ·
I maintainer di solito rispondono entro 1 giorno
-
bug enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
inmanta/web-console#7787 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
shoelace-style/webawesome#2979 ·
I maintainer di solito rispondono entro 1 giorno