Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 309c7e6231d9acf39c74997b692c7f37c8ed1231
      
https://github.com/WebKit/WebKit/commit/309c7e6231d9acf39c74997b692c7f37c8ed1231
  Author: Dominic Mazzoni <[email protected]>
  Date:   2026-08-13 (Thu, 13 Aug 2026)

  Changed paths:
    A 
LayoutTests/accessibility/isolated-tree/scrollbar-not-created-when-revealing-content-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/scrollbar-not-created-when-revealing-content.html
    A 
LayoutTests/accessibility/scrollbar-not-created-when-revealing-content-expected.txt
    A 
LayoutTests/accessibility/scrollbar-not-created-when-revealing-content.html
    M Source/WebCore/accessibility/AXObjectCache.cpp

  Log Message:
  -----------
  AX: Document scrollbar is not exposed in the isolated tree when revealing 
content makes the document scrollable
https://bugs.webkit.org/show_bug.cgi?id=321647
rdar://184773721

Reviewed by Tyler Wilcock.

When a document becomes scrollable, LocalFrameView::didAddScrollbar
tells the AXObjectCache via onScrollbarUpdate, and
AXObjectCache::handleScrollbarUpdate calls
AccessibilityScrollView::updateChildrenIfNecessary, which clears and
re-adds the scroll view's children so that the synthesized AXScrollBar
child appears (or disappears).

That updates the live tree only. A scroll view has neither a node nor
a renderer, so a scrollbar coming and going is not accompanied by any
DOM or render tree mutation that would route through
AXObjectCache::childrenChanged, and nothing ever marked the scroll
view as needing a children update. The isolated tree therefore kept
serving whatever children the scroll area had when it was first built,
and the scrollbar was never exposed to an assistive technology. Note
that handleScrollbarUpdate also runs after
handleAllDeferredChildrenChanged in
AXObjectCache::performDeferredCacheUpdate, so deferring a
children-changed here would not be picked up in the same cycle.

Queue the children update on the isolated tree explicitly instead.

Tests: 
accessibility/isolated-tree/scrollbar-not-created-when-revealing-content.html
       accessibility/scrollbar-not-created-when-revealing-content.html

* 
LayoutTests/accessibility/isolated-tree/scrollbar-not-created-when-revealing-content-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/scrollbar-not-created-when-revealing-content.html:
 Added.
* 
LayoutTests/accessibility/scrollbar-not-created-when-revealing-content-expected.txt:
 Added.
* LayoutTests/accessibility/scrollbar-not-created-when-revealing-content.html: 
Added.
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleScrollbarUpdate):

Canonical link: https://commits.webkit.org/319127@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to