Title: [158154] branches/safari-537.73-branch

Diff

Modified: branches/safari-537.73-branch/LayoutTests/ChangeLog (158153 => 158154)


--- branches/safari-537.73-branch/LayoutTests/ChangeLog	2013-10-29 01:53:05 UTC (rev 158153)
+++ branches/safari-537.73-branch/LayoutTests/ChangeLog	2013-10-29 02:05:02 UTC (rev 158154)
@@ -1,5 +1,19 @@
 2013-10-28  Lucas Forschler  <[email protected]>
 
+        Merge r157231
+
+    2013-10-09  Chris Fleizach  <[email protected]>
+
+            AX: VoiceOver speaking too much when group elements with tabindex=-1 are used
+            https://bugs.webkit.org/show_bug.cgi?id=122574
+
+            Reviewed by Mario Sanchez Prada.
+
+            * accessibility/negative-tabindex-does-not-expose-label-expected.txt: Added.
+            * accessibility/negative-tabindex-does-not-expose-label.html: Added.
+
+2013-10-28  Lucas Forschler  <[email protected]>
+
         Merge r157830
 
     2013-10-22  Geoffrey Garen  <[email protected]>

Copied: branches/safari-537.73-branch/LayoutTests/accessibility/negative-tabindex-does-not-expose-label.html (from rev 157231, trunk/LayoutTests/accessibility/negative-tabindex-does-not-expose-label.html) (0 => 158154)


--- branches/safari-537.73-branch/LayoutTests/accessibility/negative-tabindex-does-not-expose-label.html	                        (rev 0)
+++ branches/safari-537.73-branch/LayoutTests/accessibility/negative-tabindex-does-not-expose-label.html	2013-10-29 02:05:02 UTC (rev 158154)
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+</head>
+<body>
+
+<div tabindex=-1 id="group">
+hello world
+</div>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+    description("This tests that a group has a tabindex < 0, it will not have a label exposed for title or description.");
+
+    if (window.accessibilityController) {
+       var group = accessibilityController.accessibleElementById("group");
+       debug("Description: " + group.description);
+       debug("Title: " + group.title);
+    }
+</script>
+
+<script src=""
+</body>
+</html>

Copied: branches/safari-537.73-branch/LayoutTests/platform/mac/accessibility/negative-tabindex-does-not-expose-label-expected.txt (from rev 157231, trunk/LayoutTests/platform/mac/accessibility/negative-tabindex-does-not-expose-label-expected.txt) (0 => 158154)


--- branches/safari-537.73-branch/LayoutTests/platform/mac/accessibility/negative-tabindex-does-not-expose-label-expected.txt	                        (rev 0)
+++ branches/safari-537.73-branch/LayoutTests/platform/mac/accessibility/negative-tabindex-does-not-expose-label-expected.txt	2013-10-29 02:05:02 UTC (rev 158154)
@@ -0,0 +1,12 @@
+hello world
+This tests that a group has a tabindex < 0, it will not have a label exposed for title or description.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Description: AXDescription: 
+Title: AXTitle: 
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Modified: branches/safari-537.73-branch/Source/WebCore/ChangeLog (158153 => 158154)


--- branches/safari-537.73-branch/Source/WebCore/ChangeLog	2013-10-29 01:53:05 UTC (rev 158153)
+++ branches/safari-537.73-branch/Source/WebCore/ChangeLog	2013-10-29 02:05:02 UTC (rev 158154)
@@ -1,5 +1,27 @@
 2013-10-28  Lucas Forschler  <[email protected]>
 
+        Merge r157231
+
+    2013-10-09  Chris Fleizach  <[email protected]>
+
+            AX: VoiceOver speaking too much when group elements with tabindex=-1 are used
+            https://bugs.webkit.org/show_bug.cgi?id=122574
+
+            Reviewed by Mario Sanchez Prada.
+
+            Tests: accessibility/negative-tabindex-does-not-expose-label.html
+
+            Elements that expose tabindex=-1 are being identified as generic focusable elements for accessibility.
+            Which among other things, determines whether to create an accessible name for the object. 
+            This has the negative effect of causing VoiceOver to speak way too much information when navigating inside
+            a <div> with this attribute.
+
+            * accessibility/AccessibilityNodeObject.cpp:
+            (WebCore::AccessibilityNodeObject::visibleText):
+            (WebCore::AccessibilityNodeObject::title):
+
+2013-10-28  Lucas Forschler  <[email protected]>
+
         Merge r156416
 
     2013-09-24  Roger Fong  <[email protected]>

Modified: branches/safari-537.73-branch/Source/WebCore/accessibility/AccessibilityNodeObject.cpp (158153 => 158154)


--- branches/safari-537.73-branch/Source/WebCore/accessibility/AccessibilityNodeObject.cpp	2013-10-29 01:53:05 UTC (rev 158153)
+++ branches/safari-537.73-branch/Source/WebCore/accessibility/AccessibilityNodeObject.cpp	2013-10-29 02:05:02 UTC (rev 158154)
@@ -1276,8 +1276,13 @@
     
     // If it's focusable but it's not content editable or a known control type, then it will appear to
     // the user as a single atomic object, so we should use its text as the default title.
-    if (isHeading() || isLink() || isGenericFocusableElement())
+    if (isHeading() || isLink())
         useTextUnderElement = true;
+    else if (isGenericFocusableElement()) {
+        // If a node uses a negative tabindex, do not expose it as a generic focusable element, because keyboard focus management
+        // will never land on this specific element.
+        useTextUnderElement = !(node && node->isElementNode() && toElement(node)->tabIndex() < 0);
+    }
     
     if (useTextUnderElement) {
         String text = textUnderElement();
@@ -1625,8 +1630,15 @@
 
     // If it's focusable but it's not content editable or a known control type, then it will appear to                  
     // the user as a single atomic object, so we should use its text as the default title.                              
-    if (isGenericFocusableElement())
+    if (isGenericFocusableElement()) {
+        // If a node uses a negative tabindex, do not expose it as a generic focusable element, because keyboard focus management
+        // will never land on this specific element.
+        Node* node = this->node();
+        if (node && node->isElementNode() && toElement(node)->tabIndex() < 0)
+            return String();
+        
         return textUnderElement();
+    }
 
     return String();
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to