Bug 1109022 - Add basic ATK roles for MathML elements, r=surkov

This commit is contained in:
Frédéric Wang 2015-03-11 19:05:57 -04:00
parent 53dc5516af
commit 476aad6f03
3 changed files with 41 additions and 17 deletions

View File

@ -707,6 +707,10 @@ getRoleCB(AtkObject *aAtkObj)
aAtkObj->role = ATK_ROLE_LIST;
else if (aAtkObj->role == ATK_ROLE_TABLE_ROW && !IsAtkVersionAtLeast(2, 1))
aAtkObj->role = ATK_ROLE_LIST_ITEM;
else if (aAtkObj->role == ATK_ROLE_MATH && !IsAtkVersionAtLeast(2, 12))
aAtkObj->role = ATK_ROLE_PANEL;
else if (aAtkObj->role == ATK_ROLE_STATIC && !IsAtkVersionAtLeast(2, 16))
aAtkObj->role = ATK_ROLE_TEXT;
return aAtkObj->role;
}

View File

@ -1066,7 +1066,7 @@ ROLE(SWITCH,
ROLE(MATHML_MATH,
"math",
ATK_ROLE_UNKNOWN,
ATK_ROLE_MATH,
NSAccessibilityUnknownRole,
ROLE_SYSTEM_EQUATION,
ROLE_SYSTEM_EQUATION,
@ -1074,7 +1074,7 @@ ROLE(MATHML_MATH,
ROLE(MATHML_IDENTIFIER,
"mathml identifier",
ATK_ROLE_UNKNOWN,
ATK_ROLE_STATIC,
NSAccessibilityUnknownRole,
0,
IA2_ROLE_UNKNOWN,
@ -1082,7 +1082,7 @@ ROLE(MATHML_IDENTIFIER,
ROLE(MATHML_NUMBER,
"mathml number",
ATK_ROLE_UNKNOWN,
ATK_ROLE_STATIC,
NSAccessibilityUnknownRole,
0,
IA2_ROLE_UNKNOWN,
@ -1090,7 +1090,7 @@ ROLE(MATHML_NUMBER,
ROLE(MATHML_OPERATOR,
"mathml operator",
ATK_ROLE_UNKNOWN,
ATK_ROLE_STATIC,
NSAccessibilityUnknownRole,
0,
IA2_ROLE_UNKNOWN,
@ -1098,7 +1098,7 @@ ROLE(MATHML_OPERATOR,
ROLE(MATHML_TEXT,
"mathml text",
ATK_ROLE_UNKNOWN,
ATK_ROLE_STATIC,
NSAccessibilityUnknownRole,
0,
IA2_ROLE_UNKNOWN,
@ -1106,7 +1106,7 @@ ROLE(MATHML_TEXT,
ROLE(MATHML_STRING_LITERAL,
"mathml string literal",
ATK_ROLE_UNKNOWN,
ATK_ROLE_STATIC,
NSAccessibilityUnknownRole,
0,
IA2_ROLE_UNKNOWN,
@ -1114,7 +1114,7 @@ ROLE(MATHML_STRING_LITERAL,
ROLE(MATHML_GLYPH,
"mathml glyph",
ATK_ROLE_UNKNOWN,
ATK_ROLE_IMAGE,
NSAccessibilityUnknownRole,
0,
IA2_ROLE_UNKNOWN,
@ -1122,7 +1122,7 @@ ROLE(MATHML_GLYPH,
ROLE(MATHML_ROW,
"mathml row",
ATK_ROLE_UNKNOWN,
ATK_ROLE_PANEL,
NSAccessibilityUnknownRole,
0,
IA2_ROLE_UNKNOWN,
@ -1154,7 +1154,7 @@ ROLE(MATHML_ROOT,
ROLE(MATHML_FENCED,
"mathml fenced",
ATK_ROLE_UNKNOWN,
ATK_ROLE_PANEL,
NSAccessibilityUnknownRole,
0,
IA2_ROLE_UNKNOWN,
@ -1162,7 +1162,7 @@ ROLE(MATHML_FENCED,
ROLE(MATHML_ENCLOSED,
"mathml enclosed",
ATK_ROLE_UNKNOWN,
ATK_ROLE_PANEL,
NSAccessibilityUnknownRole,
0,
IA2_ROLE_UNKNOWN,
@ -1170,7 +1170,7 @@ ROLE(MATHML_ENCLOSED,
ROLE(MATHML_STYLE,
"mathml style",
ATK_ROLE_UNKNOWN,
ATK_ROLE_PANEL,
NSAccessibilityUnknownRole,
0,
IA2_ROLE_UNKNOWN,
@ -1234,7 +1234,7 @@ ROLE(MATHML_MULTISCRIPTS,
ROLE(MATHML_TABLE,
"mathml table",
ATK_ROLE_UNKNOWN,
ATK_ROLE_TABLE,
NSAccessibilityUnknownRole,
0,
IA2_ROLE_UNKNOWN,
@ -1242,7 +1242,7 @@ ROLE(MATHML_TABLE,
ROLE(MATHML_LABELED_ROW,
"mathml labeled row",
ATK_ROLE_UNKNOWN,
ATK_ROLE_TABLE_ROW,
NSAccessibilityUnknownRole,
0,
IA2_ROLE_UNKNOWN,
@ -1250,7 +1250,7 @@ ROLE(MATHML_LABELED_ROW,
ROLE(MATHML_TABLE_ROW,
"mathml table row",
ATK_ROLE_UNKNOWN,
ATK_ROLE_TABLE_ROW,
NSAccessibilityUnknownRole,
0,
IA2_ROLE_UNKNOWN,
@ -1258,7 +1258,7 @@ ROLE(MATHML_TABLE_ROW,
ROLE(MATHML_CELL,
"mathml cell",
ATK_ROLE_UNKNOWN,
ATK_ROLE_TABLE_CELL,
NSAccessibilityUnknownRole,
0,
IA2_ROLE_UNKNOWN,
@ -1274,7 +1274,7 @@ ROLE(MATHML_ACTION,
ROLE(MATHML_ERROR,
"mathml error",
ATK_ROLE_UNKNOWN,
ATK_ROLE_PANEL,
NSAccessibilityUnknownRole,
0,
IA2_ROLE_UNKNOWN,

View File

@ -100,7 +100,13 @@ extern "C" {
*@ATK_ROLE_TABLE_ROW_HEADER: The header for a row of a table
*@ATK_ROLE_TEAR_OFF_MENU_ITEM: A menu item used to tear off and reattach its menu
*@ATK_ROLE_TERMINAL: An object that represents an accessible terminal. @Since: ATK-0.6
*@ATK_ROLE_TEXT: An object that presents text to the user
*@ATK_ROLE_TEXT: An interactive widget that supports multiple lines of text and
* optionally accepts user input, but whose purpose is not to solicit user input.
* Thus ATK_ROLE_TEXT is appropriate for the text view in a plain text editor
* but inappropriate for an input field in a dialog box or web form. For widgets
* whose purpose is to solicit input from the user, see ATK_ROLE_ENTRY and
* ATK_ROLE_PASSWORD_TEXT. For generic objects which display a brief amount of
* textual information, see ATK_ROLE_STATIC.
*@ATK_ROLE_TOGGLE_BUTTON: A specialized push button that can be checked or unchecked, but does not provide a separate indicator for the current state
*@ATK_ROLE_TOOL_BAR: A bar or palette usually composed of push buttons or toggle buttons
*@ATK_ROLE_TOOL_TIP: An object that provides information about another object
@ -200,6 +206,19 @@ extern "C" {
* description list. The values within a group are alternatives,
* meaning that you can have several ATK_ROLE_DESCRIPTION_VALUE for a
* given ATK_ROLE_DESCRIPTION_TERM. @Since: ATK-2.12
*@ATK_ROLE_STATIC: A generic non-container object whose purpose is to display a
* brief amount of information to the user and whose role is known by the
* implementor but lacks semantic value for the user. Examples in which
* ATK_ROLE_STATIC is appropriate include the message displayed in a message box
* and an image used as an alternative means to display text. ATK_ROLE_STATIC
* should not be applied to widgets which are traditionally interactive, objects
* which display a significant amount of content, or any object which has an
* accessible relation pointing to another object. Implementors should expose the
* displayed information through the accessible name of the object. If doing so seems
* inappropriate, it may indicate that a different role should be used. For
* labels which describe another widget, see ATK_ROLE_LABEL. For text views, see
* ATK_ROLE_TEXT. For generic containers, see ATK_ROLE_PANEL. For objects whose
* role is not known by the implementor, see ATK_ROLE_UNKNOWN. @Since: ATK-2.16.
*@ATK_ROLE_LAST_DEFINED: not a valid role, used for finding end of the enumeration
*
* Describes the role of an object
@ -327,6 +346,7 @@ typedef enum
ATK_ROLE_DESCRIPTION_LIST,
ATK_ROLE_DESCRIPTION_TERM,
ATK_ROLE_DESCRIPTION_VALUE,
ATK_ROLE_STATIC,
ATK_ROLE_LAST_DEFINED
} AtkRole;