|
1 //////////////////////////////////////////////////////////////////////////////// |
|
2 // Role constants |
|
3 |
|
4 const ROLE_ALERT = nsIAccessibleRole.ROLE_ALERT; |
|
5 const ROLE_ANIMATION = nsIAccessibleRole.ROLE_ANIMATION; |
|
6 const ROLE_APPLICATION = nsIAccessibleRole.ROLE_APPLICATION; |
|
7 const ROLE_APP_ROOT = nsIAccessibleRole.ROLE_APP_ROOT; |
|
8 const ROLE_AUTOCOMPLETE = nsIAccessibleRole.ROLE_AUTOCOMPLETE; |
|
9 const ROLE_BUTTONDROPDOWNGRID = nsIAccessibleRole.ROLE_BUTTONDROPDOWNGRID; |
|
10 const ROLE_CANVAS = nsIAccessibleRole.ROLE_CANVAS; |
|
11 const ROLE_CAPTION = nsIAccessibleRole.ROLE_CAPTION; |
|
12 const ROLE_CELL = nsIAccessibleRole.ROLE_CELL; |
|
13 const ROLE_CHECKBUTTON = nsIAccessibleRole.ROLE_CHECKBUTTON; |
|
14 const ROLE_CHECK_MENU_ITEM = nsIAccessibleRole.ROLE_CHECK_MENU_ITEM; |
|
15 const ROLE_CHROME_WINDOW = nsIAccessibleRole.ROLE_CHROME_WINDOW; |
|
16 const ROLE_COMBOBOX = nsIAccessibleRole.ROLE_COMBOBOX; |
|
17 const ROLE_COMBOBOX_LIST = nsIAccessibleRole.ROLE_COMBOBOX_LIST; |
|
18 const ROLE_COMBOBOX_OPTION = nsIAccessibleRole.ROLE_COMBOBOX_OPTION; |
|
19 const ROLE_COLUMNHEADER = nsIAccessibleRole.ROLE_COLUMNHEADER; |
|
20 const ROLE_DEFINITION = nsIAccessibleRole.ROLE_DEFINITION; |
|
21 const ROLE_DEFINITION_LIST = nsIAccessibleRole.ROLE_DEFINITION_LIST; |
|
22 const ROLE_DIAGRAM = nsIAccessibleRole.ROLE_DIAGRAM; |
|
23 const ROLE_DIALOG = nsIAccessibleRole.ROLE_DIALOG; |
|
24 const ROLE_DOCUMENT = nsIAccessibleRole.ROLE_DOCUMENT; |
|
25 const ROLE_EMBEDDED_OBJECT = nsIAccessibleRole.ROLE_EMBEDDED_OBJECT; |
|
26 const ROLE_ENTRY = nsIAccessibleRole.ROLE_ENTRY; |
|
27 const ROLE_EQUATION = nsIAccessibleRole.ROLE_EQUATION; |
|
28 const ROLE_FIGURE = nsIAccessibleRole.ROLE_FIGURE; |
|
29 const ROLE_FOOTER = nsIAccessibleRole.ROLE_FOOTER; |
|
30 const ROLE_FLAT_EQUATION = nsIAccessibleRole.ROLE_FLAT_EQUATION; |
|
31 const ROLE_FORM = nsIAccessibleRole.ROLE_FORM; |
|
32 const ROLE_GRAPHIC = nsIAccessibleRole.ROLE_GRAPHIC; |
|
33 const ROLE_GRID_CELL = nsIAccessibleRole.ROLE_GRID_CELL; |
|
34 const ROLE_GROUPING = nsIAccessibleRole.ROLE_GROUPING; |
|
35 const ROLE_HEADER = nsIAccessibleRole.ROLE_HEADER; |
|
36 const ROLE_HEADING = nsIAccessibleRole.ROLE_HEADING; |
|
37 const ROLE_IMAGE_MAP = nsIAccessibleRole.ROLE_IMAGE_MAP; |
|
38 const ROLE_INTERNAL_FRAME = nsIAccessibleRole.ROLE_INTERNAL_FRAME; |
|
39 const ROLE_LABEL = nsIAccessibleRole.ROLE_LABEL; |
|
40 const ROLE_LINK = nsIAccessibleRole.ROLE_LINK; |
|
41 const ROLE_LIST = nsIAccessibleRole.ROLE_LIST; |
|
42 const ROLE_LISTBOX = nsIAccessibleRole.ROLE_LISTBOX; |
|
43 const ROLE_LISTITEM = nsIAccessibleRole.ROLE_LISTITEM; |
|
44 const ROLE_MENUBAR = nsIAccessibleRole.ROLE_MENUBAR; |
|
45 const ROLE_MENUITEM = nsIAccessibleRole.ROLE_MENUITEM; |
|
46 const ROLE_MENUPOPUP = nsIAccessibleRole.ROLE_MENUPOPUP; |
|
47 const ROLE_NOTHING = nsIAccessibleRole.ROLE_NOTHING; |
|
48 const ROLE_NOTE = nsIAccessibleRole.ROLE_NOTE; |
|
49 const ROLE_OPTION = nsIAccessibleRole.ROLE_OPTION; |
|
50 const ROLE_OUTLINE = nsIAccessibleRole.ROLE_OUTLINE; |
|
51 const ROLE_OUTLINEITEM = nsIAccessibleRole.ROLE_OUTLINEITEM; |
|
52 const ROLE_PAGETAB = nsIAccessibleRole.ROLE_PAGETAB; |
|
53 const ROLE_PAGETABLIST = nsIAccessibleRole.ROLE_PAGETABLIST; |
|
54 const ROLE_PANE = nsIAccessibleRole.ROLE_PANE; |
|
55 const ROLE_PARAGRAPH = nsIAccessibleRole.ROLE_PARAGRAPH; |
|
56 const ROLE_PARENT_MENUITEM = nsIAccessibleRole.ROLE_PARENT_MENUITEM; |
|
57 const ROLE_PASSWORD_TEXT = nsIAccessibleRole.ROLE_PASSWORD_TEXT; |
|
58 const ROLE_PROGRESSBAR = nsIAccessibleRole.ROLE_PROGRESSBAR; |
|
59 const ROLE_PROPERTYPAGE = nsIAccessibleRole.ROLE_PROPERTYPAGE; |
|
60 const ROLE_PUSHBUTTON = nsIAccessibleRole.ROLE_PUSHBUTTON; |
|
61 const ROLE_RADIOBUTTON = nsIAccessibleRole.ROLE_RADIOBUTTON; |
|
62 const ROLE_RADIO_MENU_ITEM = nsIAccessibleRole.ROLE_RADIO_MENU_ITEM; |
|
63 const ROLE_RICH_OPTION = nsIAccessibleRole.ROLE_RICH_OPTION; |
|
64 const ROLE_ROW = nsIAccessibleRole.ROLE_ROW; |
|
65 const ROLE_ROWHEADER = nsIAccessibleRole.ROLE_ROWHEADER; |
|
66 const ROLE_SCROLLBAR = nsIAccessibleRole.ROLE_SCROLLBAR; |
|
67 const ROLE_SECTION = nsIAccessibleRole.ROLE_SECTION; |
|
68 const ROLE_SEPARATOR = nsIAccessibleRole.ROLE_SEPARATOR; |
|
69 const ROLE_SLIDER = nsIAccessibleRole.ROLE_SLIDER; |
|
70 const ROLE_SPINBUTTON = nsIAccessibleRole.ROLE_SPINBUTTON; |
|
71 const ROLE_STATICTEXT = nsIAccessibleRole.ROLE_STATICTEXT; |
|
72 const ROLE_STATUSBAR = nsIAccessibleRole.ROLE_STATUSBAR; |
|
73 const ROLE_TABLE = nsIAccessibleRole.ROLE_TABLE; |
|
74 const ROLE_TERM = nsIAccessibleRole.ROLE_TERM; |
|
75 const ROLE_TEXT_CONTAINER = nsIAccessibleRole.ROLE_TEXT_CONTAINER; |
|
76 const ROLE_TEXT_LEAF = nsIAccessibleRole.ROLE_TEXT_LEAF; |
|
77 const ROLE_TOGGLE_BUTTON = nsIAccessibleRole.ROLE_TOGGLE_BUTTON; |
|
78 const ROLE_TOOLBAR = nsIAccessibleRole.ROLE_TOOLBAR; |
|
79 const ROLE_TOOLTIP = nsIAccessibleRole.ROLE_TOOLTIP; |
|
80 const ROLE_TREE_TABLE = nsIAccessibleRole.ROLE_TREE_TABLE; |
|
81 const ROLE_WHITESPACE = nsIAccessibleRole.ROLE_WHITESPACE; |
|
82 |
|
83 //////////////////////////////////////////////////////////////////////////////// |
|
84 // Public methods |
|
85 |
|
86 /** |
|
87 * Test that the role of the given accessible is the role passed in. |
|
88 * |
|
89 * @param aAccOrElmOrID the accessible, DOM element or ID to be tested. |
|
90 * @param aRole The role that is to be expected. |
|
91 */ |
|
92 function testRole(aAccOrElmOrID, aRole) |
|
93 { |
|
94 var role = getRole(aAccOrElmOrID); |
|
95 is(role, aRole, "Wrong role for " + prettyName(aAccOrElmOrID) + "!"); |
|
96 } |
|
97 |
|
98 /** |
|
99 * Return the role of the given accessible. Return -1 if accessible could not |
|
100 * be retrieved. |
|
101 * |
|
102 * @param aAccOrElmOrID [in] The accessible, DOM element or element ID the |
|
103 * accessible role is being requested for. |
|
104 */ |
|
105 function getRole(aAccOrElmOrID) |
|
106 { |
|
107 var acc = getAccessible(aAccOrElmOrID); |
|
108 if (!acc) |
|
109 return -1; |
|
110 |
|
111 var role = -1; |
|
112 try { |
|
113 role = acc.role; |
|
114 } catch(e) { |
|
115 ok(false, "Role for " + aAccOrElmOrID + " could not be retrieved!"); |
|
116 } |
|
117 |
|
118 return role; |
|
119 } |
|
120 |
|
121 /** |
|
122 * Analogy of SimpleTest.is function used to check the role. |
|
123 */ |
|
124 function isRole(aIdentifier, aRole, aMsg) |
|
125 { |
|
126 var role = getRole(aIdentifier); |
|
127 if (role == - 1) |
|
128 return; |
|
129 |
|
130 if (role == aRole) { |
|
131 ok(true, aMsg); |
|
132 return; |
|
133 } |
|
134 |
|
135 var got = roleToString(role); |
|
136 var expected = roleToString(aRole); |
|
137 |
|
138 ok(false, aMsg + "got '" + got + "', expected '" + expected + "'"); |
|
139 } |