Description
On iOS 26.2, with React Native 0.85.3 and the New Architecture enabled, the React Native UI renders visibly on screen but is largely missing from the XCUITest accessibility tree used by UI automation tools.
Visible RN elements such as Text, TextInput, Button, and testID-backed containers are present on screen, but XCUITest-backed tools can often see only the application root, window, and native overlays.
This breaks iOS UI automation because visible elements cannot reliably be matched by testID, visible text, placeholder, or accessibility label.
Steps to reproduce
- Clone the reproducer:
git clone https://github.com/thetechpadawan/rn085ios26a11yrepro.git
cd rn085ios26a11yrepro/ReproducerApp
- Install dependencies:
npm install
- Install iOS dependencies:
cd ios
bundle install
bundle exec pod install
cd ..
- Start Metro:
npx react-native start --port 8081
- In a second terminal, build and launch on the iOS 26.2 simulator:
cd rn085ios26a11yrepro/ReproducerApp
npx react-native run-ios --simulator "iPhone 17 Pro" --port 8081
- Wait until the repro screen is visible. It shows:
- title text
Hello accessibility repro
- subtitle text
React Native 0.85.3 • iOS 26.2
- a text input with placeholder
Enter your email
- a
Press me button
- Inspect the screen with an XCUITest-backed hierarchy tool.
React Native Version
0.85.3
Affected Platforms
Runtime - iOS
Areas
Fabric - The New Renderer
Output of npx @react-native-community/cli info
System:
OS: macOS 26.5
CPU: (10) arm64 Apple M4
Memory: 129.98 MB / 16.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 22.22.2
path: /Users/seb/.nvm/versions/node/v22.22.2/bin/node
Yarn: Not Found
npm:
version: 10.9.7
path: /Users/seb/.nvm/versions/node/v22.22.2/bin/npm
Watchman:
version: 2026.06.08.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.16.2
path: /opt/homebrew/bin/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.3 AI-253.32098.37.2534.15336583
Xcode:
version: 26.2/17C52
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.19
path: /usr/bin/javac
Ruby:
version: 2.6.10
path: /usr/bin/ruby
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.85.3
wanted: 0.85.3
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
Stacktrace or Logs
No native crash occurs.
Representative hierarchy symptom from an XCUITest-backed inspector:
- application node visible
- window node visible
- native overlays visible when present
- visible RN content (Text / TextInput / Button / testID nodes) missing or mostly missing
This same symptom was observed from multiple XCUITest-backed tools, which is why this appears to be below the tooling layer and closer to RN/XCUITest accessibility exposure.
MANDATORY Reproducer
https://github.com/thetechpadawan/rn085ios26a11yrepro
The repository is now structured from the official React Native reproducer template, with the actual repro app under ReproducerApp/.
Screenshots and Videos
I do not have a public video attached yet, but the repo intentionally renders a tiny static screen to make the mismatch easy to verify manually: the RN controls are visibly rendered while the XCUITest hierarchy is nearly empty.
Description
On iOS 26.2, with React Native 0.85.3 and the New Architecture enabled, the React Native UI renders visibly on screen but is largely missing from the XCUITest accessibility tree used by UI automation tools.
Visible RN elements such as
Text,TextInput,Button, andtestID-backed containers are present on screen, but XCUITest-backed tools can often see only the application root, window, and native overlays.This breaks iOS UI automation because visible elements cannot reliably be matched by
testID, visible text, placeholder, or accessibility label.Steps to reproduce
git clone https://github.com/thetechpadawan/rn085ios26a11yrepro.gitcd rn085ios26a11yrepro/ReproducerAppnpm installcd iosbundle installbundle exec pod installcd ..npx react-native start --port 8081cd rn085ios26a11yrepro/ReproducerAppnpx react-native run-ios --simulator "iPhone 17 Pro" --port 8081Hello accessibility reproReact Native 0.85.3 • iOS 26.2Enter your emailPress mebuttonReact Native Version
0.85.3
Affected Platforms
Runtime - iOS
Areas
Fabric - The New Renderer
Output of
npx @react-native-community/cli infoStacktrace or Logs
MANDATORY Reproducer
https://github.com/thetechpadawan/rn085ios26a11yrepro
The repository is now structured from the official React Native reproducer template, with the actual repro app under
ReproducerApp/.Screenshots and Videos
I do not have a public video attached yet, but the repo intentionally renders a tiny static screen to make the mismatch easy to verify manually: the RN controls are visibly rendered while the XCUITest hierarchy is nearly empty.