Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
AX: Sometimes web content becomes inaccessible to VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=261006 rdar://113994918 Reviewed by Tyler Wilcock. The problem is caused by the following sequence of events: 1. An AXObjectCache and AXIsolatedTree exist for the current page. 2. When the page is reloaded, the cache is destroyed and the isolated tree ActivityState is set to an empty set. The isolated tree is also queued to be destroyed. 3. VoiceOver queries for the focus off the main thread, but no isolated tree with focus is found sin the ActivityState is now empty or the tree was completely removed at that point. 4. A new AXObjectcache is created, but no new isolated object is created because this new AXObjectCache does not receive any request for the focus, which is one of the triggers of creating a new isolated tree. The solution in this patch is to dispatch to the main thread the request for the focus in this scenario, which will result in the creation of a new isolated tree. * Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::accessibilityFocusedUIElement): Canonical link: https://commits.webkit.org/267562@main
- Loading branch information