AX: Implement support for new blockquote, caption, and paragraph ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=186274

Reviewed by Chris Fleizach.

Source/WebCore:

Add the three new ARIA roles to the internal rolemap so that they are treated in
the same fashion as their HTML element counterparts. Also ensure that an element
with an explicit caption role does not get pruned from the macOS accessibility tree.

No new tests. Instead add the roles to the existing role-exposure tests.

* accessibility/AccessibilityObject.cpp:
(WebCore::initializeRoleMap):
* accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):

LayoutTests:

Add the three ARIA roles to the existing role-exposure tests and update
expectations accordingly. Also update several additional GTK tests because
the mapping of these ARIA roles results in new object attributes appearing
for native HTML blockquote, paragraph, and caption elements.

* accessibility/gtk/object-attributes-expected.txt:
* accessibility/gtk/xml-roles-exposed-expected.txt:
* accessibility/gtk/xml-roles-exposed.html:
* accessibility/roles-computedRoleString-expected.txt:
* accessibility/roles-computedRoleString.html:
* accessibility/roles-exposed.html:
* inspector/dom/hideHighlight-expected.txt:
* platform/gtk/accessibility/roles-computedRoleString-expected.txt:
* platform/gtk/accessibility/roles-exposed-expected.txt:
* platform/gtk/accessibility/table-one-cell-expected.txt:
* platform/mac/accessibility/roles-computedRoleString-expected.txt:
* platform/mac/accessibility/roles-exposed-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@232508 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/accessibility/roles-computedRoleString.html b/LayoutTests/accessibility/roles-computedRoleString.html
index efcc1b4..9df7640 100644
--- a/LayoutTests/accessibility/roles-computedRoleString.html
+++ b/LayoutTests/accessibility/roles-computedRoleString.html
@@ -68,7 +68,7 @@
 <!-- skipped <optgroup> -->
 <!-- skipped <option> -->
 <!-- skipped <output> -->
-<p data-role="" data-platform="atk,mac" class="ex">X</p>
+<p data-role="paragraph" data-platform="atk,mac" class="ex">X</p>
 <!-- skipped <param> -->
 <pre data-role="" data-platform="atk,mac" class="ex">X</pre>
 <progress data-role="progressbar" data-platform="atk,mac" class="ex" value="0.75">X</progress>
@@ -103,7 +103,7 @@
 <svg data-role="" data-platform="atk,mac" class="ex">X</svg>
 
 <table data-role="table" data-platform="atk,mac" class="ex">
-    <caption data-role="" data-platform="atk,mac" class="ex">X</caption>
+    <caption data-role="caption" data-platform="atk,mac" class="ex">X</caption>
     <thead data-role="rowgroup" data-platform="atk,mac" class="ex">
         <tr data-role="row" data-platform="atk,mac" class="ex">
             <th data-role="columnheader" data-platform="atk,mac" class="ex">X</th>
@@ -173,7 +173,9 @@
 <div role="application"              data-role="application" data-platform="atk,mac" class="ex">X</div>
 <div role="article"                  data-role="article" data-platform="atk,mac" class="ex">X</div>
 <div role="banner"                   data-role="banner" data-platform="atk,mac" class="ex">X</div>
+<div role="blockquote"               data-role="blockquote" data-platform="atk,mac" class="ex">X</div>
 <div role="button"                   data-role="button" data-platform="atk,mac" class="ex">X</div>
+<div role="caption"                  data-role="caption" data-platform="atk,mac" class="ex">X</div>
 <div role="checkbox"                 data-role="checkbox" data-platform="atk,mac" class="ex">X</div>
 <div role="combobox"                 data-role="combobox" data-platform="atk,mac" class="ex">X</div>
 <div role="complementary"            data-role="complementary" data-platform="atk,mac" class="ex">X</div>
@@ -223,6 +225,7 @@
 </div>
 <div role="navigation"               data-role="navigation" data-platform="atk,mac" class="ex">X</div>
 <div role="note"                     data-role="note" data-platform="atk,mac" class="ex">X</div>
+<div role="paragraph"                data-role="paragraph" data-platform="atk,mac" class="ex">X</div>
 <div role="presentation"             data-role="" data-platform="atk,mac" class="ex">X</div>
 <div role="progressbar"              data-role="progressbar" data-platform="atk,mac" class="ex">X</div>
 <div role="radiogroup"               data-role="radiogroup" data-platform="atk,mac" class="ex">