react / react/react-native

[iOS] - Elements in a row are announced in the wrong order by VoiceOver

Offen
#55,139 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Needs: Triage :mag: Platform: iOS
Vorherrschende Sprache
C++
Sterne
127k
Forks
25.3k
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
4

Beschreibung

Description

When elements with different heights are in a row with alignItems: ‘center’ or alignItems:’flex-end’, the tallest ones are selected and announced first by VoiceOver on iOS.

Tested on iPhone 13 mini, iOS 17.4.1

Steps to reproduce
  1. use the code in the reproducer and build on a physical iOS device
  2. activate VoiceOver and go through each example by swiping right
React Native Version

0.83.1

Affected Platforms

Runtime - iOS

Output of npx @react-native-community/cli info
System:
  OS: macOS 26.2
  CPU: (8) arm64 Apple M2
  Memory: 94.20 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 22.7.0
    path: /Users/gbs05577/.nvm/versions/node/v22.7.0/bin/node
  Yarn:
    version: 1.22.22
    path: /opt/homebrew/bin/yarn
  npm:
    version: 10.8.2
    path: /Users/gbs05577/.nvm/versions/node/v22.7.0/bin/npm
  Watchman:
    version: 2022.11.28.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.15.2
    path: /Users/gbs05577/.rbenv/shims/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 25.2
      - iOS 26.2
      - macOS 26.2
      - tvOS 26.2
      - visionOS 26.2
      - watchOS 26.2
  Android SDK: Not Found
IDEs:
  Android Studio: 2025.2 AI-252.25557.131.2521.14344949
  Xcode:
    version: 26.2/17C52
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.16
    path: /usr/bin/javac
  Ruby:
    version: 2.7.5
    path: /Users/gbs05577/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 20.0.0
    wanted: 20.0.0
  react:
    installed: 19.2.0
    wanted: 19.2.0
  react-native:
    installed: 0.83.1
    wanted: 0.83.1
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true
Stacktrace or Logs
-
MANDATORY Reproducer

https://snack.expo.dev/@andreamartinez/ios-voiceover-order-bug

Screenshots and Videos

https://github.com/user-attachments/assets/d76a86d2-1663-4bb6-bd14-085bd88a144e

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit dem verlinkten Snack-Reproducer und führen Sie ihn auf einem physischen iOS-Gerät mit aktiviertem VoiceOver aus, indem Sie die aufgeführten Wisch-nach-rechts-Schritte befolgen. Verfolgen Sie das React Native-iOS-Verhalten, das für die Reihenfolge der Barrierefreiheitselemente verantwortlich ist; als abgeschlossen gilt die Aufgabe, wenn Elemente in Zeilen mit unterschiedlichen Höhen für die gemeldeten Ausrichtungsmodi in visueller Reihenfolge angesagt werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
ios, react-native
Bereich
accessibility, mobile-dev
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.