AX: Enable ACCESSIBILITY_LOCAL_FRAME on all Apple platforms#62848
Merged
webkit-commit-queue merged 1 commit intoApr 16, 2026
Conversation
Collaborator
|
EWS run on previous version of this PR (hash 87067d0) Details
|
87067d0 to
163d87f
Compare
Collaborator
|
EWS run on previous version of this PR (hash 163d87f) Details
|
twilco
approved these changes
Apr 15, 2026
163d87f to
8537c12
Compare
Collaborator
|
EWS run on current version of this PR (hash 8537c12) Details
|
https://bugs.webkit.org/show_bug.cgi?id=312412 rdar://174864389 Reviewed by Tyler Wilcock. This PR enables ACCESSIBILITY_LOCAL_FRAME on all Apple/Cocoa platforms. There are some text and behavior fixes included that were required to keep all layout tests passing: - Viewport vs web area positioning: with ACCESSIBILITY_LOCAL_FRAME, both the scroll area and web area had the same position, both accounting for scroll. But, our prior behavior returned the position of the scroll view as its viewport position. This PR updates that by removing the scroll position when computing it's frame. - There was sometimes a race where the frame geometry arrived before a tree was stored. The fix for this is to only update the frame geometry after we store the tree, to prevent this. - When we change accessibility mode from off to an on state, we now eagerly update all frame geometries - webkit-scrollarea-position.html was updated to our modern style, with more resillient expectations. - platform/mac-wk2/TestExpectations was updated to skip relative frame- related tests, which are not supported with ACCESSIBILITY_LOCAL_FRAME. * LayoutTests/accessibility/mac/webkit-scrollarea-position-expected.txt: * LayoutTests/accessibility/mac/webkit-scrollarea-position.html: * LayoutTests/platform/mac-wk2/TestExpectations: * Source/WTF/wtf/PlatformEnableCocoa.h: * Source/WebCore/accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::setFrameGeometry): * Source/WebCore/accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::convertFrameToSpace const): * Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp: (WebCore::AXIsolatedObject::convertFrameToSpace const): * Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp: (WebCore::AXIsolatedTree::createEmpty): (WebCore::AXIsolatedTree::create): (WebCore::AXIsolatedTree::setFrameGeometry): (WebCore::AXIsolatedTree::updateFrameGeometryAndScrollPositionIfNeeded): (WebCore::AXIsolatedTree::updateRootScreenRelativePosition): (WebCore::AXIsolatedTree::applyPendingChangesLocked): * Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h: (WebCore::AXIsolatedTree::frameScrollPosition const): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setAccessibilityMode): Canonical link: https://commits.webkit.org/311369@main
8537c12 to
220fa2d
Compare
Collaborator
|
Committed 311369@main (220fa2d): https://commits.webkit.org/311369@main Reviewed commits have been landed. Closing PR #62848 and removing active labels. |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🧪 wpe-wk2
220fa2d
8537c12