react / react/react-native

Accessibility roles 'radio' & 'checkbox' not announced by screenreader on ios since 0.73.0

Đang mở
#43,266 20 bình luận 13 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Issue: Author Provided Repro Platform: iOS
Ngôn ngữ chính
C++
Star
127k
Fork
25.3k
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
4

Mô tả

Description

since version v0.73.0 the roles for radio & checkbox are not announced by Screen readers on ios
this was working in v0.72.10 but stopped working in v0.73.0

Steps to reproduce
  1. install the app with yarn ios
  2. navigate with a screenreader or Accessibility inspector to the text Welcome to React Native and go down from there
  3. listen to the output - it does not announce roles for radio & checkbox - button is still announced fine
React Native Version

0.73.5

Affected Platforms

Runtime - iOS

Output of npx react-native info
System:
  OS: macOS 13.6.1
  CPU: (10) arm64 Apple M1 Max
  Memory: 1.12 GB / 32.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 20.10.0
    path: ~/.nvm/versions/node/v20.10.0/bin/node
  Yarn:
    version: 1.22.21
    path: ~/.nvm/versions/node/v20.10.0/bin/yarn
  npm:
    version: 10.2.3
    path: ~/.nvm/versions/node/v20.10.0/bin/npm
  Watchman:
    version: 2023.11.06.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods: Not Found
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.2
      - iOS 17.2
      - macOS 14.2
      - tvOS 17.2
      - visionOS 1.0
      - watchOS 10.2
  Android SDK: Not Found
IDEs:
  Android Studio: 2022.3 AI-223.8836.35.2231.10811636
  Xcode:
    version: 15.2/15C500b
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 11.0.15
    path: /Users/lutz.kwauka/.sdkman/candidates/java/current/bin/javac
  Ruby:
    version: 2.6.10
    path: /Users/lutz.kwauka/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.73.5
    wanted: 0.73.5
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false
Stacktrace or Logs
no crash happened
Reproducer

https://github.com/lutzk/accessibility-reproducer/

Screenshots and Videos

v0.72.10 working:
https://github.com/facebook/react-native/assets/793755/cec0dd90-6b7b-40d1-9fb5-9cd1d00e3f97

v0.73.5 not working:
https://github.com/facebook/react-native/assets/793755/c86794d2-f4fa-43df-835e-93315a63aa46

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

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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu với trình tái hiện accessibility được liên kết và chạy nó bằng yarn ios, sử dụng trình đọc màn hình hoặc Accessibility Inspector để so sánh React Native 0.72.10 với 0.73.5. Truy vết cách iOS xử lý accessibility cho các role radio và checkbox; công việc được xem là hoàn tất khi cả hai role được thông báo lại, trong khi button vẫn hoạt động. Issue không nêu tệp mã nguồn hay test nào, vì vậy việc xác định regression đòi hỏi phải nghiên cứu repository.

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

Đánh giá

Công nghệ
ios, react-native
Lĩnh vực
accessibility, mobile
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
38/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.