Title: [246655] trunk
Revision
246655
Author
commit-qu...@webkit.org
Date
2019-06-20 15:06:51 -0700 (Thu, 20 Jun 2019)

Log Message

Web Inspector: AXI: Audit: image label test is throwing spurious errors on elements with existing alt attr, but no value: <img alt>
https://bugs.webkit.org/show_bug.cgi?id=194754

Patch by Greg Doolittle <g...@apple.com> on 2019-06-20
Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/img-alt-attribute-unassigned-value.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::computedRoleString const):

LayoutTests:

* accessibility/img-alt-attribute-unassigned-value-expected.txt: Added.
* accessibility/img-alt-attribute-unassigned-value.html: Added.
* inspector/dom/getAccessibilityPropertiesForNode-expected.txt:

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (246654 => 246655)


--- trunk/LayoutTests/ChangeLog	2019-06-20 22:00:02 UTC (rev 246654)
+++ trunk/LayoutTests/ChangeLog	2019-06-20 22:06:51 UTC (rev 246655)
@@ -1,3 +1,14 @@
+2019-06-20  Greg Doolittle  <g...@apple.com>
+
+        Web Inspector: AXI: Audit: image label test is throwing spurious errors on elements with existing alt attr, but no value: <img alt>
+        https://bugs.webkit.org/show_bug.cgi?id=194754
+
+        Reviewed by Chris Fleizach.
+
+        * accessibility/img-alt-attribute-unassigned-value-expected.txt: Added.
+        * accessibility/img-alt-attribute-unassigned-value.html: Added.
+        * inspector/dom/getAccessibilityPropertiesForNode-expected.txt:
+
 2019-06-20  Saam Barati  <sbar...@apple.com>
 
         [WHLSL] Property resolver needs to recurse on newValueExpression for RMW operations

Added: trunk/LayoutTests/accessibility/img-alt-attribute-unassigned-value-expected.txt (0 => 246655)


--- trunk/LayoutTests/accessibility/img-alt-attribute-unassigned-value-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/accessibility/img-alt-attribute-unassigned-value-expected.txt	2019-06-20 22:06:51 UTC (rev 246655)
@@ -0,0 +1,15 @@
+
+
+
+This tests that img elements with an alt attribute and no assigned value are ignored.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS imagesGroup.childrenCount is 2
+PASS platformValueForW3CName(imagesGroup.childAtIndex(0)) is "cake0"
+PASS platformValueForW3CName(imagesGroup.childAtIndex(1)) is "cake2"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/accessibility/img-alt-attribute-unassigned-value.html (0 => 246655)


--- trunk/LayoutTests/accessibility/img-alt-attribute-unassigned-value.html	                        (rev 0)
+++ trunk/LayoutTests/accessibility/img-alt-attribute-unassigned-value.html	2019-06-20 22:06:51 UTC (rev 246655)
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+<script src=""
+</head>
+<body id="body">
+
+<div tabindex="0" role="group" id="images">
+    <img alt="cake0" src=""
+    <img alt class="cake1 unassigned-alt" src=""
+    <img alt="cake2" src=""
+</div>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+description("This tests that img elements with an alt attribute and no assigned value are ignored.");
+if (window.accessibilityController) {
+    document.getElementById("images").focus();
+    var imagesGroup = accessibilityController.focusedElement;
+    // there are 3 images, but one has an alt attribute that is unassigned, so it should be
+    // ignored. as a result, the image count is 2.
+    shouldBe("imagesGroup.childrenCount", "2");
+    // make sure alt text is being read before and after
+    shouldBeEqualToString("platformValueForW3CName(imagesGroup.childAtIndex(0))", "cake0");
+    // accessiblityController should see the <img> element w/o alt attribute as an image,
+    // and use the filename as the alt text. currently it returns an empty string.
+    // this issue is documented here: <rdar://problem/51669261>
+    // shouldBeEqualToString("platformValueForW3CName(imagesGroup.childAtIndex(1))", "cake.png");
+    shouldBeEqualToString("platformValueForW3CName(imagesGroup.childAtIndex(1))", "cake2");
+}
+
+</script>
+
+<script src=""
+</body>
+</html>
+

Modified: trunk/LayoutTests/inspector/dom/getAccessibilityPropertiesForNode-expected.txt (246654 => 246655)


--- trunk/LayoutTests/inspector/dom/getAccessibilityPropertiesForNode-expected.txt	2019-06-20 22:00:02 UTC (rev 246654)
+++ trunk/LayoutTests/inspector/dom/getAccessibilityPropertiesForNode-expected.txt	2019-06-20 22:06:51 UTC (rev 246655)
@@ -326,7 +326,7 @@
 <img src="" alt="x" aria-hidden="true">
     exists: true
     label: x
-    role: img
+    role: presentation
     ignored: true
     ignoredByDefault: true
     hidden: true
@@ -339,7 +339,7 @@
 <img src="" alt="">
     exists: true
     label: 
-    role: img
+    role: presentation
     ignored: true
 
 <img src=""
@@ -350,7 +350,7 @@
 <img src=""
     exists: true
     label: 
-    role: img
+    role: presentation
     ignored: true
 
 <input style="display:none;">
@@ -361,7 +361,7 @@
 <input aria-hidden="true">
     exists: true
     label: 
-    role: 
+    role: presentation
     focused: false
     ignored: true
     ignoredByDefault: true
@@ -906,7 +906,7 @@
 <span aria-hidden="true"></span>
     exists: true
     label: 
-    role: 
+    role: presentation
     ignored: true
     ignoredByDefault: true
     hidden: true
@@ -915,7 +915,7 @@
 <span></span>
     exists: true
     label: 
-    role: 
+    role: presentation
     ignored: true
     ignoredByDefault: true
     parentNodeId: exists
@@ -923,7 +923,7 @@
 <div aria-hidden="true"></div>
     exists: true
     label: 
-    role: 
+    role: presentation
     ignored: true
     ignoredByDefault: true
     hidden: true
@@ -932,7 +932,7 @@
 <div></div>
     exists: true
     label: 
-    role: 
+    role: presentation
     ignored: true
     parentNodeId: exists
 
@@ -961,7 +961,7 @@
 <div><div></div></div>
     exists: true
     label: 
-    role: 
+    role: presentation
     ignored: true
     parentNodeId: exists
 
@@ -968,7 +968,7 @@
 <script style="display:block;"></script>
     exists: true
     label: 
-    role: 
+    role: presentation
     ignored: true
     parentNodeId: exists
 

Modified: trunk/Source/WebCore/ChangeLog (246654 => 246655)


--- trunk/Source/WebCore/ChangeLog	2019-06-20 22:00:02 UTC (rev 246654)
+++ trunk/Source/WebCore/ChangeLog	2019-06-20 22:06:51 UTC (rev 246655)
@@ -1,3 +1,15 @@
+2019-06-20  Greg Doolittle  <g...@apple.com>
+
+        Web Inspector: AXI: Audit: image label test is throwing spurious errors on elements with existing alt attr, but no value: <img alt>
+        https://bugs.webkit.org/show_bug.cgi?id=194754
+
+        Reviewed by Chris Fleizach.
+
+        Test: accessibility/img-alt-attribute-unassigned-value.html
+
+        * accessibility/AccessibilityObject.cpp:
+        (WebCore::AccessibilityObject::computedRoleString const):
+
 2019-06-20  Ryosuke Niwa  <rn...@webkit.org>
 
         REGRESSION(r245912): Crash in TextIterator::range via visiblePositionForIndexUsingCharacterIterator

Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.cpp (246654 => 246655)


--- trunk/Source/WebCore/accessibility/AccessibilityObject.cpp	2019-06-20 22:00:02 UTC (rev 246654)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.cpp	2019-06-20 22:06:51 UTC (rev 246655)
@@ -2493,6 +2493,9 @@
     // FIXME: Need a few special cases that aren't in the RoleMap: option, etc. http://webkit.org/b/128296
     AccessibilityRole role = roleValue();
 
+    if (role == AccessibilityRole::Image && accessibilityIsIgnored())
+        return reverseAriaRoleMap().get(static_cast<int>(AccessibilityRole::Presentational));
+
     // We do not compute a role string for generic block elements with user-agent assigned roles.
     if (role == AccessibilityRole::Group || role == AccessibilityRole::TextGroup)
         return "";
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to