Title: [185675] trunk
Revision
185675
Author
[email protected]
Date
2015-06-17 16:20:27 -0700 (Wed, 17 Jun 2015)

Log Message

AX: VoiceOver in iOS not announcing generic WAI-ARIA region, even if labelled properly
https://bugs.webkit.org/show_bug.cgi?id=146066

Reviewed by Darin Adler.

Source/WebCore:

Allow the region role to identify as a landmark type.

Updated test: platform/ios-simulator/accessibility/landmark-types.html

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper _accessibilityIsLandmarkRole:]):

LayoutTests:

* platform/ios-simulator/accessibility/landmark-type-expected.txt:
* platform/ios-simulator/accessibility/landmark-type.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (185674 => 185675)


--- trunk/LayoutTests/ChangeLog	2015-06-17 23:02:07 UTC (rev 185674)
+++ trunk/LayoutTests/ChangeLog	2015-06-17 23:20:27 UTC (rev 185675)
@@ -1,3 +1,13 @@
+2015-06-17  Chris Fleizach  <[email protected]>
+
+        AX: VoiceOver in iOS not announcing generic WAI-ARIA region, even if labelled properly
+        https://bugs.webkit.org/show_bug.cgi?id=146066
+
+        Reviewed by Darin Adler.
+
+        * platform/ios-simulator/accessibility/landmark-type-expected.txt:
+        * platform/ios-simulator/accessibility/landmark-type.html:
+
 2015-06-17  Simon Fraser  <[email protected]>
 
         REGRESSION (r173283-r173296): Amazon.com front page has no caret in the search field

Modified: trunk/LayoutTests/platform/ios-simulator/accessibility/landmark-type-expected.txt (185674 => 185675)


--- trunk/LayoutTests/platform/ios-simulator/accessibility/landmark-type-expected.txt	2015-06-17 23:02:07 UTC (rev 185674)
+++ trunk/LayoutTests/platform/ios-simulator/accessibility/landmark-type-expected.txt	2015-06-17 23:20:27 UTC (rev 185675)
@@ -1,12 +1,19 @@
+non landmark
 text
 text
+text
 This tests that landmarks return their type as part of the AX label.
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
 PASS main.description is 'AXLabel: main'
+PASS main.childAtIndex(0).traits != nonLandmarkText.traits is true
 PASS banner.description is 'AXLabel: banner'
+PASS banner.childAtIndex(0).traits != nonLandmarkText.traits is true
+PASS region.description is 'AXLabel: testregion, region'
+PASS region.childAtIndex(0).traits != nonLandmarkText.traits is true
+PASS region.childAtIndex(0).traits == main.childAtIndex(0).traits is true
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/platform/ios-simulator/accessibility/landmark-type.html (185674 => 185675)


--- trunk/LayoutTests/platform/ios-simulator/accessibility/landmark-type.html	2015-06-17 23:02:07 UTC (rev 185674)
+++ trunk/LayoutTests/platform/ios-simulator/accessibility/landmark-type.html	2015-06-17 23:20:27 UTC (rev 185675)
@@ -8,6 +8,10 @@
 </head>
 <body id="body">
 
+<div role="group" id="group">
+non landmark
+</div>
+
 <div role="main" id="main">
 text
 </div>
@@ -16,6 +20,10 @@
 text
 </div>
 
+<div role="region" id="region" aria-label="testregion">
+text
+</div>
+
 <p id="description"></p>
 <div id="console"></div>
 
@@ -25,11 +33,23 @@
 
     if (window.accessibilityController) {
 
+        // The traits of an object inside a landmark will be different from those not in a landmark,
+        // so we can use that to determine if an object is marked as a landmark.
+        var nonLandmarkText = accessibilityController.accessibleElementById("group").childAtIndex(0);
+
         var main = accessibilityController.accessibleElementById("main");
         shouldBe("main.description", "'AXLabel: main'");
+        shouldBeTrue("main.childAtIndex(0).traits != nonLandmarkText.traits");
 
         var banner = accessibilityController.accessibleElementById("banner");
         shouldBe("banner.description", "'AXLabel: banner'");
+        shouldBeTrue("banner.childAtIndex(0).traits != nonLandmarkText.traits");
+
+        var region = accessibilityController.accessibleElementById("region");
+        shouldBe("region.description", "'AXLabel: testregion, region'");
+        shouldBeTrue("region.childAtIndex(0).traits != nonLandmarkText.traits");
+
+        shouldBeTrue("region.childAtIndex(0).traits == main.childAtIndex(0).traits");
     }
 
     successfullyParsed = true;

Modified: trunk/Source/WebCore/ChangeLog (185674 => 185675)


--- trunk/Source/WebCore/ChangeLog	2015-06-17 23:02:07 UTC (rev 185674)
+++ trunk/Source/WebCore/ChangeLog	2015-06-17 23:20:27 UTC (rev 185675)
@@ -1,3 +1,17 @@
+2015-06-17  Chris Fleizach  <[email protected]>
+
+        AX: VoiceOver in iOS not announcing generic WAI-ARIA region, even if labelled properly
+        https://bugs.webkit.org/show_bug.cgi?id=146066
+
+        Reviewed by Darin Adler.
+
+        Allow the region role to identify as a landmark type.
+
+        Updated test: platform/ios-simulator/accessibility/landmark-types.html
+
+        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+        (-[WebAccessibilityObjectWrapper _accessibilityIsLandmarkRole:]):
+
 2015-06-17  Simon Fraser  <[email protected]>
 
         REGRESSION (r173283-r173296): Amazon.com front page has no caret in the search field

Modified: trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (185674 => 185675)


--- trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2015-06-17 23:02:07 UTC (rev 185674)
+++ trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2015-06-17 23:20:27 UTC (rev 185675)
@@ -433,16 +433,17 @@
 - (BOOL)_accessibilityIsLandmarkRole:(AccessibilityRole)role
 {
     switch (role) {
-        case LandmarkApplicationRole:
-        case LandmarkBannerRole:
-        case LandmarkComplementaryRole:
-        case LandmarkContentInfoRole:
-        case LandmarkMainRole:
-        case LandmarkNavigationRole:
-        case LandmarkSearchRole:
-            return YES;
-        default:
-            return NO;
+    case DocumentRegionRole:
+    case LandmarkApplicationRole:
+    case LandmarkBannerRole:
+    case LandmarkComplementaryRole:
+    case LandmarkContentInfoRole:
+    case LandmarkMainRole:
+    case LandmarkNavigationRole:
+    case LandmarkSearchRole:
+        return YES;
+    default:
+        return NO;
     }    
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to