Title: [136308] trunk/Tools
- Revision
- 136308
- Author
- [email protected]
- Date
- 2012-12-01 03:09:27 -0800 (Sat, 01 Dec 2012)
Log Message
[GTK] A11y tests in WK2 report badly-formatted AX roles
https://bugs.webkit.org/show_bug.cgi?id=102947
Reviewed by Xan Lopez.
As in DRT, convert the ATK accessibility roles to corresponding AXRoles.
These are expected in both tests and their baselines.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::roleToString):
(WTR):
(WTR::AccessibilityUIElement::role):
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (136307 => 136308)
--- trunk/Tools/ChangeLog 2012-12-01 08:33:59 UTC (rev 136307)
+++ trunk/Tools/ChangeLog 2012-12-01 11:09:27 UTC (rev 136308)
@@ -1,3 +1,18 @@
+2012-12-01 Zan Dobersek <[email protected]>
+
+ [GTK] A11y tests in WK2 report badly-formatted AX roles
+ https://bugs.webkit.org/show_bug.cgi?id=102947
+
+ Reviewed by Xan Lopez.
+
+ As in DRT, convert the ATK accessibility roles to corresponding AXRoles.
+ These are expected in both tests and their baselines.
+
+ * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
+ (WTR::roleToString):
+ (WTR):
+ (WTR::AccessibilityUIElement::role):
+
2012-11-30 Mike West <[email protected]>
CSP 1.1: Make the CSP_NEXT flag runtime enabled.
Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp (136307 => 136308)
--- trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp 2012-12-01 08:33:59 UTC (rev 136307)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp 2012-12-01 11:09:27 UTC (rev 136308)
@@ -139,6 +139,114 @@
return g_strdup(uString.utf8().data());
}
+static const gchar* roleToString(AtkRole role)
+{
+ switch (role) {
+ case ATK_ROLE_ALERT:
+ return "AXRole: AXAlert";
+ case ATK_ROLE_CANVAS:
+ return "AXRole: AXCanvas";
+ case ATK_ROLE_CHECK_BOX:
+ return "AXRole: AXCheckBox";
+ case ATK_ROLE_COLUMN_HEADER:
+ return "AXRole: AXColumnHeader";
+ case ATK_ROLE_COMBO_BOX:
+ return "AXRole: AXComboBox";
+ case ATK_ROLE_DOCUMENT_FRAME:
+ return "AXRole: AXWebArea";
+ case ATK_ROLE_ENTRY:
+ return "AXRole: AXTextField";
+ case ATK_ROLE_FOOTER:
+ return "AXRole: AXFooter";
+ case ATK_ROLE_FORM:
+ return "AXRole: AXForm";
+ case ATK_ROLE_GROUPING:
+ return "AXRole: AXGroup";
+ case ATK_ROLE_HEADING:
+ return "AXRole: AXHeading";
+ case ATK_ROLE_IMAGE:
+ return "AXRole: AXImage";
+ case ATK_ROLE_IMAGE_MAP:
+ return "AXRole: AXImageMap";
+ case ATK_ROLE_LABEL:
+ return "AXRole: AXLabel";
+ case ATK_ROLE_LINK:
+ return "AXRole: AXLink";
+ case ATK_ROLE_LIST:
+ return "AXRole: AXList";
+ case ATK_ROLE_LIST_BOX:
+ return "AXRole: AXListBox";
+ case ATK_ROLE_LIST_ITEM:
+ return "AXRole: AXListItem";
+ case ATK_ROLE_MENU:
+ return "AXRole: AXMenu";
+ case ATK_ROLE_MENU_BAR:
+ return "AXRole: AXMenuBar";
+ case ATK_ROLE_MENU_ITEM:
+ return "AXRole: AXMenuItem";
+ case ATK_ROLE_PAGE_TAB:
+ return "AXRole: AXTab";
+ case ATK_ROLE_PAGE_TAB_LIST:
+ return "AXRole: AXTabGroup";
+ case ATK_ROLE_PANEL:
+ return "AXRole: AXGroup";
+ case ATK_ROLE_PARAGRAPH:
+ return "AXRole: AXParagraph";
+ case ATK_ROLE_PASSWORD_TEXT:
+ return "AXRole: AXPasswordField";
+ case ATK_ROLE_PUSH_BUTTON:
+ return "AXRole: AXButton";
+ case ATK_ROLE_RADIO_BUTTON:
+ return "AXRole: AXRadioButton";
+ case ATK_ROLE_ROW_HEADER:
+ return "AXRole: AXRowHeader";
+ case ATK_ROLE_RULER:
+ return "AXRole: AXRuler";
+ case ATK_ROLE_SCROLL_BAR:
+ return "AXRole: AXScrollBar";
+ case ATK_ROLE_SCROLL_PANE:
+ return "AXRole: AXScrollArea";
+ case ATK_ROLE_SECTION:
+ return "AXRole: AXDiv";
+ case ATK_ROLE_SEPARATOR:
+ return "AXRole: AXHorizontalRule";
+ case ATK_ROLE_SLIDER:
+ return "AXRole: AXSlider";
+ case ATK_ROLE_SPIN_BUTTON:
+ return "AXRole: AXSpinButton";
+ case ATK_ROLE_TABLE:
+ return "AXRole: AXTable";
+ case ATK_ROLE_TABLE_CELL:
+ return "AXRole: AXCell";
+ case ATK_ROLE_TABLE_COLUMN_HEADER:
+ return "AXRole: AXColumnHeader";
+ case ATK_ROLE_TABLE_ROW:
+ return "AXRole: AXRow";
+ case ATK_ROLE_TABLE_ROW_HEADER:
+ return "AXRole: AXRowHeader";
+ case ATK_ROLE_TOGGLE_BUTTON:
+ return "AXRole: AXToggleButton";
+ case ATK_ROLE_TOOL_BAR:
+ return "AXRole: AXToolbar";
+ case ATK_ROLE_TOOL_TIP:
+ return "AXRole: AXUserInterfaceTooltip";
+ case ATK_ROLE_TREE:
+ return "AXRole: AXTree";
+ case ATK_ROLE_TREE_TABLE:
+ return "AXRole: AXTreeGrid";
+ case ATK_ROLE_TREE_ITEM:
+ return "AXRole: AXTreeItem";
+ case ATK_ROLE_WINDOW:
+ return "AXRole: AXWindow";
+ case ATK_ROLE_UNKNOWN:
+ return "AXRole: AXUnknown";
+ default:
+ // We want to distinguish ATK_ROLE_UNKNOWN from a known AtkRole which
+ // our DRT isn't properly handling.
+ return "AXRole: FIXME not identified";
+ }
+}
+
AccessibilityUIElement::AccessibilityUIElement(PlatformUIElement element)
: m_element(element)
{
@@ -370,9 +478,7 @@
if (!role)
return JSStringCreateWithCharacters(0, 0);
- const gchar* roleName = atk_role_get_name(role);
- GOwnPtr<gchar> axRole(g_strdup_printf("AXRole: %s", roleName));
-
+ GOwnPtr<gchar> axRole(g_strdup(roleToString(role)));
return JSStringCreateWithUTF8CString(axRole.get());
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes