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

Reply via email to