Skip to content

fix: stale VoiceOver value from async UI updates to Text - #58169

Open
coolsoftwaretyler wants to merge 1 commit into
react:mainfrom
coolsoftwaretyler:fix/58145
Open

fix: stale VoiceOver value from async UI updates to Text#58169
coolsoftwaretyler wants to merge 1 commit into
react:mainfrom
coolsoftwaretyler:fix/58145

Conversation

@coolsoftwaretyler

Copy link
Copy Markdown

Summary:

This is a targeted fix for #58145, where I observed iOS VoiceOver reading stale values over Text elements that were updated asynchronously (from a setTimeout call).

This patch definitely fixes the issue, but I'm happy to iterate on the design if there are any considerations I haven't taken into account: coolsoftwaretyler/focusissues#1

Maybe related to #49462? Although what I found is that when VoiceOver encountered a failure, it bounced back to the status bar, so it's possible 49462 is some other issue with modals that presents the same failure mode.

Changelog:

Pick one each for the category and type tags:

[IOS] [FIXED] -VoiceOver text readout when changing elements asynchronously

Test Plan:

I built a reproducer and tested this patch with it. To test:

  1. Build reproducer (or any app that changes text asynchronously)
  2. Install app to physical device (I found the accessibility inspector tool with simulators would paper over the issue, so you need to actually use VoiceOver on a device)
  3. Turn on voiceover
  4. Navigate through the interface, moving focus through your elements to ensure they work as expected
  5. Then use VoiceOver to trigger an async update to some text
  6. Move on to any value that was changed by the async update
  7. Text will probably be stale, and moving focus no longer works

Before

641000653-9506a48b-7ac4-4728-8908-1148aeb7ad07.mp4

After

ScreenRecording_08-27-2026.10-36-35_1.MP4

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Aug 27, 2026
@facebook-github-tools facebook-github-tools Bot added the Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team. label Aug 27, 2026
@meta-codesync

meta-codesync Bot commented Aug 28, 2026

Copy link
Copy Markdown

@christophpurrer has imported this pull request. If you are a Meta employee, you can view this in D117875865.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant