Title: [206190] trunk
- Revision
- 206190
- Author
- n_w...@apple.com
- Date
- 2016-09-20 17:27:38 -0700 (Tue, 20 Sep 2016)
Log Message
AX: AppleVisUser: VO can't navigate web dialogs iOS10
https://bugs.webkit.org/show_bug.cgi?id=162322
Reviewed by Chris Fleizach.
Source/WebCore:
When using VoiceOver to navigate a web dialog's children, we were setting focus
onto the focusable parent in accessibilityElementDidBecomeFocused. When the focusable
parent is the dialog, it will cause the VO cursor jumping back and forward. Fixed it
by not setting focus on web dialogs in such case.
Test: accessibility/ios-simulator/dialog-did-become-focused.html
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityElementDidBecomeFocused]):
LayoutTests:
* accessibility/ios-simulator/dialog-did-become-focused-expected.txt: Added.
* accessibility/ios-simulator/dialog-did-become-focused.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (206189 => 206190)
--- trunk/LayoutTests/ChangeLog 2016-09-21 00:27:17 UTC (rev 206189)
+++ trunk/LayoutTests/ChangeLog 2016-09-21 00:27:38 UTC (rev 206190)
@@ -1,3 +1,13 @@
+2016-09-20 Nan Wang <n_w...@apple.com>
+
+ AX: AppleVisUser: VO can't navigate web dialogs iOS10
+ https://bugs.webkit.org/show_bug.cgi?id=162322
+
+ Reviewed by Chris Fleizach.
+
+ * accessibility/ios-simulator/dialog-did-become-focused-expected.txt: Added.
+ * accessibility/ios-simulator/dialog-did-become-focused.html: Added.
+
2016-09-20 Zalan Bujtas <za...@apple.com>
REGRESSION (r204552): Athlete search on Strava gives bad rendering.
Added: trunk/LayoutTests/accessibility/ios-simulator/dialog-did-become-focused-expected.txt (0 => 206190)
--- trunk/LayoutTests/accessibility/ios-simulator/dialog-did-become-focused-expected.txt (rev 0)
+++ trunk/LayoutTests/accessibility/ios-simulator/dialog-did-become-focused-expected.txt 2016-09-21 00:27:38 UTC (rev 206190)
@@ -0,0 +1,14 @@
+Alert Box
+
+Alert text
+
+This tests that accessibilityElementDidBecomeFocused on elements inside a dialog won't set focus onto the dialog.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS dialog === document.activeElement is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/accessibility/ios-simulator/dialog-did-become-focused.html (0 => 206190)
--- trunk/LayoutTests/accessibility/ios-simulator/dialog-did-become-focused.html (rev 0)
+++ trunk/LayoutTests/accessibility/ios-simulator/dialog-did-become-focused.html 2016-09-21 00:27:38 UTC (rev 206190)
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+<body id="body">
+
+<div id="dialog" role="alertdialog" tabindex="0">
+<p id="title">Alert Box</p><p id="text">Alert text</p>
+</div>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+ description("This tests that accessibilityElementDidBecomeFocused on elements inside a dialog won't set focus onto the dialog.");
+
+ var callbackCount = 0;
+ if (window.accessibilityController) {
+
+ var dialog = document.getElementById("dialog");
+ var text = accessibilityController.accessibleElementById("text");
+
+ // Test that VO focus onto the dialog's children won't set focus to the dialog itself.
+ text.assistiveTechnologySimulatedFocus();
+ shouldBeFalse("dialog === document.activeElement");
+ }
+
+</script>
+
+<script src=""
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (206189 => 206190)
--- trunk/Source/WebCore/ChangeLog 2016-09-21 00:27:17 UTC (rev 206189)
+++ trunk/Source/WebCore/ChangeLog 2016-09-21 00:27:38 UTC (rev 206190)
@@ -1,3 +1,20 @@
+2016-09-20 Nan Wang <n_w...@apple.com>
+
+ AX: AppleVisUser: VO can't navigate web dialogs iOS10
+ https://bugs.webkit.org/show_bug.cgi?id=162322
+
+ Reviewed by Chris Fleizach.
+
+ When using VoiceOver to navigate a web dialog's children, we were setting focus
+ onto the focusable parent in accessibilityElementDidBecomeFocused. When the focusable
+ parent is the dialog, it will cause the VO cursor jumping back and forward. Fixed it
+ by not setting focus on web dialogs in such case.
+
+ Test: accessibility/ios-simulator/dialog-did-become-focused.html
+
+ * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+ (-[WebAccessibilityObjectWrapper accessibilityElementDidBecomeFocused]):
+
2016-09-20 Keith Rollin <krol...@apple.com>
Add new logging for network resource loading
Modified: trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (206189 => 206190)
--- trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm 2016-09-21 00:27:17 UTC (rev 206189)
+++ trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm 2016-09-21 00:27:38 UTC (rev 206190)
@@ -1891,6 +1891,12 @@
// webkit.org/b/162041 Taking focus onto elements inside a details node will cause VO focusing onto random items.
if ([self detailParentForObject:object])
break;
+
+ // webkit.org/b/162322 When a dialog is focusable, allowing focusing onto the dialog node will cause VO cursor jumping
+ // back and forward while navigating its children.
+ if ([object->wrapper() accessibilityIsDialog])
+ break;
+
object->setFocused(true);
break;
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes