Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 80d2bac01f0d4e09500a3560531bfa35b12f390f
https://github.com/WebKit/WebKit/commit/80d2bac01f0d4e09500a3560531bfa35b12f390f
Author: Tyler Wilcock <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
A
LayoutTests/accessibility/isolated-tree/mac/aria-tree-with-presentation-role-expected.txt
A
LayoutTests/accessibility/isolated-tree/mac/aria-tree-with-presentation-role.html
M
LayoutTests/accessibility/mac/aria-tree-with-presentation-role-expected.txt
M LayoutTests/accessibility/mac/aria-tree-with-presentation-role.html
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
Log Message:
-----------
AX: Tree items nested in an authored role="group" report disclosure level 0
with the isolated tree enabled
https://bugs.webkit.org/show_bug.cgi?id=323222
rdar://186467868
Reviewed by Dominic Mazzoni.
AXCoreObject::hierarchicalLevel() walks a tree item's ancestor chain and adds a
level for each ancestor whose hasExplicitGroupRole() is true, so that
<ul role="tree">
<li role="presentation">
<span role="treeitem">Using Search</span>
<ul role="group">
<li role="treeitem">Power Search</li>
exposes AXDisclosureLevel 1 for "Power Search". With the isolated tree enabled
it
was 0 instead.
An ARIA tree flattens to a list of rows, so the role="group" container itself is
ignored. createIsolatedObjectData() cached AXProperty::HasExplicitGroupRole only
under needsAllProperties, which is false for ignored objects, so the property
was
never stored and AXIsolatedObject::hasExplicitGroupRole() returned the default
false for every group in the chain.
Covered by accessibility/mac/aria-tree-with-presentation-role.html, which now
passes with --accessibility-isolated-tree and continues to pass without it.
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::createIsolatedObjectData):
Canonical link: https://commits.webkit.org/320415@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications