[webkit-changes] [WebKit/WebKit] 6bad13: AX: Slotted elements inside dialog and aria-modal ...
Tyler Wilcock
noreply at github.com
Mon May 1 14:57:57 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6bad1368d570fc5da254bf01d97d7032c44d272d
https://github.com/WebKit/WebKit/commit/6bad1368d570fc5da254bf01d97d7032c44d272d
Author: Tyler Wilcock <tyler_w at apple.com>
Date: 2023-05-01 (Mon, 01 May 2023)
Changed paths:
A LayoutTests/accessibility/dialog-slotted-content-expected.txt
A LayoutTests/accessibility/dialog-slotted-content.html
A LayoutTests/platform/glib/accessibility/dialog-slotted-content-expected.txt
M LayoutTests/platform/ios/TestExpectations
A LayoutTests/platform/ios/accessibility/dialog-slotted-content-expected.txt
M LayoutTests/resources/accessibility-helper.js
M Source/WebCore/accessibility/AccessibilityObject.cpp
M Source/WebCore/accessibility/AccessibilityObject.h
M Source/WebCore/accessibility/AccessibilityRenderObject.cpp
M Source/WebCore/accessibility/AccessibilityRenderObject.h
Log Message:
-----------
AX: Slotted elements inside dialog and aria-modal are not accessible
https://bugs.webkit.org/show_bug.cgi?id=256141
rdar://problem/108704582
Reviewed by Chris Fleizach.
AccessibilityObject::isModalDescendant did not account for slotted
elements (because it called Node::isDescendantOrShadowDescendantOf
which does not account for them).
Fix this by iterating the composed tree in search for the modal node, as
the composed tree includes shadow hosts, slots, etc.
This patch also includes a drive-by fix to make setting selected rows
work for display:contents elements (though upon doing this I realized
it's probably broken for non-display:contents elements, too —
needs more work in a future patch).
* LayoutTests/accessibility/dialog-slotted-content-expected.txt: Added.
* LayoutTests/accessibility/dialog-slotted-content.html: Added.
* LayoutTests/platform/ios/TestExpectations:
Enable new test.
* LayoutTests/platform/ios/accessibility/dialog-slotted-content-expected.txt: Added.
* LayoutTests/resources/accessibility-helper.js:
(dumpAccessibilityTree):
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isModalDescendant const):
(WebCore::AccessibilityObject::setSelectedRows):
* Source/WebCore/accessibility/AccessibilityObject.h:
* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::setValue):
(WebCore::AccessibilityRenderObject::setSelectedRows): Deleted.
* Source/WebCore/accessibility/AccessibilityRenderObject.h:
Canonical link: https://commits.webkit.org/263561@main
More information about the webkit-changes
mailing list