[webkit-changes] [WebKit/WebKit] 5cd01f: AX: Wrong role displayed for input in Safari inspe...
Tyler Wilcock
noreply at github.com
Mon Feb 27 00:49:23 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 5cd01f201aba0badba296cecd95fd077c5e64819
https://github.com/WebKit/WebKit/commit/5cd01f201aba0badba296cecd95fd077c5e64819
Author: Tyler Wilcock <tyler_w at apple.com>
Date: 2023-02-27 (Mon, 27 Feb 2023)
Changed paths:
M LayoutTests/accessibility/mac/active-descendant-with-aria-controls-expected.txt
M LayoutTests/accessibility/mac/relationships-in-frames-expected.txt
M LayoutTests/accessibility/roles-computedRoleString.html
M LayoutTests/platform/glib/accessibility/aria-visible-element-roles-expected.txt
M LayoutTests/platform/gtk/accessibility/gtk/xml-roles-exposed-expected.txt
M LayoutTests/platform/gtk/inspector/dom/getAccessibilityPropertiesForNode-expected.txt
M LayoutTests/platform/mac-wk1/accessibility/aria-visible-element-roles-expected.txt
M LayoutTests/platform/mac-wk2/accessibility/aria-visible-element-roles-expected.txt
M LayoutTests/platform/mac/accessibility/roles-computedRoleString-expected.txt
M LayoutTests/platform/wpe/accessibility/aria-visible-element-roles-expected.txt
M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
M Source/WebCore/accessibility/AccessibilityNodeObject.h
M Source/WebCore/accessibility/AccessibilityObject.cpp
Log Message:
-----------
AX: Wrong role displayed for input in Safari inspector
https://bugs.webkit.org/show_bug.cgi?id=250124
rdar://problem/103907008
Reviewed by Chris Fleizach.
This bug occurred because gAriaReverseRoleMap had no mapping for AccessibilityRole::TextField,
meaning that when Web Inspector called AccessibilityObject::computedRoleString() for some types of
input elements we would return an empty string.
This necessitated some changes to AccessibilityNodeObject::determineAriaRoleAttribute() to avoid mapping
text inputs (which are inherently single-line) to the WebCore AccessibilityRole::TextArea role.
* LayoutTests/platform/mac/accessibility/roles-computedRoleString-expected.txt:
* LayoutTests/accessibility/mac/active-descendant-with-aria-controls-expected.txt:
* LayoutTests/accessibility/mac/relationships-in-frames-expected.txt:
The role="textbox" element in these tests has contenteditable, making it
a multi-line input. With this patch, we now properly compute it to have
a role of AXTextArea instead of AXTextField.
* LayoutTests/accessibility/roles-computedRoleString.html:
* LayoutTests/platform/mac-wk2/accessibility/aria-visible-element-roles-expected.txt:
* LayoutTests/platform/glib/accessibility/aria-visible-element-roles-expected.txt:
* LayoutTests/platform/gtk/accessibility/gtk/xml-roles-exposed-expected.txt:
* LayoutTests/platform/gtk/inspector/dom/getAccessibilityPropertiesForNode-expected.txt:
* LayoutTests/platform/mac-wk1/accessibility/aria-visible-element-roles-expected.txt:
* LayoutTests/platform/wpe/accessibility/aria-visible-element-roles-expected.txt:
Update expectations now that various input type elements map to a role.
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::matchesTextAreaRole const): Added.
(WebCore::AccessibilityNodeObject::determineAccessibilityRoleFromNode const):
(WebCore::AccessibilityNodeObject::determineAriaRoleAttribute const):
* Source/WebCore/accessibility/AccessibilityNodeObject.h:
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::initializeRoleMap):
Map "textbox" role to AccessibilityRole::TextField to match other
browsers.
Canonical link: https://commits.webkit.org/260868@main
More information about the webkit-changes
mailing list