Skip to content

iOS multiline TextInput (UITextView) missing from accessibility dump — can't locate/fill it #293

Description

@Ernest94

Summary
On iOS, a multiline React Native TextInput (rendered as a UITextView) does not appear in the accessibility tree returned by device.dump.ui. Single-line TextInputs (UITextField) appear correctly. As a result the element can't be located with any getBy* strategy and can't be filled.

Environment
mobilewright 0.0.46, @mobilewright/driver-mobilecli 0.0.46
mobilecli 0.3.85, on-device agent devicekit-ios 0.0.20
iPhone 16 simulator, iOS 18.6; host macOS 15 (Darwin 25.5), Node 24

Repro
Render an RN TextInput with multiline={true} and an accessibilityLabel (e.g. "description input").
Navigate to the screen (field auto-focused, keyboard shown).
screen.getByLabel('description input') → LocatorError: no matching element found.

Evidence
Raw mobilecli dump ui for the screen contains the surrounding StaticText/Button nodes but no TextField/TextView/edit node at all — the multiline input is absent. A single-line TextInput on another screen (same app, accessibilityLabel="email input") shows up fine as a TextField. Setting accessible/accessibilityLabel on the multiline input does not help, confirming the node itself isn't captured rather than just being unlabeled. The equivalent XCUITest/Appium hierarchy did expose this element.

Impact / workaround gap
Because the field auto-focuses, a "type into the currently focused element" API (Screen.type(text) / device.typeText) would be a viable workaround, but only Locator.fill() exists, which requires a locatable node. Either fix would unblock typing into multiline inputs.

Greetings from Wim Selles :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions