-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
AX: should be able to compute AXPosition using the isolated tree
https://bugs.webkit.org/show_bug.cgi?id=267957 rdar://problem/121472048 Reviewed by Andres Gonzalez. The relative frame that we're caching in the isolated tree is already in the correct screen coordinates, all that's necessary is to cache the screen relative position of the root, and then add them together. We can update the cached root position when AXGeometryManager updates object regions. There isn't an easy way to write a layout test for this, as there doesn't seem to be a way to move the window's origin. In order to manually test this, I temporarily disabled AXRelativeFrame, forcing VoiceOver to use AXPosition for every element, then I checked that the bounds are correct when navigating and when moving and resizing the window. The main performance win I observe is when VoiceOver tries to focus on the root web area when the page is busy. Without this patch, VoiceOver can get blocked on the main thread, but with this patch it's no longer blocked. * Source/WebCore/accessibility/AXGeometryManager.cpp: (WebCore::AXGeometryManager::willUpdateObjectRegions): * Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp: (WebCore::AXIsolatedObject::screenRelativePosition const): * Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp: (WebCore::AXIsolatedTree::updateNodeProperties): (WebCore::AXIsolatedTree::updateRootScreenRelativePosition): * Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h: Canonical link: https://commits.webkit.org/273716@main
- Loading branch information
Dominic Mazzoni
committed
Jan 30, 2024
1 parent
3a4f8bd
commit 551f6e6
Showing
4 changed files
with
31 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters