Title: [240710] trunk
Revision
240710
Author
[email protected]
Date
2019-01-30 07:10:36 -0800 (Wed, 30 Jan 2019)

Log Message

AX: Support color well on iOS
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.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (240709 => 240710)


--- trunk/LayoutTests/ChangeLog	2019-01-30 15:07:05 UTC (rev 240709)
+++ trunk/LayoutTests/ChangeLog	2019-01-30 15:10:36 UTC (rev 240710)
@@ -1,5 +1,15 @@
 2019-01-30  Chris Fleizach  <[email protected]>
 
+        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  <[email protected]>
+
         AX: Role=switch not returning correct accessibilityValue
         https://bugs.webkit.org/show_bug.cgi?id=194006
 

Added: trunk/LayoutTests/accessibility/ios-simulator/color-well-expected.txt (0 => 240710)


--- trunk/LayoutTests/accessibility/ios-simulator/color-well-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/accessibility/ios-simulator/color-well-expected.txt	2019-01-30 15:10:36 UTC (rev 240710)
@@ -0,0 +1,13 @@
+
+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
+

Added: trunk/LayoutTests/accessibility/ios-simulator/color-well.html (0 => 240710)


--- trunk/LayoutTests/accessibility/ios-simulator/color-well.html	                        (rev 0)
+++ trunk/LayoutTests/accessibility/ios-simulator/color-well.html	2019-01-30 15:10:36 UTC (rev 240710)
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+<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=""
+
+</body>
+</html>
+

Modified: trunk/Source/WebCore/ChangeLog (240709 => 240710)


--- trunk/Source/WebCore/ChangeLog	2019-01-30 15:07:05 UTC (rev 240709)
+++ trunk/Source/WebCore/ChangeLog	2019-01-30 15:10:36 UTC (rev 240710)
@@ -1,5 +1,26 @@
 2019-01-30  Chris Fleizach  <[email protected]>
 
+        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  <[email protected]>
+
         AX: Role=switch not returning correct accessibilityValue
         https://bugs.webkit.org/show_bug.cgi?id=194006
 

Modified: trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (240709 => 240710)


--- trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2019-01-30 15:07:05 UTC (rev 240709)
+++ trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2019-01-30 15:10:36 UTC (rev 240710)
@@ -346,6 +346,7 @@
     switch (role) {
     case AccessibilityRole::Button:
     case AccessibilityRole::CheckBox:
+    case AccessibilityRole::ColorWell:
     case AccessibilityRole::ComboBox:
     case AccessibilityRole::DisclosureTriangle:
     case AccessibilityRole::Heading:
@@ -856,6 +857,7 @@
     case AccessibilityRole::ToggleButton:
     case AccessibilityRole::PopUpButton:
     case AccessibilityRole::CheckBox:
+    case AccessibilityRole::ColorWell:
     case AccessibilityRole::RadioButton:
     case AccessibilityRole::Slider:
     case AccessibilityRole::MenuButton:
@@ -930,7 +932,6 @@
     case AccessibilityRole::Canvas:
     case AccessibilityRole::Caption:
     case AccessibilityRole::Cell:
-    case AccessibilityRole::ColorWell:
     case AccessibilityRole::Column:
     case AccessibilityRole::ColumnHeader:
     case AccessibilityRole::Definition:
@@ -1115,6 +1116,12 @@
 
 - (NSString *)accessibilityRoleDescription
 {
+    if (![self _prepareAccessibilityCall])
+        return nil;
+
+    if (m_object->isColorWell())
+        return AXColorWellText();
+
     return m_object->roleDescription();
 }
 
@@ -1393,6 +1400,20 @@
     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])

Modified: trunk/Source/WebCore/en.lproj/Localizable.strings (240709 => 240710)


--- trunk/Source/WebCore/en.lproj/Localizable.strings	2019-01-30 15:07:05 UTC (rev 240709)
+++ trunk/Source/WebCore/en.lproj/Localizable.strings	2019-01-30 15:10:36 UTC (rev 240710)
@@ -967,6 +967,9 @@
 /* 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";
 

Modified: trunk/Source/WebCore/platform/LocalizedStrings.cpp (240709 => 240710)


--- trunk/Source/WebCore/platform/LocalizedStrings.cpp	2019-01-30 15:07:05 UTC (rev 240709)
+++ trunk/Source/WebCore/platform/LocalizedStrings.cpp	2019-01-30 15:10:36 UTC (rev 240710)
@@ -466,6 +466,11 @@
     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");

Modified: trunk/Source/WebCore/platform/LocalizedStrings.h (240709 => 240710)


--- trunk/Source/WebCore/platform/LocalizedStrings.h	2019-01-30 15:07:05 UTC (rev 240709)
+++ trunk/Source/WebCore/platform/LocalizedStrings.h	2019-01-30 15:10:36 UTC (rev 240710)
@@ -164,6 +164,7 @@
     String AXListMarkerText();
     String AXImageMapText();
     String AXHeadingText();
+    String AXColorWellText();
     String AXDefinitionText();
     String AXDescriptionListText();
     String AXDescriptionListTermText();

Modified: trunk/Tools/ChangeLog (240709 => 240710)


--- trunk/Tools/ChangeLog	2019-01-30 15:07:05 UTC (rev 240709)
+++ trunk/Tools/ChangeLog	2019-01-30 15:10:36 UTC (rev 240710)
@@ -1,3 +1,13 @@
+2019-01-30  Chris Fleizach  <[email protected]>
+
+        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  <[email protected]>
 
         [WPE] Bump font related dependencies to match the GTK+ port

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm (240709 => 240710)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm	2019-01-30 15:07:05 UTC (rev 240709)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm	2019-01-30 15:10:36 UTC (rev 240710)
@@ -82,6 +82,8 @@
 - (BOOL)_accessibilityIsStrongPasswordField;
 - (CGRect)accessibilityVisibleContentRect;
 - (NSString *)accessibilityTextualContext;
+- (NSString *)accessibilityRoleDescription;
+- (NSString *)accessibilityColorStringValue;
 
 // TextMarker related
 - (NSArray *)textMarkerRange;
@@ -357,7 +359,13 @@
 {
     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];
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to