When atspi_accessible_get_role returns a recognized role that isn't
ATSPI_ROLE_EXTENDED, use a stored role name in order to take advantage
of roles being cached.
"drawing-area",
"file-chooser",
"filler",
+ "focus traversable",
"font-chooser",
"frame",
"glass-pane",
"window",
NULL,
"header",
- "fooler",
+ "footer",
"paragraph",
"ruler",
"application",
"heading",
"page",
"section",
- "form",
"redundant object",
+ "form",
"link",
"input method window"
};
atspi_accessible_get_role_name (AtspiAccessible *obj, GError **error)
{
char *retval = NULL;
+ AtspiRole role;
g_return_val_if_fail (obj != NULL, NULL);
+ role = atspi_accessible_get_role (obj, error);
+ if (role >= 0 && role < MAX_ROLES && role != ATSPI_ROLE_EXTENDED)
+ return g_strdup (role_names [role]);
+
_atspi_dbus_call (obj, atspi_interface_accessible, "GetRoleName", error, "=>s", &retval);
if (!retval)