AX: Expose elements with the ARIA "feed" role
authorjdiggs@igalia.com <jdiggs@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 27 Apr 2017 19:38:32 +0000 (19:38 +0000)
committerjdiggs@igalia.com <jdiggs@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 27 Apr 2017 19:38:32 +0000 (19:38 +0000)
https://bugs.webkit.org/show_bug.cgi?id=171184

Reviewed by Chris Fleizach.

Source/WebCore:

Map elements with the "feed" role to the internal ApplicationGroupRole
AccessibilityRole. This prevents them from being unexpectedly pruned from
the accessibility tree, and causes them to be exposed with ATK_ROLE_PANEL
in WebKitGtk and AXGroup in Safari.

No new tests needed. Instead, add the "feed" role to roles-exposed.html,
xml-roles-exposed.html, and roles-computedRoleString.html.

* accessibility/AccessibilityObject.cpp:
(WebCore::initializeRoleMap):

LayoutTests:

Add "feed" role to roles-exposed.html, xml-roles-exposed.html, and
roles-computedRoleString.html. Update expectations accordingly.

* accessibility/gtk/xml-roles-exposed-expected.txt:
* accessibility/gtk/xml-roles-exposed.html:
* accessibility/roles-computedRoleString.html:
* accessibility/roles-exposed.html:
* platform/gtk/accessibility/roles-exposed-expected.txt:
* platform/mac/accessibility/roles-computedRoleString-expected.txt:
* platform/mac/accessibility/roles-exposed-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215886 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/accessibility/gtk/xml-roles-exposed-expected.txt
LayoutTests/accessibility/gtk/xml-roles-exposed.html
LayoutTests/accessibility/roles-computedRoleString.html
LayoutTests/accessibility/roles-exposed.html
LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt
LayoutTests/platform/mac/accessibility/roles-computedRoleString-expected.txt
LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/accessibility/AccessibilityObject.cpp

index 13973e5..d5576f1 100644 (file)
@@ -1,3 +1,21 @@
+2017-04-27  Joanmarie Diggs  <jdiggs@igalia.com>
+
+        AX: Expose elements with the ARIA "feed" role
+        https://bugs.webkit.org/show_bug.cgi?id=171184
+
+        Reviewed by Chris Fleizach.
+
+        Add "feed" role to roles-exposed.html, xml-roles-exposed.html, and
+        roles-computedRoleString.html. Update expectations accordingly.
+
+        * accessibility/gtk/xml-roles-exposed-expected.txt:
+        * accessibility/gtk/xml-roles-exposed.html:
+        * accessibility/roles-computedRoleString.html:
+        * accessibility/roles-exposed.html:
+        * platform/gtk/accessibility/roles-exposed-expected.txt:
+        * platform/mac/accessibility/roles-computedRoleString-expected.txt:
+        * platform/mac/accessibility/roles-exposed-expected.txt:
+
 2017-04-27  Myles C. Maxfield  <mmaxfield@apple.com>
 
         REGRESSION(r214572): Update fast/text/variations/advances.html to understand normalized variation widths
index 824aef0..91abc2c 100644 (file)
@@ -270,6 +270,25 @@ AXRequired: 0
 AXChecked: 0
 AXPlatformAttributes: computed-role:document, xml-roles:document, tag:div, toolkit:WebKitGtk
 ------------
+AXRole: AXGroup
+AXParent: AXWebArea
+AXChildren: 0
+AXPosition: { 0.000000, 0.000000 }
+AXSize: { 0.000000, 0.000000 }
+AXTitle: 
+AXDescription: 
+AXValue: 
+AXFocusable: 0
+AXFocused: 0
+AXSelectable: 0
+AXSelected: 0
+AXMultiSelectable: 0
+AXEnabled: 1
+AXExpanded: 0
+AXRequired: 0
+AXChecked: 0
+AXPlatformAttributes: computed-role:group, xml-roles:feed, tag:div, toolkit:WebKitGtk
+------------
 AXRole: AXForm
 AXParent: AXWebArea
 AXChildren: 0
index b8f6705..30bd9c7 100644 (file)
@@ -19,6 +19,7 @@
  <div role="dialog"></div>
  <div role="directory"></div>
  <div role="document"></div>
+ <div role="feed"></div>
  <div role="form"></div>
  <div role="group"></div>
  <div role="heading"></div>
index d239e05..c8c098f 100644 (file)
         </div>
     </div>
 </div>
+<div role="feed"                     data-role="group" class="ex">X</div>
 <div role="group"                    data-role="group" class="ex">X</div>
 <div role="heading"                  data-role="heading" class="ex">X</div>
 <div role="img"                      data-role="img" class="ex">X</div>
index 4c4a9fe..631a0a3 100644 (file)
         </div>
     </div>
 </div>
+<div role="feed"                     data-platform="atk,mac" class="ex">X</div>
 <div role="group"                    data-platform="atk,mac" class="ex">X</div>
 <div role="heading"                  data-platform="atk,mac" class="ex">X</div>
 <div role="img"                      data-platform="atk,mac" class="ex">X</div>
index 6a523b8..7b43d14 100644 (file)
@@ -664,6 +664,9 @@ div[role=columnheader]
 div[role=gridcell]
       AXRole: AXCell
       
+div[role=feed]
+      AXRole: AXGroup
+      
 div[role=group]
       AXRole: AXGroup
       
index 7bdde26..44e2942 100644 (file)
@@ -113,6 +113,7 @@ PASS: div[role="row"] -> row.
 PASS: div[role="rowheader"] -> rowheader. 
 PASS: div[role="columnheader"] -> columnheader. 
 PASS: div[role="gridcell"] -> gridcell. 
+PASS: div[role="feed"] -> group. 
 PASS: div[role="group"] -> group. 
 PASS: div[role="heading"] -> heading. 
 PASS: div[role="img"] -> img. 
index c817268..6271138 100644 (file)
@@ -1109,6 +1109,11 @@ div[role=gridcell]
       AXSubrole: 
       AXRoleDescription: cell
       
+div[role=feed]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationGroup
+      AXRoleDescription: group
+      
 div[role=group]
       AXRole: AXGroup
       AXSubrole: AXApplicationGroup
index 05a7cda..2a21d98 100644 (file)
@@ -1,3 +1,21 @@
+2017-04-27  Joanmarie Diggs  <jdiggs@igalia.com>
+
+        AX: Expose elements with the ARIA "feed" role
+        https://bugs.webkit.org/show_bug.cgi?id=171184
+
+        Reviewed by Chris Fleizach.
+
+        Map elements with the "feed" role to the internal ApplicationGroupRole
+        AccessibilityRole. This prevents them from being unexpectedly pruned from
+        the accessibility tree, and causes them to be exposed with ATK_ROLE_PANEL
+        in WebKitGtk and AXGroup in Safari.
+
+        No new tests needed. Instead, add the "feed" role to roles-exposed.html,
+        xml-roles-exposed.html, and roles-computedRoleString.html.
+
+        * accessibility/AccessibilityObject.cpp:
+        (WebCore::initializeRoleMap):
+
 2017-04-27  Brady Eidson  <beidson@apple.com>
 
         Update NetworkStorageSession to support multiple persistent sessions and explicitly set cookie storages.
index 903db6b..57f710d 100644 (file)
@@ -2181,6 +2181,7 @@ static void initializeRoleMap()
         { "combobox", ComboBoxRole },
         { "definition", DefinitionRole },
         { "document", DocumentRole },
+        { "feed", ApplicationGroupRole },
         { "form", FormRole },
         { "rowheader", RowHeaderRole },
         { "group", ApplicationGroupRole },