ToastRegion: no keyboard way back to a modal dialog after F6
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 45/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- react, typescript
- Lĩnh vực
- accessibility, frontend
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- TypeScript
- Star
- 16k
- Fork
- 1.6k
- Merge trung bình
- 4 ngày 3 giờ
- Pull request đã merge (30 ngày)
- 39
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của adobe/react-spectrum
-
@internationalized/number: NumberParser misparses Arabic-digit numbers that use . , or ، (sd parses ١٬٢٣٤.٥ as 12345)Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
adobe/react-spectrum#10936 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
PreviewTrigger: the preview dialog has no accessible nameCó thể đã có người làm @therealemmanueloppong đã nhận 2 ngày trước. Đang mởaccessibility bug PreviewTrigger
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
adobe/react-spectrum#10917 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
S2 quiet Picker menu is always 192px wide: its width calc() has no unitCó thể đã có người làm @darshpatel1052 đã nhận 5 ngày trước. Đang mởwaiting on author
Độ khó 2/5 Dưới một giờ Mức phù hợp với người mới 88/100
adobe/react-spectrum#10909 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
DatePicker omits timezone for initially empty fields despite zoned placeholderValueCó thể đã có người làm @mrlexcoder đã nhận 5 ngày trước. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
adobe/react-spectrum#10900 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Separator adds a redundant role="separator" to its default <hr>Có thể đã có người làm @Janani-bn đã nhận 5 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
adobe/react-spectrum#10894 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của adobe/react-spectrum
Issue tương tự
-
Add: Shop On TV SDĐang mởcheck:passed streams:add
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug implicit-state
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
book-layout.spec fails when the similar-books rail holds other projects' booksCó thể đã có người làm @praetorianer777 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
praetorianer777/GoTome#373 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Tencent/tdesign-react#4465 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:cards enhancement ready-for-agent
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
fil-donadoni/tolaria#8883 ·
Maintainer thường phản hồi trong vòng 1 ngày