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