Title: [151275] trunk
Revision
151275
Author
[email protected]
Date
2013-06-06 09:27:16 -0700 (Thu, 06 Jun 2013)

Log Message

AX: iOS ignores ARIA progressbar elements
https://bugs.webkit.org/show_bug.cgi?id=116727

Reviewed by David Kilzer.

Source/WebCore:

Make this an accessible element on iOS.

Test: platform/iphone-simulator/accessibility/progressbar.html

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
(-[WebAccessibilityObjectWrapper _accessibilityMinValue]):
(-[WebAccessibilityObjectWrapper _accessibilityMaxValue]):

Tools:

* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::minValue):
(AccessibilityUIElement::maxValue):

LayoutTests:

* platform/iphone-simulator/accessibility/progressbar-expected.txt: Added.
* platform/iphone-simulator/accessibility/progressbar.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (151274 => 151275)


--- trunk/LayoutTests/ChangeLog	2013-06-06 16:07:05 UTC (rev 151274)
+++ trunk/LayoutTests/ChangeLog	2013-06-06 16:27:16 UTC (rev 151275)
@@ -1,3 +1,13 @@
+2013-06-06  Chris Fleizach  <[email protected]>
+
+        AX: iOS ignores ARIA progressbar elements
+        https://bugs.webkit.org/show_bug.cgi?id=116727
+
+        Reviewed by David Kilzer.
+
+        * platform/iphone-simulator/accessibility/progressbar-expected.txt: Added.
+        * platform/iphone-simulator/accessibility/progressbar.html: Added.
+
 2013-06-06  Brent Fulgham  <[email protected]>
 
         Unreviewed TestExpectation gardening.  Clean up some lint warnings.

Added: trunk/LayoutTests/platform/iphone-simulator/accessibility/progressbar-expected.txt (0 => 151275)


--- trunk/LayoutTests/platform/iphone-simulator/accessibility/progressbar-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/iphone-simulator/accessibility/progressbar-expected.txt	2013-06-06 16:27:16 UTC (rev 151275)
@@ -0,0 +1,15 @@
+blah
+This tests that progress bars show up in the AX hierarchy and that min, current and max values are reported correctly.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS button1.iphoneLabel is 'AXLabel: Popularity'
+PASS button1.iphoneValue is 'AXValue: 5.00'
+PASS button1.iphoneIsElement is true
+PASS button1.minValue is 1
+PASS button1.maxValue is 12
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/platform/iphone-simulator/accessibility/progressbar.html (0 => 151275)


--- trunk/LayoutTests/platform/iphone-simulator/accessibility/progressbar.html	                        (rev 0)
+++ trunk/LayoutTests/platform/iphone-simulator/accessibility/progressbar.html	2013-06-06 16:27:16 UTC (rev 151275)
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href=""
+<script src=""
+<script>
+var successfullyParsed = false;
+</script>
+</head>
+<body id="body">
+
+<div id="progressbar" role="progressbar" aria-label="Popularity" aria-valuemin="1" aria-valuenow="5" aria-valuemax="12">blah</div>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+    description("This tests that progress bars show up in the AX hierarchy and that min, current and max values are reported correctly.");
+
+    if (window.accessibilityController) {
+
+        var button1 = accessibilityController.accessibleElementById("progressbar");
+        shouldBe("button1.iphoneLabel", "'AXLabel: Popularity'");
+        shouldBe("button1.iphoneValue", "'AXValue: 5.00'");
+        shouldBeTrue("button1.iphoneIsElement");
+        shouldBe("button1.minValue", "1");
+        shouldBe("button1.maxValue", "12");
+    }
+
+    successfullyParsed = true;
+</script>
+
+<script src=""
+
+</body>
+</html>
+

Modified: trunk/Source/WebCore/ChangeLog (151274 => 151275)


--- trunk/Source/WebCore/ChangeLog	2013-06-06 16:07:05 UTC (rev 151274)
+++ trunk/Source/WebCore/ChangeLog	2013-06-06 16:27:16 UTC (rev 151275)
@@ -1,3 +1,19 @@
+2013-06-06  Chris Fleizach  <[email protected]>
+
+        AX: iOS ignores ARIA progressbar elements
+        https://bugs.webkit.org/show_bug.cgi?id=116727
+
+        Reviewed by David Kilzer.
+
+        Make this an accessible element on iOS.
+
+        Test: platform/iphone-simulator/accessibility/progressbar.html
+
+        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+        (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
+        (-[WebAccessibilityObjectWrapper _accessibilityMinValue]):
+        (-[WebAccessibilityObjectWrapper _accessibilityMaxValue]):
+
 2013-06-06  Christophe Dumez  <[email protected]>
 
         Remove unused HashValueForClassAndName() from JSC bindings generator

Modified: trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (151274 => 151275)


--- trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2013-06-06 16:07:05 UTC (rev 151274)
+++ trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2013-06-06 16:27:16 UTC (rev 151275)
@@ -602,6 +602,7 @@
         case MenuButtonRole:
         case ValueIndicatorRole:
         case ImageRole:
+        case ProgressIndicatorRole:
         case MenuItemRole:
         case IncrementorRole:
         case ComboBoxRole:
@@ -657,7 +658,6 @@
         case RowRole:
         case ToolbarRole:
         case BusyIndicatorRole:
-        case ProgressIndicatorRole:
         case WindowRole:
         case DrawerRole:
         case SystemWideRole:
@@ -716,6 +716,16 @@
     [result appendString:string];
 }
 
+- (CGFloat)_accessibilityMinValue
+{
+    return m_object->minValueForRange();
+}
+
+- (CGFloat)_accessibilityMaxValue
+{
+    return m_object->maxValueForRange();
+}
+
 - (NSString *)accessibilityLabel
 {
     if (![self _prepareAccessibilityCall])

Modified: trunk/Tools/ChangeLog (151274 => 151275)


--- trunk/Tools/ChangeLog	2013-06-06 16:07:05 UTC (rev 151274)
+++ trunk/Tools/ChangeLog	2013-06-06 16:27:16 UTC (rev 151275)
@@ -1,3 +1,14 @@
+2013-06-06  Chris Fleizach  <[email protected]>
+
+        AX: iOS ignores ARIA progressbar elements
+        https://bugs.webkit.org/show_bug.cgi?id=116727
+
+        Reviewed by David Kilzer.
+
+        * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
+        (AccessibilityUIElement::minValue):
+        (AccessibilityUIElement::maxValue):
+
 2013-06-06  [email protected]  <[email protected]>
 
         [WinCairo] Fix build-webkit to build WinCairo under VS2010.

Modified: trunk/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm (151274 => 151275)


--- trunk/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm	2013-06-06 16:07:05 UTC (rev 151274)
+++ trunk/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm	2013-06-06 16:27:16 UTC (rev 151275)
@@ -77,6 +77,8 @@
 - (CGPoint)accessibilityClickPoint;
 - (void)accessibilityModifySelection:(WebCore::TextGranularity)granularity increase:(BOOL)increase;
 - (void)accessibilitySetPostedNotificationCallback:(AXPostedNotificationCallback)function withContext:(void*)context;
+- (CGFloat)_accessibilityMinValue;
+- (CGFloat)_accessibilityMaxValue;
 @end
 
 @interface NSObject (WebAccessibilityObjectWrapperPrivate)
@@ -506,12 +508,12 @@
 
 double AccessibilityUIElement::minValue()
 {
-    return 0.0f;
+    return [m_element _accessibilityMinValue];
 }
 
 double AccessibilityUIElement::maxValue()
 {
-    return 0.0;
+    return [m_element _accessibilityMaxValue];
 }
 
 JSStringRef AccessibilityUIElement::valueDescription()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to