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: | Accessibility | Assignee: | 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
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 | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/174215797>
Dominic Mazzoni
Pull request: https://github.com/WebKit/WebKit/pull/62169
EWS
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
Re-opened since this is blocked by bug 311878
EWS
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.