Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

[iOS][New Architecture] onAccessibilityAction with "activate" does not reliably fire VoiceOver double-tap without onAccessibilityTap

Offen
#58,630 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
react-native

Rechercherichtung

Start with the mandatory reproducer and compare VoiceOver activation under the Old and New Architectures on a physical iOS device. Trace the accessibility action handling involved in the reported React Native example; done means the standard double-tap reliably invokes onAccessibilityAction without requiring onAccessibilityTap.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Needs: Triage :mag: Platform: iOS Type: New Architecture
Description

There appears to be a regression in the iOS accessibility activation behavior when enabling the React Native New Architecture.

With the Old Architecture, onAccessibilityAction with the activate action was sufficient to handle VoiceOver's standard double-tap gesture.

After enabling the New Architecture on iOS, the same implementation no longer reliably triggers onAccessibilityAction when the user performs the standard VoiceOver double-tap gesture.

Adding onAccessibilityTap makes the interaction work again.

Expected behavior

VoiceOver double-tap should trigger the activate accessibility action and invoke onAccessibilityAction.

<View
accessible={true}
accessibilityRole="switch"
accessibilityActions={[{name: 'activate'}]}
onAccessibilityAction={handleAccessibilityAction}
/>
Actual behavior

With the New Architecture enabled on iOS, VoiceOver can focus the element correctly, but performing the standard double-tap does not reliably invoke:

onAccessibilityAction

Adding:

onAccessibilityTap={handleAccessibilityAction}

causes the double-tap interaction to work.

Steps to reproduce

Steps to reproduce

  1. Create a new React Native project.
  2. Enable the New Architecture.
  3. Run the application on a physical iOS device.
  4. Enable VoiceOver.
  5. Focus the accessible switch.
  6. Perform the standard VoiceOver double-tap gesture.
  7. Observe whether onAccessibilityAction is invoked.
  8. Add onAccessibilityTap.
  9. Repeat the double-tap.
  10. Observe that the action is now triggered.
React Native Version

0.86.3

Affected Platforms

Runtime - iOS

Areas

Fabric - The New Renderer

Output of npx @react-native-community/cli info
System:
  OS: Windows 11 10.0.26200
  CPU: "(16) x64 AMD Ryzen 7 5800H with Radeon Graphics         "
  Memory: 862.17 MB / 5.86 GB
Binaries:
  Node:
    version: 24.15.0
    path: C:\Program Files\nodejs\node.EXE
  Yarn:
    version: 1.22.19
    path: C:\Users\Ola Abaza\AppData\Roaming\npm\yarn.CMD
  npm:
    version: 11.12.1
    path: C:\Program Files\nodejs\npm.CMD
  Watchman: Not Found
SDKs:
  Android SDK: Not Found
  Windows SDK: Not Found
IDEs:
  Android Studio: AI-212.5712.43.2112.8815526
  Visual Studio: Not Found
Languages:
  Java: Not Found
  Ruby: Not Found
npmPackages:
  "@react-native-community/cli":
    installed: 20.1.0
    wanted: 20.1.0
  react:
    installed: 19.2.3
    wanted: 19.2.3
  react-native:
    installed: 0.86.3
    wanted: 0.86.3
  react-native-windows: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found
Stacktrace or Logs
.
MANDATORY Reproducer

https://github.com/OlaAbaza/rn-accessibility-reproducer

Screenshots and Videos

No response

Vorherrschende Sprache
C++
Sterne
127k
Forks
25.3k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus react/react-native

Alle Issues in react/react-native

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

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