[webkit-changes] [WebKit/WebKit] 7c6244: AX: The value of date time fields is not read by V...
AndresGonzalezApple
noreply at github.com
Sat Feb 3 16:42:33 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7c62441425c1b526d401600066914c8eb8b006ac
https://github.com/WebKit/WebKit/commit/7c62441425c1b526d401600066914c8eb8b006ac
Author: Andres Gonzalez <andresg_22 at apple.com>
Date: 2024-02-03 (Sat, 03 Feb 2024)
Changed paths:
M LayoutTests/accessibility/date-input-aria-label-and-value-expected.txt
M LayoutTests/accessibility/date-input-aria-label-and-value.html
A LayoutTests/accessibility/input-time-label-value-expected.txt
A LayoutTests/accessibility/input-time-label-value.html
R LayoutTests/accessibility/ios-simulator/input-type-time-expected.txt
R LayoutTests/accessibility/ios-simulator/input-type-time.html
A LayoutTests/platform/gtk/accessibility/input-time-label-value-expected.txt
M LayoutTests/platform/ios-simulator/accessibility/changing-aria-hidden-with-display-none-parent-expected.txt
M LayoutTests/platform/ios/TestExpectations
A LayoutTests/platform/ios/accessibility/input-time-label-value-expected.txt
A LayoutTests/platform/mac-monterey/accessibility/input-time-label-value-expected.txt
M LayoutTests/platform/mac-wk1/TestExpectations
A LayoutTests/platform/wpe/accessibility/input-time-label-value-expected.txt
M Source/WebCore/accessibility/AXCoreObject.h
M Source/WebCore/accessibility/AXObjectCache.cpp
M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
M Source/WebCore/accessibility/AccessibilityObject.cpp
M Source/WebCore/accessibility/AccessibilityObject.h
M Source/WebCore/accessibility/AccessibilityRenderObject.cpp
M Source/WebCore/accessibility/AccessibilitySpinButton.h
M Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp
M Source/WebCore/accessibility/ios/AccessibilityObjectIOS.mm
M Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm
M Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm
M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
M Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm
Log Message:
-----------
AX: The value of date time fields is not read by VoiceOver when the VO cursor lands on them.
https://bugs.webkit.org/show_bug.cgi?id=268523
<rdar://problem/122059024>
Reviewed by Tyler Wilcock.
This patch fixes the problem by providing a proper implementation for the stringValue() method in the case of a date time field. Some iOS-specific code to handle date time fields was re-worked and promoted to core code to make this fix possible in all platforms. The patch includes the following changes:
- Added a DateTime role to describe this family of elements.
- Map this role to its appropriate platform properties.
- Fix in AccessibilityRenderObject::stringValue().
- Code cleanup.
* LayoutTests/accessibility/date-input-aria-label-and-value-expected.txt:
* LayoutTests/accessibility/date-input-aria-label-and-value.html:
Re-wrote this test according to our current standards, and simplified and made clear the code.
* LayoutTests/accessibility/input-time-label-value-expected.txt: Added.
* LayoutTests/accessibility/input-time-label-value.html: Added.
Promoted this test from ios-simulator to all platforms. Also modernized and cleaned up the code.
* LayoutTests/accessibility/ios-simulator/input-type-time-expected.txt: Removed.
* LayoutTests/accessibility/ios-simulator/input-type-time.html: Removed.
Became input-time-label-value.html above.
* LayoutTests/platform/gtk/accessibility/input-time-label-value-expected.txt: Added.
* LayoutTests/platform/ios-simulator/accessibility/changing-aria-hidden-with-display-none-parent-expected.txt:
Rebased because now AccessibilityUIElement::title returns something on iOS, before returned null.
* LayoutTests/platform/ios/TestExpectations:
* LayoutTests/platform/ios/accessibility/input-time-label-value-expected.txt: Added.
* LayoutTests/platform/mac-wk1/TestExpectations:
* LayoutTests/platform/wpe/accessibility/input-time-label-value-expected.txt: Added.
* Source/WebCore/accessibility/AXCoreObject.h:
(WebCore::accessibilityRoleToString):
(WebCore::AXCoreObject::isDateTime const):
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::create):
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRoleFromNode const):
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::initializeRoleMap):
* Source/WebCore/accessibility/AccessibilityObject.h:
* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::stringValue const):
(WebCore::AccessibilityRenderObject::addTextFieldChildren):
* Source/WebCore/accessibility/AccessibilitySpinButton.h:
* Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp:
(WebCore::atspiRole):
* Source/WebCore/accessibility/ios/AccessibilityObjectIOS.mm:
(WebCore::AccessibilityObject::isInputTypePopupButton const): Deleted.
* Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
(-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
(-[WebAccessibilityObjectWrapper accessibilityLabel]):
* Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::Accessibility::createPlatformRoleMap):
* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
* Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::title):
Canonical link: https://commits.webkit.org/274057@main
More information about the webkit-changes
mailing list