https://bugs.webkit.org/show_bug.cgi?id=194010
Reviewed by Joanmarie Diggs.
Source/WebCore:
Test: accessibility/ios-simulator/color-well.html
Add support for color well on iOS.
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
(-[WebAccessibilityObjectWrapper accessibilityRoleDescription]):
(-[WebAccessibilityObjectWrapper accessibilityColorStringValue]):
* en.lproj/Localizable.strings:
* platform/LocalizedStrings.cpp:
(WebCore::AXColorWellText):
* platform/LocalizedStrings.h:
Tools:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::stringAttributeValue):
LayoutTests:
* accessibility/ios-simulator/color-well-expected.txt: Added.
* accessibility/ios-simulator/color-well.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240710
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
2019-01-30 Chris Fleizach <cfleizach@apple.com>
+ AX: Support color well on iOS
+ https://bugs.webkit.org/show_bug.cgi?id=194010
+
+ Reviewed by Joanmarie Diggs.
+
+ * accessibility/ios-simulator/color-well-expected.txt: Added.
+ * accessibility/ios-simulator/color-well.html: Added.
+
+2019-01-30 Chris Fleizach <cfleizach@apple.com>
+
AX: Role=switch not returning correct accessibilityValue
https://bugs.webkit.org/show_bug.cgi?id=194006
--- /dev/null
+
+This test thats color input types are accessible on iOS.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS element.isIgnored is false
+PASS element.stringAttributeValue('AXRoleDescription') is 'color well'
+PASS element.stringAttributeValue('AXColorStringDescription') is 'rgb 0.90196 0.39216 0.39608 1'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+<script>
+var successfullyParsed = false;
+if (window.testRunner)
+ testRunner.dumpAsText();
+</script>
+</head>
+<body>
+
+<input type="color" value="#e66465" id="color">
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+ description("This test thats color input types are accessible on iOS.");
+
+ if (window.accessibilityController) {
+
+ var element = accessibilityController.accessibleElementById("color");
+ shouldBeFalse("element.isIgnored");
+ shouldBe("element.stringAttributeValue('AXRoleDescription')", "'color well'");
+ shouldBe("element.stringAttributeValue('AXColorStringDescription')", "'rgb 0.90196 0.39216 0.39608 1'");
+ }
+
+ successfullyParsed = true;
+</script>
+
+<script src="../../resources/js-test-post.js"></script>
+
+</body>
+</html>
+
2019-01-30 Chris Fleizach <cfleizach@apple.com>
+ AX: Support color well on iOS
+ https://bugs.webkit.org/show_bug.cgi?id=194010
+
+ Reviewed by Joanmarie Diggs.
+
+ Test: accessibility/ios-simulator/color-well.html
+
+ Add support for color well on iOS.
+
+ * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+ (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
+ (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
+ (-[WebAccessibilityObjectWrapper accessibilityRoleDescription]):
+ (-[WebAccessibilityObjectWrapper accessibilityColorStringValue]):
+ * en.lproj/Localizable.strings:
+ * platform/LocalizedStrings.cpp:
+ (WebCore::AXColorWellText):
+ * platform/LocalizedStrings.h:
+
+2019-01-30 Chris Fleizach <cfleizach@apple.com>
+
AX: Role=switch not returning correct accessibilityValue
https://bugs.webkit.org/show_bug.cgi?id=194006
switch (role) {
case AccessibilityRole::Button:
case AccessibilityRole::CheckBox:
+ case AccessibilityRole::ColorWell:
case AccessibilityRole::ComboBox:
case AccessibilityRole::DisclosureTriangle:
case AccessibilityRole::Heading:
case AccessibilityRole::ToggleButton:
case AccessibilityRole::PopUpButton:
case AccessibilityRole::CheckBox:
+ case AccessibilityRole::ColorWell:
case AccessibilityRole::RadioButton:
case AccessibilityRole::Slider:
case AccessibilityRole::MenuButton:
case AccessibilityRole::Canvas:
case AccessibilityRole::Caption:
case AccessibilityRole::Cell:
- case AccessibilityRole::ColorWell:
case AccessibilityRole::Column:
case AccessibilityRole::ColumnHeader:
case AccessibilityRole::Definition:
- (NSString *)accessibilityRoleDescription
{
+ if (![self _prepareAccessibilityCall])
+ return nil;
+
+ if (m_object->isColorWell())
+ return AXColorWellText();
+
return m_object->roleDescription();
}
return m_object->placeholderValue();
}
+- (NSString *)accessibilityColorStringValue
+{
+ if (![self _prepareAccessibilityCall])
+ return nil;
+
+ if (m_object->isColorWell()) {
+ int r, g, b;
+ m_object->colorValue(r, g, b);
+ return [NSString stringWithFormat:@"rgb %7.5f %7.5f %7.5f 1", r / 255., g / 255., b / 255.];
+ }
+
+ return nil;
+}
+
- (NSString *)accessibilityValue
{
if (![self _prepareAccessibilityCall])
/* HTTP result code string */
"client error" = "client error";
+/* accessibility role description for a color well */
+"color well" = "color well";
+
/* An ARIA accessibility group that acts as a region of complementary information. */
"complementary" = "complementary";
return WEB_UI_STRING("heading", "accessibility role description for headings");
}
+String AXColorWellText()
+{
+ return WEB_UI_STRING("color well", "accessibility role description for a color well");
+}
+
String AXDefinitionText()
{
return WEB_UI_STRING("definition", "role description of ARIA definition role");
String AXListMarkerText();
String AXImageMapText();
String AXHeadingText();
+ String AXColorWellText();
String AXDefinitionText();
String AXDescriptionListText();
String AXDescriptionListTermText();
+2019-01-30 Chris Fleizach <cfleizach@apple.com>
+
+ AX: Support color well on iOS
+ https://bugs.webkit.org/show_bug.cgi?id=194010
+
+ Reviewed by Joanmarie Diggs.
+
+ * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
+ (WTR::AccessibilityUIElement::stringAttributeValue):
+
2019-01-30 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Bump font related dependencies to match the GTK+ port
- (BOOL)_accessibilityIsStrongPasswordField;
- (CGRect)accessibilityVisibleContentRect;
- (NSString *)accessibilityTextualContext;
+- (NSString *)accessibilityRoleDescription;
+- (NSString *)accessibilityColorStringValue;
// TextMarker related
- (NSArray *)textMarkerRange;
{
if (JSStringIsEqualToUTF8CString(attribute, "AXPlaceholderValue"))
return [[m_element accessibilityPlaceholderValue] createJSStringRef];
-
+
+ if (JSStringIsEqualToUTF8CString(attribute, "AXRoleDescription"))
+ return [[m_element accessibilityRoleDescription] createJSStringRef];
+
+ if (JSStringIsEqualToUTF8CString(attribute, "AXColorStringDescription"))
+ return [[m_element accessibilityColorStringValue] createJSStringRef];
+
if (JSStringIsEqualToUTF8CString(attribute, "AXARIACurrent"))
return [[m_element accessibilityARIACurrentStatus] createJSStringRef];