Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0524e64fb276c6bdd8625cec9a5989938fd6fa66
https://github.com/WebKit/WebKit/commit/0524e64fb276c6bdd8625cec9a5989938fd6fa66
Author: Tyler Wilcock <[email protected]>
Date: 2023-11-18 (Sat, 18 Nov 2023)
Changed paths:
A LayoutTests/accessibility/content-editable-property-change-expected.txt
A LayoutTests/accessibility/content-editable-property-change.html
M
LayoutTests/accessibility/dynamically-unignored-contenteditable-expected.txt
A LayoutTests/accessibility/ios-simulator/content-editable-expected.txt
A LayoutTests/accessibility/ios-simulator/content-editable.html
M
LayoutTests/accessibility/mac/active-descendant-with-aria-controls-expected.txt
M LayoutTests/accessibility/mac/relationships-in-frames-expected.txt
M
LayoutTests/accessibility/mac/set-value-editable-dispatch-events-expected.txt
M LayoutTests/accessibility/mac/set-value-editable-types-expected.txt
M
LayoutTests/accessibility/nested-textareas-value-changed-notifications-expected.txt
M LayoutTests/platform/glib/TestExpectations
M LayoutTests/platform/mac-wk1/TestExpectations
M
LayoutTests/platform/mac/accessibility/content-editable-as-textarea-expected.txt
M Source/WebCore/accessibility/AXCoreObject.cpp
M Source/WebCore/accessibility/AXLogger.cpp
M Source/WebCore/accessibility/AXObjectCache.cpp
M Source/WebCore/accessibility/AXObjectCache.h
M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
M Source/WebCore/accessibility/AccessibilityObject.cpp
M Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm
M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
M Tools/DumpRenderTree/AccessibilityUIElement.cpp
M Tools/DumpRenderTree/AccessibilityUIElement.h
M Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm
M Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h
M Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl
M
Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp
M Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm
M Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm
M Tools/WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp
Log Message:
-----------
AX: Content editable should not be textbox roles
https://bugs.webkit.org/show_bug.cgi?id=257184
rdar://problem/109699222
Reviewed by Chris Fleizach.
We currently expose elements with contenteditable=true as AXTextAreas. However,
text areas
cannot have children objects that are exposed to AT (such as tables, lists,
etc.).
This patch addresses that by changing the role for contenteditable (which are
non-native text
control elements) elements to AXGroup, allowing for its children to be
navigated. We still
maintain the edit-ability of these elements however by exposing AXValue as
editable.
On iOS, we use traits to expose leaf elements with a non-native text control
ancestor as editable
for AT to supply proper context.
Tests have been updated and added to reflect this change.
This patch was authored by Josh Hoffman, built on work started by Chris
Fleizach.
* LayoutTests/accessibility/content-editable-property-change-expected.txt:
Added.
* LayoutTests/accessibility/content-editable-property-change.html: Added.
* LayoutTests/accessibility/dynamically-unignored-contenteditable-expected.txt:
* LayoutTests/accessibility/ios-simulator/content-editable-expected.txt: Added.
* LayoutTests/accessibility/ios-simulator/content-editable.html: Added.
*
LayoutTests/accessibility/mac/active-descendant-with-aria-controls-expected.txt:
* LayoutTests/accessibility/mac/relationships-in-frames-expected.txt:
* LayoutTests/accessibility/mac/set-value-editable-dispatch-events-expected.txt:
* LayoutTests/accessibility/mac/set-value-editable-types-expected.txt:
*
LayoutTests/accessibility/nested-textareas-value-changed-notifications-expected.txt:
* LayoutTests/platform/glib/TestExpectations:
*
LayoutTests/platform/glib/accessibility/content-editable-as-textarea-expected.txt:
*
LayoutTests/platform/glib/accessibility/dynamically-unignored-contenteditable-expected.txt:
* LayoutTests/platform/mac-wk1/TestExpectations:
*
LayoutTests/platform/mac/accessibility/content-editable-as-textarea-expected.txt:
* Source/WebCore/accessibility/AXCoreObject.cpp:
(WebCore::AXCoreObject::isTextControl const):
* Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::updateIsolatedTree):
* Source/WebCore/accessibility/AXObjectCache.h:
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::matchesTextAreaRole const):
(WebCore::AccessibilityNodeObject::determineAccessibilityRoleFromNode const):
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isNonNativeTextControl const):
* Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityTraits]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
(-[WebAccessibilityObjectWrapper accessibilityIsInNonNativeTextControl]):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeProperties):
(WebCore::AXIsolatedObject::isNonNativeTextControl const): Deleted.
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeProperties):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
* Tools/DumpRenderTree/AccessibilityUIElement.cpp:
(getIsInNonNativeTextControlCallback):
(AccessibilityUIElement::getJSClass):
* Tools/DumpRenderTree/AccessibilityUIElement.h:
* Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::isInNonNativeTextControl const):
* Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
(WTR::AccessibilityUIElement::isInNonNativeTextControl const):
* Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::isInNonNativeTextControl const):
* Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::isInNonNativeTextControl const):
* Tools/WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp:
(WTR::AccessibilityUIElement::isInNonNativeTextControl const):
Canonical link: https://commits.webkit.org/270935@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes