Bug 311616

Summary: AX: Web Content processes shouldn't send the accessibility remote token until after accessibility is initialized
Product: WebKit Reporter: Dominic Mazzoni <dm_mazzoni>
Component: AccessibilityAssignee: Dominic Mazzoni <dm_mazzoni>
Status: RESOLVED FIXED    
Severity: Normal CC: andresg_22, commit-queue, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Bug Depends on: 311878    
Bug Blocks:    

Dominic Mazzoni
Reported 2026-04-06 23:15:16 PDT
There's a race condition where if you start VoiceOver after Safari is already running, VoiceOver discovers the WKAccessibilityWebPageObject - the root of the web content accessibility tree - before the web content process has initialized accessibility. The result is that attribute queries fail and the object returns nil for its attributes. VoiceOver gets confused when a child returns nil for its AXRole, and fails to query it again. The fix is to not send the remote token until after accessibility is initialized. That way the UI process WebViewImpl won't expose the remote element until it's actually ready.
Attachments
Radar WebKit Bug Importer
Comment 1 2026-04-06 23:15:22 PDT
Dominic Mazzoni
Comment 2 2026-04-06 23:18:28 PDT
EWS
Comment 3 2026-04-07 08:48:08 PDT
Committed 310711@main (5e880b636f8d): <https://commits.webkit.org/310711@main> Reviewed commits have been landed. Closing PR #62169 and removing active labels.
WebKit Commit Bot
Comment 4 2026-04-09 16:17:57 PDT
Re-opened since this is blocked by bug 311878
EWS
Comment 5 2026-04-13 14:14:57 PDT
Committed 305413.652@safari-7624-branch (aa4c47512294): <https://commits.webkit.org/305413.652@safari-7624-branch> Reviewed commits have been landed. Closing PR #4916 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.