angular / angular/components

bug(material select): Accessibility iOS VoiceOver looses focus when selecting options

Đang mở
#33,209 4 bình luận 0 reaction 0 người được giao Xem trên GitHub
Accessibility area: material/select gemini-triaged P3
Ngôn ngữ chính
TypeScript
Star
25k
Fork
6.8k
Merge trung bình
1 ngày 8 giờ
Pull request đã merge (30 ngày)
91

Mô tả

### Is this a regression?

- [ ] Yes, this behavior used to work in the previous version

### The previous version in which this bug was not present was

_No response_

### Description

WCAG issue.

Issue seen with iPhone and VoiceOver on the following versions and browsers
- Safari with angular material 20 and 22
- Chrome with angular material 21 and 22

The main issue is that after a double tap on the dropdown (action to select an element when voice over is enabled), when swiping between elements, the focus continues to move outside the select, instead of browsing each element in the select.

The issue is not reproducible on Mac, nor on a classic desktop, and is restricted to VoiceOver use on an iPhone.
The issue is not reproducible on Android/Talkback neither.

### Reproduction

Angular Material Example page: https://material.angular.dev/components/select/overview
StackBlitz link: https://stackblitz.com/run?file=src%2Fexample%2Fselect-reset-example.ts&startScript=start

Steps to reproduce:
1. activate VoiceOver on your iPhone/iPad device
2. Visit the angular material select menu example page
3. play with the select menus having options list that overlap other focusable DOM elements (another menu, a heading, etc...)

### Expected Behavior

Expected: The screen reader focus should go back to the menu where the option is selected.

### Actual Behavior

Actual: After selection is done in the menu, the screen reader focus is pointing to the element behind the chosen material-option.

### Environment

- Angular: 19, 20, 21, 22
- CDK/Material: select
- Browser(s): Safari/Chrome
- Operating System (e.g. Windows, macOS, Ubuntu): iOS

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện vấn đề trên Angular Material select overview page hoặc StackBlitz được liên kết, sử dụng iOS VoiceOver với các tùy chọn chồng lên những phần tử khác có thể nhận focus. So sánh thứ tự focus sau khi chọn một tùy chọn trên các phiên bản Safari và Chrome được liệt kê; hoàn tất khi focus của trình đọc màn hình quay lại select menu và tiếp tục qua các tùy chọn của nó.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
angular, typescript
Lĩnh vực
accessibility, frontend
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
48/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.