Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6bad1368d570fc5da254bf01d97d7032c44d272d
https://github.com/WebKit/WebKit/commit/6bad1368d570fc5da254bf01d97d7032c44d272d
Author: Tyler Wilcock <[email protected]>
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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes