[GTK] Expose ARIA roles for tab, tabpanel and tablist
https://bugs.webkit.org/show_bug.cgi?id=84043

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-12-13
Reviewed by Martin Robinson.

Source/WebCore:

Mapped the ARIA roles to their corresponding ATK roles.

No new tests; instead unskipped the associated test.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole): Mapped the ARIA roles to their corresponding ATK roles

LayoutTests:

Mapped the ARIA roles to the corresponding ATK roles and unskipped the
associated test. Also created the missing platform-specific expected
results.

* accessibility/aria-tab-roles-expected.txt: Added.
* platform/gtk/TestExpectations: Unskipped the associated test.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137596 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp b/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp
index 613a9a2..5991af7 100644
--- a/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp
+++ b/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp
@@ -478,6 +478,7 @@
     case SliderRole:
         return ATK_ROLE_SLIDER;
     case TabGroupRole:
+    case TabListRole:
         return ATK_ROLE_PAGE_TAB_LIST;
     case TextFieldRole:
     case TextAreaRole:
@@ -531,6 +532,7 @@
         return ATK_ROLE_APPLICATION;
     case GroupRole:
     case RadioGroupRole:
+    case TabPanelRole:
         return ATK_ROLE_PANEL;
     case RowHeaderRole: // Row headers are cells after all.
     case ColumnHeaderRole: // Column headers are cells after all.
@@ -570,6 +572,8 @@
         return ATK_ROLE_SEPARATOR;
     case SpinButtonRole:
         return ATK_ROLE_SPIN_BUTTON;
+    case TabRole:
+        return ATK_ROLE_PAGE_TAB;
     default:
         return ATK_ROLE_UNKNOWN;
     }