Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6e24445681b2ec7c2594f591da532f9c22b5617c
https://github.com/WebKit/WebKit/commit/6e24445681b2ec7c2594f591da532f9c22b5617c
Author: Tyler Wilcock <[email protected]>
Date: 2026-07-13 (Mon, 13 Jul 2026)
Changed paths:
A
LayoutTests/accessibility/ios-simulator/root-scroll-view-frame-not-scaled-by-page-scale-expected.txt
A
LayoutTests/accessibility/ios-simulator/root-scroll-view-frame-not-scaled-by-page-scale.html
M Source/WebCore/accessibility/AccessibilityObject.cpp
Log Message:
-----------
AX: REGRESSION(308698@main): Voice Control only labels top-left web elements
when the page scale isn't 1 (e.g. on desktop-width pages)
https://bugs.webkit.org/show_bug.cgi?id=319170
rdar://181036467
Reviewed by Chris Fleizach and Dominic Mazzoni.
On desktop-width pages that don't opt into mobile layout, Safari auto-fits the
content to the device width, so the page scale is < 1 on load (e.g. ~0.39) with
no user zooming. In that state Voice Control "show numbers" only labelled
elements
in the top-left of the web view (e.g. BitBucket, The Verge -- not
mobile-optimized
sites like Wikipedia, whose page scale is 1).
Voice Control and other ATs clip candidates to each element's visible frame,
intersected
against the web page's root scroll view frame. convertFrameToSpace() maps a
frame to screen space via screenTransform, the content-to-screen page-scale --
correct for element rects (content space), but the top page scroll view's own
frame from AccessibilityScrollView::elementRect() is already view/device space
(the viewport). Applying screenTransform double-scales it to viewport *
pageScale
(e.g. 154x334 instead of 393x852), so on-screen elements outside that shrunken
rect were pruned.
Skip screenTransform for the top page scroll view's own frame.
*
LayoutTests/accessibility/ios-simulator/root-scroll-view-frame-not-scaled-by-page-scale-expected.txt:
Added.
*
LayoutTests/accessibility/ios-simulator/root-scroll-view-frame-not-scaled-by-page-scale.html:
Added.
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::convertFrameToSpace const):
Canonical link: https://commits.webkit.org/317042@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications