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