no bug - Correct some typos in the comments. a=typo-fix
[gecko.git] / accessible / base / RoleMap.h
blob780361f9b0ca049d167815bbfdee163750d425dd
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */
5 // clang-format off
6 /**
7 * Usage: declare the macro ROLE()with the following arguments:
8 * ROLE(geckoRole, stringRole, ariaRole, atkRole, macRole, macSubrole, msaaRole, ia2Role, iosIsElement, uiaControlType, nameRule)
9 */
11 ROLE(NOTHING,
12 "nothing",
13 nullptr,
14 ATK_ROLE_UNKNOWN,
15 NSAccessibilityUnknownRole,
16 NSAccessibilityUnknownSubrole,
17 ROLE_SYSTEM_CLIENT,
18 IA2_ROLE_UNKNOWN,
19 java::SessionAccessibility::CLASSNAME_VIEW,
20 IsAccessibilityElementRule::No,
21 UIA_CustomControlTypeId,
22 eNameFromSubtreeIfReqRule)
24 ROLE(MENUBAR,
25 "menubar",
26 nsGkAtoms::menubar,
27 ATK_ROLE_MENU_BAR,
28 NSAccessibilityMenuBarRole, //Irrelevant on OS X; the menubar will always be native and on the top of the screen.
29 NSAccessibilityUnknownSubrole,
30 ROLE_SYSTEM_MENUBAR,
31 ROLE_SYSTEM_MENUBAR,
32 java::SessionAccessibility::CLASSNAME_VIEW,
33 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
34 UIA_MenuBarControlTypeId,
35 eNoNameRule)
37 ROLE(SCROLLBAR,
38 "scrollbar",
39 nsGkAtoms::scrollbar,
40 ATK_ROLE_SCROLL_BAR,
41 NSAccessibilityScrollBarRole, //We might need to make this its own mozAccessible, to support the children objects (valueindicator, down/up buttons).
42 NSAccessibilityUnknownSubrole,
43 ROLE_SYSTEM_SCROLLBAR,
44 ROLE_SYSTEM_SCROLLBAR,
45 java::SessionAccessibility::CLASSNAME_VIEW,
46 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
47 UIA_ScrollBarControlTypeId,
48 eNameFromValueRule)
50 ROLE(ALERT,
51 "alert",
52 nsGkAtoms::alert,
53 ATK_ROLE_ALERT,
54 NSAccessibilityGroupRole,
55 @"AXApplicationAlert",
56 ROLE_SYSTEM_ALERT,
57 ROLE_SYSTEM_ALERT,
58 java::SessionAccessibility::CLASSNAME_VIEW,
59 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
60 UIA_GroupControlTypeId,
61 eNameFromSubtreeIfReqRule)
63 ROLE(INTERNAL_FRAME,
64 "internal frame",
65 nullptr,
66 ATK_ROLE_INTERNAL_FRAME,
67 NSAccessibilityScrollAreaRole,
68 NSAccessibilityUnknownSubrole,
69 ROLE_SYSTEM_GROUPING,
70 IA2_ROLE_INTERNAL_FRAME,
71 java::SessionAccessibility::CLASSNAME_VIEW,
72 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
73 UIA_PaneControlTypeId,
74 eNoNameRule)
76 ROLE(MENUPOPUP,
77 "menupopup",
78 nsGkAtoms::menu,
79 ATK_ROLE_MENU,
80 NSAccessibilityMenuRole, //The parent of menuitems.
81 NSAccessibilityUnknownSubrole,
82 ROLE_SYSTEM_MENUPOPUP,
83 ROLE_SYSTEM_MENUPOPUP,
84 java::SessionAccessibility::CLASSNAME_VIEW,
85 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
86 UIA_MenuControlTypeId,
87 eNoNameRule)
89 ROLE(MENUITEM,
90 "menuitem",
91 nsGkAtoms::menuitem,
92 ATK_ROLE_MENU_ITEM,
93 NSAccessibilityMenuItemRole,
94 NSAccessibilityUnknownSubrole,
95 ROLE_SYSTEM_MENUITEM,
96 ROLE_SYSTEM_MENUITEM,
97 java::SessionAccessibility::CLASSNAME_MENUITEM,
98 IsAccessibilityElementRule::Yes,
99 UIA_MenuItemControlTypeId,
100 eNameFromSubtreeRule)
102 ROLE(TOOLTIP,
103 "tooltip",
104 nsGkAtoms::tooltip,
105 ATK_ROLE_TOOL_TIP,
106 NSAccessibilityGroupRole,
107 @"AXUserInterfaceTooltip",
108 ROLE_SYSTEM_TOOLTIP,
109 ROLE_SYSTEM_TOOLTIP,
110 java::SessionAccessibility::CLASSNAME_VIEW,
111 IsAccessibilityElementRule::Yes,
112 UIA_ToolTipControlTypeId,
113 eNameFromSubtreeRule)
115 ROLE(APPLICATION,
116 "application",
117 nsGkAtoms::application,
118 ATK_ROLE_EMBEDDED,
119 NSAccessibilityGroupRole, //Unused on OS X. the system will take care of this.
120 @"AXLandmarkApplication",
121 ROLE_SYSTEM_APPLICATION,
122 ROLE_SYSTEM_APPLICATION,
123 java::SessionAccessibility::CLASSNAME_VIEW,
124 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
125 UIA_PaneControlTypeId,
126 eNoNameRule)
128 ROLE(DOCUMENT,
129 "document",
130 nsGkAtoms::document,
131 ATK_ROLE_DOCUMENT_WEB,
132 @"AXWebArea",
133 NSAccessibilityUnknownSubrole,
134 ROLE_SYSTEM_DOCUMENT,
135 ROLE_SYSTEM_DOCUMENT,
136 java::SessionAccessibility::CLASSNAME_VIEW,
137 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
138 UIA_DocumentControlTypeId,
139 eNoNameRule)
142 * msaa comment:
143 * We used to map to ROLE_SYSTEM_PANE, but JAWS would
144 * not read the accessible name for the contaning pane.
145 * However, JAWS will read the accessible name for a groupbox.
146 * By mapping a PANE to a GROUPING, we get no undesirable effects,
147 * but fortunately JAWS will then read the group's label,
148 * when an inner control gets focused.
150 ROLE(PANE,
151 "pane",
152 nullptr,
153 ATK_ROLE_PANEL,
154 NSAccessibilityGroupRole,
155 NSAccessibilityUnknownSubrole,
156 ROLE_SYSTEM_GROUPING,
157 ROLE_SYSTEM_GROUPING,
158 java::SessionAccessibility::CLASSNAME_VIEW,
159 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
160 UIA_PaneControlTypeId,
161 eNoNameRule)
163 ROLE(DIALOG,
164 "dialog",
165 nsGkAtoms::dialog,
166 ATK_ROLE_DIALOG,
167 NSAccessibilityGroupRole, //There's a dialog subrole.
168 NSAccessibilityUnknownSubrole,
169 ROLE_SYSTEM_DIALOG,
170 ROLE_SYSTEM_DIALOG,
171 java::SessionAccessibility::CLASSNAME_DIALOG,
172 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
173 UIA_PaneControlTypeId,
174 eNoNameRule)
176 ROLE(GROUPING,
177 "grouping",
178 nsGkAtoms::group,
179 ATK_ROLE_PANEL,
180 NSAccessibilityGroupRole,
181 NSAccessibilityUnknownSubrole,
182 ROLE_SYSTEM_GROUPING,
183 ROLE_SYSTEM_GROUPING,
184 java::SessionAccessibility::CLASSNAME_VIEW,
185 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
186 UIA_GroupControlTypeId,
187 eNameFromSubtreeIfReqRule)
189 ROLE(SEPARATOR,
190 "separator",
191 nsGkAtoms::separator_,
192 ATK_ROLE_SEPARATOR,
193 NSAccessibilitySplitterRole,
194 @"AXContentSeparator",
195 ROLE_SYSTEM_SEPARATOR,
196 ROLE_SYSTEM_SEPARATOR,
197 java::SessionAccessibility::CLASSNAME_VIEW,
198 IsAccessibilityElementRule::Yes,
199 UIA_SeparatorControlTypeId,
200 eNoNameRule)
202 ROLE(TOOLBAR,
203 "toolbar",
204 nsGkAtoms::toolbar,
205 ATK_ROLE_TOOL_BAR,
206 NSAccessibilityToolbarRole,
207 NSAccessibilityUnknownSubrole,
208 ROLE_SYSTEM_TOOLBAR,
209 ROLE_SYSTEM_TOOLBAR,
210 java::SessionAccessibility::CLASSNAME_VIEW,
211 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
212 UIA_ToolBarControlTypeId,
213 eNoNameRule)
215 ROLE(STATUSBAR,
216 "statusbar",
217 nsGkAtoms::status,
218 ATK_ROLE_STATUSBAR,
219 NSAccessibilityGroupRole,
220 @"AXApplicationStatus",
221 ROLE_SYSTEM_STATUSBAR,
222 ROLE_SYSTEM_STATUSBAR,
223 java::SessionAccessibility::CLASSNAME_VIEW,
224 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
225 UIA_GroupControlTypeId,
226 eNoNameRule)
228 ROLE(TABLE,
229 "table",
230 nsGkAtoms::table,
231 ATK_ROLE_TABLE,
232 NSAccessibilityTableRole,
233 NSAccessibilityUnknownSubrole,
234 ROLE_SYSTEM_TABLE,
235 ROLE_SYSTEM_TABLE,
236 java::SessionAccessibility::CLASSNAME_GRIDVIEW,
237 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
238 UIA_TableControlTypeId,
239 eNameFromSubtreeIfReqRule)
241 ROLE(COLUMNHEADER,
242 "columnheader",
243 nsGkAtoms::columnheader,
244 ATK_ROLE_COLUMN_HEADER,
245 NSAccessibilityCellRole,
246 NSAccessibilityUnknownSubrole,
247 ROLE_SYSTEM_COLUMNHEADER,
248 ROLE_SYSTEM_COLUMNHEADER,
249 java::SessionAccessibility::CLASSNAME_VIEW,
250 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
251 UIA_DataItemControlTypeId,
252 eNameFromSubtreeRule)
254 ROLE(ROWHEADER,
255 "rowheader",
256 nsGkAtoms::rowheader,
257 ATK_ROLE_ROW_HEADER,
258 NSAccessibilityCellRole,
259 NSAccessibilityUnknownSubrole,
260 ROLE_SYSTEM_ROWHEADER,
261 ROLE_SYSTEM_ROWHEADER,
262 java::SessionAccessibility::CLASSNAME_VIEW,
263 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
264 UIA_HeaderItemControlTypeId,
265 eNameFromSubtreeRule)
267 ROLE(ROW,
268 "row",
269 nsGkAtoms::row,
270 ATK_ROLE_TABLE_ROW,
271 NSAccessibilityRowRole,
272 NSAccessibilityUnknownSubrole,
273 ROLE_SYSTEM_ROW,
274 ROLE_SYSTEM_ROW,
275 java::SessionAccessibility::CLASSNAME_VIEW,
276 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
277 UIA_DataItemControlTypeId,
278 eNameFromSubtreeRule)
280 ROLE(CELL,
281 "cell",
282 nsGkAtoms::cell,
283 ATK_ROLE_TABLE_CELL,
284 NSAccessibilityCellRole,
285 NSAccessibilityUnknownSubrole,
286 ROLE_SYSTEM_CELL,
287 ROLE_SYSTEM_CELL,
288 java::SessionAccessibility::CLASSNAME_VIEW,
289 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
290 UIA_DataItemControlTypeId,
291 eNameFromSubtreeIfReqRule)
293 ROLE(LINK,
294 "link",
295 nsGkAtoms::link,
296 ATK_ROLE_LINK,
297 NSAccessibilityLinkRole,
298 NSAccessibilityUnknownSubrole,
299 ROLE_SYSTEM_LINK,
300 ROLE_SYSTEM_LINK,
301 java::SessionAccessibility::CLASSNAME_VIEW,
302 IsAccessibilityElementRule::IfBrokenUp,
303 UIA_HyperlinkControlTypeId,
304 eNameFromSubtreeRule)
306 ROLE(LIST,
307 "list",
308 nsGkAtoms::list_,
309 ATK_ROLE_LIST,
310 NSAccessibilityListRole,
311 NSAccessibilityContentListSubrole,
312 ROLE_SYSTEM_LIST,
313 ROLE_SYSTEM_LIST,
314 java::SessionAccessibility::CLASSNAME_LISTVIEW,
315 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
316 UIA_ListControlTypeId,
317 eNameFromSubtreeIfReqRule)
319 ROLE(LISTITEM,
320 "listitem",
321 nsGkAtoms::listitem,
322 ATK_ROLE_LIST_ITEM,
323 NSAccessibilityGroupRole,
324 NSAccessibilityUnknownSubrole,
325 ROLE_SYSTEM_LISTITEM,
326 ROLE_SYSTEM_LISTITEM,
327 java::SessionAccessibility::CLASSNAME_VIEW,
328 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
329 UIA_ListItemControlTypeId,
330 eNameFromSubtreeRule)
332 ROLE(OUTLINE,
333 "outline",
334 nsGkAtoms::tree,
335 ATK_ROLE_TREE,
336 NSAccessibilityOutlineRole,
337 NSAccessibilityUnknownSubrole,
338 ROLE_SYSTEM_OUTLINE,
339 ROLE_SYSTEM_OUTLINE,
340 java::SessionAccessibility::CLASSNAME_VIEW,
341 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
342 UIA_TreeControlTypeId,
343 eNoNameRule)
345 ROLE(OUTLINEITEM,
346 "outlineitem",
347 nsGkAtoms::treeitem,
348 ATK_ROLE_TREE_ITEM,
349 NSAccessibilityRowRole,
350 NSAccessibilityOutlineRowSubrole,
351 ROLE_SYSTEM_OUTLINEITEM,
352 ROLE_SYSTEM_OUTLINEITEM,
353 java::SessionAccessibility::CLASSNAME_VIEW,
354 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
355 UIA_TreeItemControlTypeId,
356 eNameFromSubtreeRule)
358 ROLE(PAGETAB,
359 "pagetab",
360 nsGkAtoms::tab,
361 ATK_ROLE_PAGE_TAB,
362 NSAccessibilityRadioButtonRole,
363 @"AXTabButton", // Can be upgraded to NSAccessibilityTabButtonSubrole in 10.13
364 ROLE_SYSTEM_PAGETAB,
365 ROLE_SYSTEM_PAGETAB,
366 java::SessionAccessibility::CLASSNAME_VIEW,
367 IsAccessibilityElementRule::Yes,
368 UIA_TabItemControlTypeId,
369 eNameFromSubtreeRule)
371 ROLE(PROPERTYPAGE,
372 "propertypage",
373 nsGkAtoms::tabpanel,
374 ATK_ROLE_SCROLL_PANE,
375 NSAccessibilityGroupRole,
376 @"AXTabPanel",
377 ROLE_SYSTEM_PROPERTYPAGE,
378 ROLE_SYSTEM_PROPERTYPAGE,
379 java::SessionAccessibility::CLASSNAME_VIEW,
380 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
381 UIA_PaneControlTypeId,
382 eNoNameRule)
384 ROLE(GRAPHIC,
385 "graphic",
386 nsGkAtoms::image,
387 ATK_ROLE_IMAGE,
388 NSAccessibilityImageRole,
389 NSAccessibilityUnknownSubrole,
390 ROLE_SYSTEM_GRAPHIC,
391 ROLE_SYSTEM_GRAPHIC,
392 java::SessionAccessibility::CLASSNAME_IMAGE,
393 IsAccessibilityElementRule::Yes,
394 UIA_ImageControlTypeId,
395 eNoNameRule)
397 ROLE(STATICTEXT,
398 "statictext",
399 nullptr,
400 ATK_ROLE_UNKNOWN,
401 NSAccessibilityStaticTextRole,
402 NSAccessibilityUnknownSubrole,
403 ROLE_SYSTEM_STATICTEXT,
404 ROLE_SYSTEM_STATICTEXT,
405 java::SessionAccessibility::CLASSNAME_VIEW,
406 IsAccessibilityElementRule::IfParentIsntElementWithName,
407 UIA_TextControlTypeId,
408 eNoNameRule)
410 ROLE(TEXT_LEAF,
411 "text leaf",
412 nullptr,
413 ATK_ROLE_UNKNOWN,
414 NSAccessibilityStaticTextRole,
415 NSAccessibilityUnknownSubrole,
416 ROLE_SYSTEM_TEXT,
417 ROLE_SYSTEM_TEXT,
418 java::SessionAccessibility::CLASSNAME_VIEW,
419 IsAccessibilityElementRule::IfParentIsntElementWithName,
420 UIA_TextControlTypeId,
421 eNoNameRule)
423 ROLE(PUSHBUTTON,
424 "pushbutton",
425 nsGkAtoms::button,
426 ATK_ROLE_PUSH_BUTTON,
427 NSAccessibilityButtonRole,
428 NSAccessibilityUnknownSubrole,
429 ROLE_SYSTEM_PUSHBUTTON,
430 ROLE_SYSTEM_PUSHBUTTON,
431 java::SessionAccessibility::CLASSNAME_BUTTON,
432 IsAccessibilityElementRule::Yes,
433 UIA_ButtonControlTypeId,
434 eNameFromSubtreeRule)
436 ROLE(CHECKBUTTON,
437 "checkbutton",
438 nsGkAtoms::checkbox,
439 ATK_ROLE_CHECK_BOX,
440 NSAccessibilityCheckBoxRole,
441 NSAccessibilityUnknownSubrole,
442 ROLE_SYSTEM_CHECKBUTTON,
443 ROLE_SYSTEM_CHECKBUTTON,
444 java::SessionAccessibility::CLASSNAME_CHECKBOX,
445 IsAccessibilityElementRule::Yes,
446 UIA_CheckBoxControlTypeId,
447 eNameFromSubtreeRule)
449 ROLE(RADIOBUTTON,
450 "radiobutton",
451 nsGkAtoms::radio,
452 ATK_ROLE_RADIO_BUTTON,
453 NSAccessibilityRadioButtonRole,
454 NSAccessibilityUnknownSubrole,
455 ROLE_SYSTEM_RADIOBUTTON,
456 ROLE_SYSTEM_RADIOBUTTON,
457 java::SessionAccessibility::CLASSNAME_RADIOBUTTON,
458 IsAccessibilityElementRule::Yes,
459 UIA_RadioButtonControlTypeId,
460 eNameFromSubtreeRule)
462 // Equivalent of HTML select element with size="1". See also EDITCOMBOBOX.
463 ROLE(COMBOBOX,
464 "combobox",
465 nsGkAtoms::combobox,
466 ATK_ROLE_COMBO_BOX,
467 NSAccessibilityPopUpButtonRole,
468 NSAccessibilityUnknownSubrole,
469 ROLE_SYSTEM_COMBOBOX,
470 ROLE_SYSTEM_COMBOBOX,
471 java::SessionAccessibility::CLASSNAME_SPINNER,
472 IsAccessibilityElementRule::Yes,
473 UIA_ComboBoxControlTypeId,
474 eNameFromValueRule)
476 ROLE(PROGRESSBAR,
477 "progressbar",
478 nsGkAtoms::progressbar,
479 ATK_ROLE_PROGRESS_BAR,
480 NSAccessibilityProgressIndicatorRole,
481 NSAccessibilityUnknownSubrole,
482 ROLE_SYSTEM_PROGRESSBAR,
483 ROLE_SYSTEM_PROGRESSBAR,
484 java::SessionAccessibility::CLASSNAME_PROGRESSBAR,
485 IsAccessibilityElementRule::Yes,
486 UIA_ProgressBarControlTypeId,
487 eNameFromValueRule)
489 ROLE(SLIDER,
490 "slider",
491 nsGkAtoms::slider,
492 ATK_ROLE_SLIDER,
493 NSAccessibilitySliderRole,
494 NSAccessibilityUnknownSubrole,
495 ROLE_SYSTEM_SLIDER,
496 ROLE_SYSTEM_SLIDER,
497 java::SessionAccessibility::CLASSNAME_SEEKBAR,
498 IsAccessibilityElementRule::Yes,
499 UIA_SliderControlTypeId,
500 eNameFromValueRule)
502 ROLE(SPINBUTTON,
503 "spinbutton",
504 nsGkAtoms::spinbutton,
505 ATK_ROLE_SPIN_BUTTON,
506 NSAccessibilityIncrementorRole, //Subroles: Increment/Decrement.
507 NSAccessibilityUnknownSubrole,
508 ROLE_SYSTEM_SPINBUTTON,
509 ROLE_SYSTEM_SPINBUTTON,
510 java::SessionAccessibility::CLASSNAME_EDITTEXT,
511 IsAccessibilityElementRule::Yes,
512 UIA_SpinnerControlTypeId,
513 eNameFromValueRule)
515 ROLE(DIAGRAM,
516 "diagram",
517 nsGkAtoms::graphicsDocument,
518 ATK_ROLE_IMAGE,
519 NSAccessibilityImageRole,
520 NSAccessibilityUnknownSubrole,
521 ROLE_SYSTEM_DIAGRAM,
522 ROLE_SYSTEM_DIAGRAM,
523 java::SessionAccessibility::CLASSNAME_IMAGE,
524 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
525 UIA_ImageControlTypeId,
526 eNoNameRule)
528 ROLE(ANIMATION,
529 "animation",
530 nsGkAtoms::marquee,
531 ATK_ROLE_ANIMATION,
532 NSAccessibilityUnknownRole,
533 @"AXApplicationMarquee",
534 ROLE_SYSTEM_ANIMATION,
535 ROLE_SYSTEM_ANIMATION,
536 java::SessionAccessibility::CLASSNAME_VIEW,
537 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
538 UIA_GroupControlTypeId,
539 eNoNameRule)
541 ROLE(BUTTONDROPDOWN,
542 "buttondropdown",
543 nullptr,
544 ATK_ROLE_PUSH_BUTTON,
545 NSAccessibilityPopUpButtonRole,
546 NSAccessibilityUnknownSubrole,
547 ROLE_SYSTEM_BUTTONDROPDOWN,
548 ROLE_SYSTEM_BUTTONDROPDOWN,
549 java::SessionAccessibility::CLASSNAME_VIEW,
550 IsAccessibilityElementRule::Yes,
551 UIA_SplitButtonControlTypeId,
552 eNameFromSubtreeRule)
554 ROLE(BUTTONMENU,
555 "buttonmenu",
556 nsGkAtoms::button,
557 ATK_ROLE_PUSH_BUTTON,
558 NSAccessibilityMenuButtonRole,
559 NSAccessibilityUnknownSubrole,
560 ROLE_SYSTEM_BUTTONMENU,
561 ROLE_SYSTEM_BUTTONMENU,
562 java::SessionAccessibility::CLASSNAME_SPINNER,
563 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
564 UIA_ButtonControlTypeId,
565 eNameFromSubtreeRule)
567 ROLE(WHITESPACE,
568 "whitespace",
569 nullptr,
570 ATK_ROLE_UNKNOWN,
571 NSAccessibilityUnknownRole,
572 NSAccessibilityUnknownSubrole,
573 ROLE_SYSTEM_WHITESPACE,
574 ROLE_SYSTEM_WHITESPACE,
575 java::SessionAccessibility::CLASSNAME_VIEW,
576 IsAccessibilityElementRule::No,
577 UIA_TextControlTypeId,
578 eNoNameRule)
580 ROLE(PAGETABLIST,
581 "pagetablist",
582 nsGkAtoms::tablist,
583 ATK_ROLE_PAGE_TAB_LIST,
584 NSAccessibilityTabGroupRole,
585 NSAccessibilityUnknownSubrole,
586 ROLE_SYSTEM_PAGETABLIST,
587 ROLE_SYSTEM_PAGETABLIST,
588 java::SessionAccessibility::CLASSNAME_TABWIDGET,
589 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
590 UIA_TabControlTypeId,
591 eNoNameRule)
593 ROLE(CANVAS,
594 "canvas",
595 nullptr,
596 ATK_ROLE_CANVAS,
597 NSAccessibilityImageRole,
598 NSAccessibilityUnknownSubrole,
599 ROLE_SYSTEM_GRAPHIC,
600 IA2_ROLE_CANVAS,
601 java::SessionAccessibility::CLASSNAME_IMAGE,
602 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
603 UIA_ImageControlTypeId,
604 eNoNameRule)
606 ROLE(CHECK_MENU_ITEM,
607 "check menu item",
608 nsGkAtoms::menuitemcheckbox,
609 ATK_ROLE_CHECK_MENU_ITEM,
610 NSAccessibilityMenuItemRole,
611 NSAccessibilityUnknownSubrole,
612 ROLE_SYSTEM_MENUITEM,
613 IA2_ROLE_CHECK_MENU_ITEM,
614 java::SessionAccessibility::CLASSNAME_MENUITEM,
615 IsAccessibilityElementRule::Yes,
616 UIA_MenuItemControlTypeId,
617 eNameFromSubtreeRule)
619 ROLE(DATE_EDITOR,
620 "date editor",
621 nullptr,
622 ATK_ROLE_DATE_EDITOR,
623 @"AXGroup",
624 NSAccessibilityUnknownSubrole,
625 ROLE_SYSTEM_GROUPING,
626 IA2_ROLE_DATE_EDITOR,
627 java::SessionAccessibility::CLASSNAME_SPINNER,
628 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
629 UIA_GroupControlTypeId,
630 eNoNameRule)
632 ROLE(CHROME_WINDOW,
633 "chrome window",
634 nullptr,
635 ATK_ROLE_FRAME,
636 NSAccessibilityGroupRole, //Contains the main Firefox UI
637 NSAccessibilityUnknownSubrole,
638 ROLE_SYSTEM_APPLICATION,
639 IA2_ROLE_FRAME,
640 java::SessionAccessibility::CLASSNAME_VIEW,
641 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
642 UIA_WindowControlTypeId,
643 eNoNameRule)
645 ROLE(LABEL,
646 "label",
647 nullptr,
648 ATK_ROLE_LABEL,
649 NSAccessibilityGroupRole,
650 NSAccessibilityUnknownSubrole,
651 ROLE_SYSTEM_STATICTEXT,
652 IA2_ROLE_LABEL,
653 java::SessionAccessibility::CLASSNAME_VIEW,
654 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
655 UIA_GroupControlTypeId,
656 eNameFromSubtreeRule)
658 ROLE(PASSWORD_TEXT,
659 "password text",
660 nullptr,
661 ATK_ROLE_PASSWORD_TEXT,
662 NSAccessibilityTextFieldRole,
663 NSAccessibilityUnknownSubrole,
664 ROLE_SYSTEM_TEXT,
665 ROLE_SYSTEM_TEXT,
666 java::SessionAccessibility::CLASSNAME_EDITTEXT,
667 IsAccessibilityElementRule::Yes,
668 UIA_EditControlTypeId,
669 eNoNameRule)
671 ROLE(RADIO_MENU_ITEM,
672 "radio menu item",
673 nsGkAtoms::menuitemradio,
674 ATK_ROLE_RADIO_MENU_ITEM,
675 NSAccessibilityMenuItemRole,
676 NSAccessibilityUnknownSubrole,
677 ROLE_SYSTEM_MENUITEM,
678 IA2_ROLE_RADIO_MENU_ITEM,
679 java::SessionAccessibility::CLASSNAME_MENUITEM,
680 IsAccessibilityElementRule::Yes,
681 UIA_MenuItemControlTypeId,
682 eNameFromSubtreeRule)
684 ROLE(TEXT_CONTAINER,
685 "text container",
686 nsGkAtoms::generic,
687 ATK_ROLE_SECTION,
688 NSAccessibilityGroupRole,
689 NSAccessibilityUnknownSubrole,
690 ROLE_SYSTEM_GROUPING,
691 IA2_ROLE_TEXT_FRAME,
692 java::SessionAccessibility::CLASSNAME_VIEW,
693 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
694 UIA_GroupControlTypeId,
695 eNameFromSubtreeIfReqRule)
697 ROLE(TOGGLE_BUTTON,
698 "toggle button",
699 nsGkAtoms::button,
700 ATK_ROLE_TOGGLE_BUTTON,
701 NSAccessibilityCheckBoxRole,
702 NSAccessibilityToggleSubrole,
703 ROLE_SYSTEM_PUSHBUTTON,
704 IA2_ROLE_TOGGLE_BUTTON,
705 java::SessionAccessibility::CLASSNAME_TOGGLEBUTTON,
706 IsAccessibilityElementRule::Yes,
707 UIA_ButtonControlTypeId,
708 eNameFromSubtreeRule)
710 ROLE(TREE_TABLE,
711 "tree table",
712 nsGkAtoms::treegrid,
713 ATK_ROLE_TREE_TABLE,
714 NSAccessibilityTableRole,
715 NSAccessibilityUnknownSubrole,
716 ROLE_SYSTEM_OUTLINE,
717 ROLE_SYSTEM_OUTLINE,
718 java::SessionAccessibility::CLASSNAME_GRIDVIEW,
719 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
720 UIA_DataGridControlTypeId,
721 eNoNameRule)
723 ROLE(PARAGRAPH,
724 "paragraph",
725 nsGkAtoms::paragraph,
726 ATK_ROLE_PARAGRAPH,
727 NSAccessibilityGroupRole,
728 NSAccessibilityUnknownSubrole,
729 ROLE_SYSTEM_GROUPING,
730 IA2_ROLE_PARAGRAPH,
731 java::SessionAccessibility::CLASSNAME_VIEW,
732 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
733 UIA_TextControlTypeId,
734 eNameFromSubtreeIfReqRule)
736 ROLE(ENTRY,
737 "entry",
738 nsGkAtoms::textbox,
739 ATK_ROLE_ENTRY,
740 NSAccessibilityTextFieldRole,
741 NSAccessibilityUnknownSubrole,
742 ROLE_SYSTEM_TEXT,
743 ROLE_SYSTEM_TEXT,
744 java::SessionAccessibility::CLASSNAME_EDITTEXT,
745 IsAccessibilityElementRule::Yes,
746 UIA_EditControlTypeId,
747 eNameFromValueRule)
749 ROLE(CAPTION,
750 "caption",
751 nsGkAtoms::caption,
752 ATK_ROLE_CAPTION,
753 NSAccessibilityGroupRole,
754 NSAccessibilityUnknownSubrole,
755 ROLE_SYSTEM_GROUPING,
756 IA2_ROLE_CAPTION,
757 java::SessionAccessibility::CLASSNAME_VIEW,
758 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
759 UIA_TextControlTypeId,
760 eNameFromSubtreeIfReqRule)
762 ROLE(NON_NATIVE_DOCUMENT,
763 "non-native document",
764 nsGkAtoms::document,
765 ATK_ROLE_DOCUMENT_FRAME,
766 NSAccessibilityGroupRole,
767 @"AXDocument",
768 ROLE_SYSTEM_DOCUMENT,
769 ROLE_SYSTEM_DOCUMENT,
770 java::SessionAccessibility::CLASSNAME_VIEW,
771 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
772 UIA_DocumentControlTypeId,
773 eNoNameRule)
775 ROLE(HEADING,
776 "heading",
777 nsGkAtoms::heading,
778 ATK_ROLE_HEADING,
779 @"AXHeading",
780 NSAccessibilityUnknownSubrole,
781 ROLE_SYSTEM_GROUPING,
782 IA2_ROLE_HEADING,
783 java::SessionAccessibility::CLASSNAME_VIEW,
784 IsAccessibilityElementRule::IfChildless,
785 UIA_TextControlTypeId,
786 eNameFromSubtreeRule)
788 ROLE(SECTION,
789 "section",
790 nsGkAtoms::generic,
791 ATK_ROLE_SECTION,
792 NSAccessibilityGroupRole,
793 NSAccessibilityUnknownSubrole,
794 ROLE_SYSTEM_GROUPING,
795 IA2_ROLE_SECTION,
796 java::SessionAccessibility::CLASSNAME_VIEW,
797 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
798 UIA_GroupControlTypeId,
799 eNameFromSubtreeIfReqRule)
801 ROLE(FORM,
802 "form",
803 nsGkAtoms::form,
804 ATK_ROLE_FORM,
805 NSAccessibilityGroupRole,
806 NSAccessibilityUnknownSubrole,
807 ROLE_SYSTEM_GROUPING,
808 IA2_ROLE_FORM,
809 java::SessionAccessibility::CLASSNAME_VIEW,
810 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
811 UIA_GroupControlTypeId,
812 eNoNameRule)
814 ROLE(APP_ROOT,
815 "app root",
816 nullptr,
817 ATK_ROLE_APPLICATION,
818 NSAccessibilityUnknownRole, //Unused on OS X
819 NSAccessibilityUnknownSubrole,
820 ROLE_SYSTEM_APPLICATION,
821 ROLE_SYSTEM_APPLICATION,
822 java::SessionAccessibility::CLASSNAME_VIEW,
823 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
824 UIA_WindowControlTypeId,
825 eNoNameRule)
827 ROLE(PARENT_MENUITEM,
828 "parent menuitem",
829 nsGkAtoms::menuitem,
830 ATK_ROLE_MENU,
831 NSAccessibilityMenuItemRole,
832 NSAccessibilityUnknownSubrole,
833 ROLE_SYSTEM_MENUITEM,
834 ROLE_SYSTEM_MENUITEM,
835 java::SessionAccessibility::CLASSNAME_MENUITEM,
836 IsAccessibilityElementRule::Yes,
837 UIA_MenuItemControlTypeId,
838 eNameFromSubtreeRule)
840 ROLE(COMBOBOX_LIST,
841 "combobox list",
842 nsGkAtoms::listbox,
843 ATK_ROLE_MENU,
844 NSAccessibilityMenuRole,
845 NSAccessibilityUnknownSubrole,
846 ROLE_SYSTEM_LIST,
847 ROLE_SYSTEM_LIST,
848 java::SessionAccessibility::CLASSNAME_VIEW,
849 IsAccessibilityElementRule::No,
850 UIA_ListControlTypeId,
851 eNoNameRule)
853 ROLE(COMBOBOX_OPTION,
854 "combobox option",
855 nsGkAtoms::option,
856 ATK_ROLE_MENU_ITEM,
857 NSAccessibilityMenuItemRole,
858 NSAccessibilityUnknownSubrole,
859 ROLE_SYSTEM_LISTITEM,
860 ROLE_SYSTEM_LISTITEM,
861 java::SessionAccessibility::CLASSNAME_MENUITEM,
862 IsAccessibilityElementRule::Yes,
863 UIA_ListItemControlTypeId,
864 eNameFromSubtreeRule)
866 ROLE(IMAGE_MAP,
867 "image map",
868 nsGkAtoms::img,
869 ATK_ROLE_IMAGE,
870 @"AXImageMap",
871 NSAccessibilityUnknownSubrole,
872 ROLE_SYSTEM_GRAPHIC,
873 ROLE_SYSTEM_GRAPHIC,
874 java::SessionAccessibility::CLASSNAME_IMAGE,
875 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
876 UIA_ImageControlTypeId,
877 eNoNameRule)
879 ROLE(OPTION,
880 "listbox option",
881 nsGkAtoms::option,
882 ATK_ROLE_LIST_ITEM,
883 NSAccessibilityStaticTextRole,
884 NSAccessibilityUnknownSubrole,
885 ROLE_SYSTEM_LISTITEM,
886 ROLE_SYSTEM_LISTITEM,
887 java::SessionAccessibility::CLASSNAME_VIEW,
888 IsAccessibilityElementRule::Yes,
889 UIA_ListItemControlTypeId,
890 eNameFromSubtreeRule)
892 ROLE(RICH_OPTION,
893 "listbox rich option",
894 nullptr,
895 ATK_ROLE_LIST_ITEM,
896 NSAccessibilityRowRole,
897 NSAccessibilityUnknownSubrole,
898 ROLE_SYSTEM_LISTITEM,
899 ROLE_SYSTEM_LISTITEM,
900 java::SessionAccessibility::CLASSNAME_VIEW,
901 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
902 UIA_ListItemControlTypeId,
903 eNameFromSubtreeRule)
905 ROLE(LISTBOX,
906 "listbox",
907 nsGkAtoms::listbox,
908 ATK_ROLE_LIST_BOX,
909 NSAccessibilityListRole,
910 NSAccessibilityUnknownSubrole,
911 ROLE_SYSTEM_LIST,
912 ROLE_SYSTEM_LIST,
913 java::SessionAccessibility::CLASSNAME_LISTVIEW,
914 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
915 UIA_ListControlTypeId,
916 eNameFromValueRule)
918 ROLE(FLAT_EQUATION,
919 "flat equation",
920 nsGkAtoms::math,
921 ATK_ROLE_UNKNOWN,
922 NSAccessibilityUnknownRole,
923 @"AXDocumentMath",
924 ROLE_SYSTEM_EQUATION,
925 ROLE_SYSTEM_EQUATION,
926 java::SessionAccessibility::CLASSNAME_VIEW,
927 IsAccessibilityElementRule::Yes,
928 UIA_GroupControlTypeId,
929 eNoNameRule)
931 ROLE(GRID_CELL,
932 "gridcell",
933 nsGkAtoms::gridcell,
934 ATK_ROLE_TABLE_CELL,
935 NSAccessibilityCellRole,
936 NSAccessibilityUnknownSubrole,
937 ROLE_SYSTEM_CELL,
938 ROLE_SYSTEM_CELL,
939 java::SessionAccessibility::CLASSNAME_VIEW,
940 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
941 UIA_DataItemControlTypeId,
942 eNameFromSubtreeRule)
944 ROLE(NOTE,
945 "note",
946 nsGkAtoms::note_,
947 ATK_ROLE_COMMENT,
948 NSAccessibilityGroupRole,
949 @"AXDocumentNote",
950 ROLE_SYSTEM_GROUPING,
951 IA2_ROLE_NOTE,
952 java::SessionAccessibility::CLASSNAME_VIEW,
953 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
954 UIA_GroupControlTypeId,
955 eNameFromSubtreeIfReqRule)
957 ROLE(FIGURE,
958 "figure",
959 nsGkAtoms::figure,
960 ATK_ROLE_PANEL,
961 NSAccessibilityGroupRole,
962 NSAccessibilityUnknownSubrole,
963 ROLE_SYSTEM_GROUPING,
964 ROLE_SYSTEM_GROUPING,
965 java::SessionAccessibility::CLASSNAME_VIEW,
966 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
967 UIA_GroupControlTypeId,
968 eNoNameRule)
970 ROLE(CHECK_RICH_OPTION,
971 "check rich option",
972 nullptr,
973 ATK_ROLE_CHECK_BOX,
974 NSAccessibilityCheckBoxRole,
975 NSAccessibilityUnknownSubrole,
976 ROLE_SYSTEM_CHECKBUTTON,
977 ROLE_SYSTEM_CHECKBUTTON,
978 java::SessionAccessibility::CLASSNAME_CHECKBOX,
979 IsAccessibilityElementRule::Yes,
980 UIA_CheckBoxControlTypeId,
981 eNameFromSubtreeRule)
983 ROLE(DEFINITION_LIST,
984 "definitionlist",
985 nullptr,
986 ATK_ROLE_LIST,
987 NSAccessibilityListRole,
988 @"AXDescriptionList",
989 ROLE_SYSTEM_LIST,
990 ROLE_SYSTEM_LIST,
991 java::SessionAccessibility::CLASSNAME_LISTVIEW,
992 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
993 UIA_ListControlTypeId,
994 eNameFromSubtreeIfReqRule)
996 ROLE(TERM,
997 "term",
998 nsGkAtoms::term,
999 ATK_ROLE_DESCRIPTION_TERM,
1000 NSAccessibilityGroupRole,
1001 @"AXTerm",
1002 ROLE_SYSTEM_LISTITEM,
1003 ROLE_SYSTEM_LISTITEM,
1004 java::SessionAccessibility::CLASSNAME_VIEW,
1005 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1006 UIA_TextControlTypeId,
1007 eNameFromSubtreeRule)
1009 ROLE(DEFINITION,
1010 "definition",
1011 nsGkAtoms::definition,
1012 ATK_ROLE_PARAGRAPH,
1013 NSAccessibilityGroupRole,
1014 @"AXDescription",
1015 ROLE_SYSTEM_GROUPING,
1016 IA2_ROLE_PARAGRAPH,
1017 java::SessionAccessibility::CLASSNAME_VIEW,
1018 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1019 UIA_GroupControlTypeId,
1020 eNameFromSubtreeRule)
1022 ROLE(KEY,
1023 "key",
1024 nullptr,
1025 ATK_ROLE_PUSH_BUTTON,
1026 NSAccessibilityButtonRole,
1027 NSAccessibilityUnknownSubrole,
1028 ROLE_SYSTEM_PUSHBUTTON,
1029 ROLE_SYSTEM_PUSHBUTTON,
1030 java::SessionAccessibility::CLASSNAME_BUTTON,
1031 IsAccessibilityElementRule::Yes,
1032 UIA_ButtonControlTypeId,
1033 eNameFromSubtreeRule)
1035 ROLE(SWITCH,
1036 "switch",
1037 nsGkAtoms::svgSwitch,
1038 ATK_ROLE_TOGGLE_BUTTON,
1039 NSAccessibilityCheckBoxRole,
1040 NSAccessibilitySwitchSubrole,
1041 ROLE_SYSTEM_CHECKBUTTON,
1042 IA2_ROLE_TOGGLE_BUTTON,
1043 java::SessionAccessibility::CLASSNAME_CHECKBOX,
1044 IsAccessibilityElementRule::Yes,
1045 UIA_ButtonControlTypeId,
1046 eNameFromSubtreeRule)
1048 ROLE(MATHML_MATH,
1049 "math",
1050 nsGkAtoms::math,
1051 ATK_ROLE_MATH,
1052 NSAccessibilityGroupRole,
1053 @"AXDocumentMath",
1054 ROLE_SYSTEM_EQUATION,
1055 ROLE_SYSTEM_EQUATION,
1056 java::SessionAccessibility::CLASSNAME_VIEW,
1057 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1058 UIA_GroupControlTypeId,
1059 eNoNameRule)
1061 ROLE(MATHML_IDENTIFIER,
1062 "mathml identifier",
1063 nullptr,
1064 ATK_ROLE_STATIC,
1065 NSAccessibilityGroupRole,
1066 @"AXMathIdentifier",
1068 IA2_ROLE_UNKNOWN,
1069 java::SessionAccessibility::CLASSNAME_VIEW,
1070 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1071 UIA_GroupControlTypeId,
1072 eNameFromSubtreeRule)
1074 ROLE(MATHML_NUMBER,
1075 "mathml number",
1076 nullptr,
1077 ATK_ROLE_STATIC,
1078 NSAccessibilityGroupRole,
1079 @"AXMathNumber",
1081 IA2_ROLE_UNKNOWN,
1082 java::SessionAccessibility::CLASSNAME_VIEW,
1083 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1084 UIA_GroupControlTypeId,
1085 eNameFromSubtreeRule)
1087 ROLE(MATHML_OPERATOR,
1088 "mathml operator",
1089 nullptr,
1090 ATK_ROLE_STATIC,
1091 NSAccessibilityGroupRole,
1092 @"AXMathOperator",
1093 // XXX: NSAccessibility also uses subroles AXMathSeparatorOperator and
1094 // AXMathFenceOperator. We should use the NS_MATHML_OPERATOR_FENCE and
1095 // NS_MATHML_OPERATOR_SEPARATOR bits of nsOperatorFlags, but currently they
1096 // are only available from the MathML layout code. Hence we just fallback
1097 // to subrole AXMathOperator for now.
1099 IA2_ROLE_UNKNOWN,
1100 java::SessionAccessibility::CLASSNAME_VIEW,
1101 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1102 UIA_GroupControlTypeId,
1103 eNameFromSubtreeRule)
1105 ROLE(MATHML_TEXT,
1106 "mathml text",
1107 nullptr,
1108 ATK_ROLE_STATIC,
1109 NSAccessibilityGroupRole,
1110 @"AXMathRoot",
1112 IA2_ROLE_UNKNOWN,
1113 java::SessionAccessibility::CLASSNAME_VIEW,
1114 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1115 UIA_GroupControlTypeId,
1116 eNameFromSubtreeRule)
1118 ROLE(MATHML_STRING_LITERAL,
1119 "mathml string literal",
1120 nullptr,
1121 ATK_ROLE_STATIC,
1122 NSAccessibilityGroupRole,
1123 NSAccessibilityUnknownSubrole,
1125 IA2_ROLE_UNKNOWN,
1126 java::SessionAccessibility::CLASSNAME_VIEW,
1127 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1128 UIA_GroupControlTypeId,
1129 eNameFromSubtreeRule)
1131 ROLE(MATHML_GLYPH,
1132 "mathml glyph",
1133 nullptr,
1134 ATK_ROLE_IMAGE,
1135 NSAccessibilityGroupRole,
1136 NSAccessibilityUnknownSubrole,
1138 IA2_ROLE_UNKNOWN,
1139 java::SessionAccessibility::CLASSNAME_IMAGE,
1140 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1141 UIA_GroupControlTypeId,
1142 eNameFromSubtreeRule)
1144 ROLE(MATHML_ROW,
1145 "mathml row",
1146 nullptr,
1147 ATK_ROLE_SECTION,
1148 NSAccessibilityGroupRole,
1149 @"AXMathRow",
1151 IA2_ROLE_UNKNOWN,
1152 java::SessionAccessibility::CLASSNAME_VIEW,
1153 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1154 UIA_GroupControlTypeId,
1155 eNoNameRule)
1157 ROLE(MATHML_FRACTION,
1158 "mathml fraction",
1159 nullptr,
1160 ATK_ROLE_MATH_FRACTION,
1161 NSAccessibilityGroupRole,
1162 @"AXMathFraction",
1164 IA2_ROLE_UNKNOWN,
1165 java::SessionAccessibility::CLASSNAME_VIEW,
1166 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1167 UIA_GroupControlTypeId,
1168 eNoNameRule)
1170 ROLE(MATHML_SQUARE_ROOT,
1171 "mathml square root",
1172 nullptr,
1173 ATK_ROLE_MATH_ROOT,
1174 NSAccessibilityGroupRole,
1175 @"AXMathSquareRoot",
1177 IA2_ROLE_UNKNOWN,
1178 java::SessionAccessibility::CLASSNAME_VIEW,
1179 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1180 UIA_GroupControlTypeId,
1181 eNoNameRule)
1183 ROLE(MATHML_ROOT,
1184 "mathml root",
1185 nullptr,
1186 ATK_ROLE_MATH_ROOT,
1187 NSAccessibilityGroupRole,
1188 @"AXMathRoot",
1190 IA2_ROLE_UNKNOWN,
1191 java::SessionAccessibility::CLASSNAME_VIEW,
1192 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1193 UIA_GroupControlTypeId,
1194 eNoNameRule)
1196 ROLE(MATHML_ENCLOSED,
1197 "mathml enclosed",
1198 nullptr,
1199 ATK_ROLE_SECTION,
1200 NSAccessibilityGroupRole,
1201 NSAccessibilityUnknownSubrole,
1203 IA2_ROLE_UNKNOWN,
1204 java::SessionAccessibility::CLASSNAME_VIEW,
1205 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1206 UIA_GroupControlTypeId,
1207 eNoNameRule)
1209 ROLE(MATHML_STYLE,
1210 "mathml style",
1211 nullptr,
1212 ATK_ROLE_SECTION,
1213 NSAccessibilityGroupRole,
1214 @"AXMathRow",
1216 IA2_ROLE_UNKNOWN,
1217 java::SessionAccessibility::CLASSNAME_VIEW,
1218 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1219 UIA_GroupControlTypeId,
1220 eNoNameRule)
1222 ROLE(MATHML_SUB,
1223 "mathml sub",
1224 nullptr,
1225 ATK_ROLE_SECTION,
1226 NSAccessibilityGroupRole,
1227 @"AXMathSubscriptSuperscript",
1229 IA2_ROLE_UNKNOWN,
1230 java::SessionAccessibility::CLASSNAME_VIEW,
1231 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1232 UIA_GroupControlTypeId,
1233 eNoNameRule)
1235 ROLE(MATHML_SUP,
1236 "mathml sup",
1237 nullptr,
1238 ATK_ROLE_SECTION,
1239 NSAccessibilityGroupRole,
1240 @"AXMathSubscriptSuperscript",
1242 IA2_ROLE_UNKNOWN,
1243 java::SessionAccessibility::CLASSNAME_VIEW,
1244 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1245 UIA_GroupControlTypeId,
1246 eNoNameRule)
1248 ROLE(MATHML_SUB_SUP,
1249 "mathml sub sup",
1250 nullptr,
1251 ATK_ROLE_SECTION,
1252 NSAccessibilityGroupRole,
1253 @"AXMathSubscriptSuperscript",
1255 IA2_ROLE_UNKNOWN,
1256 java::SessionAccessibility::CLASSNAME_VIEW,
1257 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1258 UIA_GroupControlTypeId,
1259 eNoNameRule)
1261 ROLE(MATHML_UNDER,
1262 "mathml under",
1263 nullptr,
1264 ATK_ROLE_SECTION,
1265 NSAccessibilityGroupRole,
1266 @"AXMathUnderOver",
1268 IA2_ROLE_UNKNOWN,
1269 java::SessionAccessibility::CLASSNAME_VIEW,
1270 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1271 UIA_GroupControlTypeId,
1272 eNoNameRule)
1274 ROLE(MATHML_OVER,
1275 "mathml over",
1276 nullptr,
1277 ATK_ROLE_SECTION,
1278 NSAccessibilityGroupRole,
1279 @"AXMathUnderOver",
1281 IA2_ROLE_UNKNOWN,
1282 java::SessionAccessibility::CLASSNAME_VIEW,
1283 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1284 UIA_GroupControlTypeId,
1285 eNoNameRule)
1287 ROLE(MATHML_UNDER_OVER,
1288 "mathml under over",
1289 nullptr,
1290 ATK_ROLE_SECTION,
1291 NSAccessibilityGroupRole,
1292 @"AXMathUnderOver",
1294 IA2_ROLE_UNKNOWN,
1295 java::SessionAccessibility::CLASSNAME_VIEW,
1296 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1297 UIA_GroupControlTypeId,
1298 eNoNameRule)
1300 ROLE(MATHML_MULTISCRIPTS,
1301 "mathml multiscripts",
1302 nullptr,
1303 ATK_ROLE_SECTION,
1304 NSAccessibilityGroupRole,
1305 @"AXMathMultiscript",
1307 IA2_ROLE_UNKNOWN,
1308 java::SessionAccessibility::CLASSNAME_VIEW,
1309 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1310 UIA_GroupControlTypeId,
1311 eNoNameRule)
1313 ROLE(MATHML_TABLE,
1314 "mathml table",
1315 nullptr,
1316 ATK_ROLE_TABLE,
1317 NSAccessibilityGroupRole,
1318 @"AXMathTable",
1320 IA2_ROLE_UNKNOWN,
1321 java::SessionAccessibility::CLASSNAME_GRIDVIEW,
1322 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1323 UIA_GroupControlTypeId,
1324 eNoNameRule)
1326 ROLE(MATHML_LABELED_ROW,
1327 "mathml labeled row",
1328 nullptr,
1329 ATK_ROLE_TABLE_ROW,
1330 NSAccessibilityGroupRole,
1331 NSAccessibilityUnknownSubrole,
1333 IA2_ROLE_UNKNOWN,
1334 java::SessionAccessibility::CLASSNAME_VIEW,
1335 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1336 UIA_GroupControlTypeId,
1337 eNoNameRule)
1339 ROLE(MATHML_TABLE_ROW,
1340 "mathml table row",
1341 nullptr,
1342 ATK_ROLE_TABLE_ROW,
1343 NSAccessibilityGroupRole,
1344 @"AXMathTableRow",
1346 IA2_ROLE_UNKNOWN,
1347 java::SessionAccessibility::CLASSNAME_VIEW,
1348 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1349 UIA_GroupControlTypeId,
1350 eNoNameRule)
1352 ROLE(MATHML_CELL,
1353 "mathml cell",
1354 nullptr,
1355 ATK_ROLE_TABLE_CELL,
1356 NSAccessibilityGroupRole,
1357 @"AXMathTableCell",
1359 IA2_ROLE_UNKNOWN,
1360 java::SessionAccessibility::CLASSNAME_VIEW,
1361 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1362 UIA_GroupControlTypeId,
1363 eNoNameRule)
1365 ROLE(MATHML_ACTION,
1366 "mathml action",
1367 nullptr,
1368 ATK_ROLE_SECTION,
1369 NSAccessibilityGroupRole,
1370 NSAccessibilityUnknownSubrole,
1372 IA2_ROLE_UNKNOWN,
1373 java::SessionAccessibility::CLASSNAME_VIEW,
1374 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1375 UIA_GroupControlTypeId,
1376 eNoNameRule)
1378 ROLE(MATHML_ERROR,
1379 "mathml error",
1380 nullptr,
1381 ATK_ROLE_SECTION,
1382 NSAccessibilityGroupRole,
1383 @"AXMathRow",
1385 IA2_ROLE_UNKNOWN,
1386 java::SessionAccessibility::CLASSNAME_VIEW,
1387 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1388 UIA_GroupControlTypeId,
1389 eNoNameRule)
1391 ROLE(MATHML_STACK,
1392 "mathml stack",
1393 nullptr,
1394 ATK_ROLE_UNKNOWN,
1395 NSAccessibilityGroupRole,
1396 NSAccessibilityUnknownSubrole,
1398 IA2_ROLE_UNKNOWN,
1399 java::SessionAccessibility::CLASSNAME_VIEW,
1400 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1401 UIA_GroupControlTypeId,
1402 eNoNameRule)
1404 ROLE(MATHML_LONG_DIVISION,
1405 "mathml long division",
1406 nullptr,
1407 ATK_ROLE_UNKNOWN,
1408 NSAccessibilityGroupRole,
1409 NSAccessibilityUnknownSubrole,
1411 IA2_ROLE_UNKNOWN,
1412 java::SessionAccessibility::CLASSNAME_VIEW,
1413 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1414 UIA_GroupControlTypeId,
1415 eNoNameRule)
1417 ROLE(MATHML_STACK_GROUP,
1418 "mathml stack group",
1419 nullptr,
1420 ATK_ROLE_UNKNOWN,
1421 NSAccessibilityGroupRole,
1422 NSAccessibilityUnknownSubrole,
1424 IA2_ROLE_UNKNOWN,
1425 java::SessionAccessibility::CLASSNAME_VIEW,
1426 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1427 UIA_GroupControlTypeId,
1428 eNoNameRule)
1430 ROLE(MATHML_STACK_ROW,
1431 "mathml stack row",
1432 nullptr,
1433 ATK_ROLE_UNKNOWN,
1434 NSAccessibilityGroupRole,
1435 NSAccessibilityUnknownSubrole,
1437 IA2_ROLE_UNKNOWN,
1438 java::SessionAccessibility::CLASSNAME_VIEW,
1439 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1440 UIA_GroupControlTypeId,
1441 eNoNameRule)
1443 ROLE(MATHML_STACK_CARRIES,
1444 "mathml stack carries",
1445 nullptr,
1446 ATK_ROLE_UNKNOWN,
1447 NSAccessibilityGroupRole,
1448 NSAccessibilityUnknownSubrole,
1450 IA2_ROLE_UNKNOWN,
1451 java::SessionAccessibility::CLASSNAME_VIEW,
1452 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1453 UIA_GroupControlTypeId,
1454 eNoNameRule)
1456 ROLE(MATHML_STACK_CARRY,
1457 "mathml stack carry",
1458 nullptr,
1459 ATK_ROLE_UNKNOWN,
1460 NSAccessibilityGroupRole,
1461 NSAccessibilityUnknownSubrole,
1463 IA2_ROLE_UNKNOWN,
1464 java::SessionAccessibility::CLASSNAME_VIEW,
1465 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1466 UIA_GroupControlTypeId,
1467 eNoNameRule)
1469 ROLE(MATHML_STACK_LINE,
1470 "mathml stack line",
1471 nullptr,
1472 ATK_ROLE_UNKNOWN,
1473 NSAccessibilityGroupRole,
1474 NSAccessibilityUnknownSubrole,
1476 IA2_ROLE_UNKNOWN,
1477 java::SessionAccessibility::CLASSNAME_VIEW,
1478 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1479 UIA_GroupControlTypeId,
1480 eNoNameRule)
1482 ROLE(RADIO_GROUP,
1483 "grouping",
1484 nsGkAtoms::radiogroup,
1485 ATK_ROLE_PANEL,
1486 NSAccessibilityRadioGroupRole,
1487 NSAccessibilityUnknownSubrole,
1488 ROLE_SYSTEM_GROUPING,
1489 ROLE_SYSTEM_GROUPING,
1490 java::SessionAccessibility::CLASSNAME_VIEW,
1491 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1492 UIA_ListControlTypeId,
1493 eNoNameRule)
1495 ROLE(TEXT,
1496 "text",
1497 nsGkAtoms::generic,
1498 ATK_ROLE_STATIC,
1499 NSAccessibilityGroupRole,
1500 NSAccessibilityUnknownSubrole,
1501 ROLE_SYSTEM_GROUPING,
1502 IA2_ROLE_TEXT_FRAME,
1503 java::SessionAccessibility::CLASSNAME_VIEW,
1504 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1505 UIA_GroupControlTypeId,
1506 eNameFromSubtreeIfReqRule)
1508 ROLE(DETAILS,
1509 "details",
1510 nsGkAtoms::group,
1511 ATK_ROLE_PANEL,
1512 NSAccessibilityGroupRole,
1513 @"AXDetails",
1514 ROLE_SYSTEM_GROUPING,
1515 ROLE_SYSTEM_GROUPING,
1516 java::SessionAccessibility::CLASSNAME_VIEW,
1517 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1518 UIA_GroupControlTypeId,
1519 eNoNameRule)
1521 ROLE(SUMMARY,
1522 "summary",
1523 nullptr,
1524 ATK_ROLE_PUSH_BUTTON,
1525 NSAccessibilityButtonRole,
1526 @"AXSummary",
1527 ROLE_SYSTEM_PUSHBUTTON,
1528 ROLE_SYSTEM_PUSHBUTTON,
1529 java::SessionAccessibility::CLASSNAME_BUTTON,
1530 IsAccessibilityElementRule::Yes,
1531 UIA_ButtonControlTypeId,
1532 eNameFromSubtreeRule)
1534 ROLE(LANDMARK,
1535 "landmark",
1536 nullptr,
1537 ATK_ROLE_LANDMARK,
1538 NSAccessibilityGroupRole,
1539 NSAccessibilityUnknownSubrole,
1540 ROLE_SYSTEM_GROUPING,
1541 IA2_ROLE_LANDMARK,
1542 java::SessionAccessibility::CLASSNAME_VIEW,
1543 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1544 UIA_GroupControlTypeId,
1545 eNoNameRule)
1547 ROLE(NAVIGATION,
1548 "navigation",
1549 nullptr,
1550 ATK_ROLE_LANDMARK,
1551 NSAccessibilityGroupRole,
1552 @"AXLandmarkNavigation",
1553 ROLE_SYSTEM_GROUPING,
1554 IA2_ROLE_LANDMARK,
1555 java::SessionAccessibility::CLASSNAME_VIEW,
1556 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1557 UIA_GroupControlTypeId,
1558 eNoNameRule)
1560 ROLE(FOOTNOTE,
1561 "footnote",
1562 nullptr,
1563 ATK_ROLE_FOOTNOTE,
1564 NSAccessibilityGroupRole,
1565 NSAccessibilityUnknownSubrole,
1566 ROLE_SYSTEM_GROUPING,
1567 IA2_ROLE_FOOTNOTE,
1568 java::SessionAccessibility::CLASSNAME_VIEW,
1569 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1570 UIA_GroupControlTypeId,
1571 eNoNameRule)
1573 ROLE(ARTICLE,
1574 "article",
1575 nsGkAtoms::article,
1576 ATK_ROLE_ARTICLE,
1577 NSAccessibilityGroupRole,
1578 @"AXDocumentArticle",
1579 ROLE_SYSTEM_DOCUMENT,
1580 ROLE_SYSTEM_DOCUMENT,
1581 java::SessionAccessibility::CLASSNAME_VIEW,
1582 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1583 UIA_GroupControlTypeId,
1584 eNoNameRule)
1586 ROLE(REGION,
1587 "region",
1588 nsGkAtoms::region,
1589 ATK_ROLE_LANDMARK,
1590 NSAccessibilityGroupRole,
1591 @"AXLandmarkRegion",
1592 ROLE_SYSTEM_GROUPING,
1593 IA2_ROLE_LANDMARK,
1594 java::SessionAccessibility::CLASSNAME_VIEW,
1595 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1596 UIA_GroupControlTypeId,
1597 eNoNameRule)
1599 // A composite widget with a text input and popup. Used for ARIA role combobox.
1600 // See also COMBOBOX.
1601 ROLE(EDITCOMBOBOX,
1602 "editcombobox",
1603 nsGkAtoms::combobox,
1604 ATK_ROLE_COMBO_BOX,
1605 NSAccessibilityComboBoxRole,
1606 NSAccessibilityUnknownSubrole,
1607 ROLE_SYSTEM_COMBOBOX,
1608 ROLE_SYSTEM_COMBOBOX,
1609 java::SessionAccessibility::CLASSNAME_EDITTEXT,
1610 IsAccessibilityElementRule::Yes,
1611 UIA_ComboBoxControlTypeId,
1612 eNameFromValueRule)
1614 ROLE(BLOCKQUOTE,
1615 "blockquote",
1616 nsGkAtoms::blockquote,
1617 ATK_ROLE_BLOCK_QUOTE,
1618 NSAccessibilityGroupRole,
1619 NSAccessibilityUnknownSubrole,
1620 ROLE_SYSTEM_GROUPING,
1621 IA2_ROLE_BLOCK_QUOTE,
1622 java::SessionAccessibility::CLASSNAME_VIEW,
1623 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1624 UIA_GroupControlTypeId,
1625 eNoNameRule)
1627 ROLE(CONTENT_DELETION,
1628 "content deletion",
1629 nsGkAtoms::deletion,
1630 ATK_ROLE_CONTENT_DELETION,
1631 NSAccessibilityGroupRole,
1632 @"AXDeleteStyleGroup",
1633 ROLE_SYSTEM_GROUPING,
1634 IA2_ROLE_CONTENT_DELETION,
1635 java::SessionAccessibility::CLASSNAME_VIEW,
1636 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1637 UIA_TextControlTypeId,
1638 eNameFromSubtreeIfReqRule)
1640 ROLE(CONTENT_INSERTION,
1641 "content insertion",
1642 nsGkAtoms::insertion,
1643 ATK_ROLE_CONTENT_INSERTION,
1644 NSAccessibilityGroupRole,
1645 @"AXInsertStyleGroup",
1646 ROLE_SYSTEM_GROUPING,
1647 IA2_ROLE_CONTENT_INSERTION,
1648 java::SessionAccessibility::CLASSNAME_VIEW,
1649 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1650 UIA_TextControlTypeId,
1651 eNameFromSubtreeIfReqRule)
1653 ROLE(FORM_LANDMARK,
1654 "form",
1655 nsGkAtoms::form,
1656 ATK_ROLE_LANDMARK,
1657 NSAccessibilityGroupRole,
1658 @"AXLandmarkForm",
1659 ROLE_SYSTEM_GROUPING,
1660 IA2_ROLE_FORM,
1661 java::SessionAccessibility::CLASSNAME_VIEW,
1662 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1663 UIA_GroupControlTypeId,
1664 eNoNameRule)
1666 ROLE(MARK,
1667 "mark",
1668 nsGkAtoms::mark,
1669 ATK_ROLE_MARK,
1670 NSAccessibilityGroupRole,
1671 NSAccessibilityUnknownSubrole,
1672 ROLE_SYSTEM_GROUPING,
1673 IA2_ROLE_MARK,
1674 java::SessionAccessibility::CLASSNAME_VIEW,
1675 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1676 UIA_GroupControlTypeId,
1677 eNameFromSubtreeIfReqRule)
1679 ROLE(SUGGESTION,
1680 "suggestion",
1681 nsGkAtoms::suggestion,
1682 ATK_ROLE_SUGGESTION,
1683 NSAccessibilityGroupRole,
1684 NSAccessibilityUnknownSubrole,
1685 ROLE_SYSTEM_GROUPING,
1686 IA2_ROLE_SUGGESTION,
1687 java::SessionAccessibility::CLASSNAME_VIEW,
1688 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1689 UIA_GroupControlTypeId,
1690 eNoNameRule)
1692 ROLE(COMMENT,
1693 "comment",
1694 nsGkAtoms::comment,
1695 ATK_ROLE_COMMENT,
1696 NSAccessibilityGroupRole,
1697 NSAccessibilityUnknownSubrole,
1698 ROLE_SYSTEM_GROUPING,
1699 IA2_ROLE_COMMENT,
1700 java::SessionAccessibility::CLASSNAME_VIEW,
1701 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1702 UIA_GroupControlTypeId,
1703 eNoNameRule)
1705 ROLE(CODE,
1706 "code",
1707 nsGkAtoms::code,
1708 ATK_ROLE_STATIC,
1709 NSAccessibilityGroupRole,
1710 @"AXCodeStyleGroup",
1711 ROLE_SYSTEM_GROUPING,
1712 IA2_ROLE_TEXT_FRAME,
1713 java::SessionAccessibility::CLASSNAME_VIEW,
1714 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1715 UIA_TextControlTypeId,
1716 eNameFromSubtreeIfReqRule)
1718 ROLE(TIME_EDITOR,
1719 "time editor",
1720 nullptr,
1721 ATK_ROLE_PANEL,
1722 @"AXTimeField",
1723 NSAccessibilityUnknownSubrole,
1724 ROLE_SYSTEM_GROUPING,
1725 ROLE_SYSTEM_GROUPING,
1726 java::SessionAccessibility::CLASSNAME_VIEW,
1727 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1728 UIA_GroupControlTypeId,
1729 eNameFromSubtreeIfReqRule)
1731 ROLE(LISTITEM_MARKER,
1732 "list item marker",
1733 nullptr,
1734 ATK_ROLE_UNKNOWN,
1735 @"AXListMarker",
1736 NSAccessibilityUnknownSubrole,
1737 ROLE_SYSTEM_STATICTEXT,
1738 ROLE_SYSTEM_STATICTEXT,
1739 java::SessionAccessibility::CLASSNAME_VIEW,
1740 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1741 UIA_TextControlTypeId,
1742 eNoNameRule)
1744 ROLE(METER,
1745 "meter",
1746 nsGkAtoms::meter,
1747 ATK_ROLE_LEVEL_BAR,
1748 NSAccessibilityLevelIndicatorRole,
1749 @"AXMeter",
1750 ROLE_SYSTEM_PROGRESSBAR,
1751 ROLE_SYSTEM_PROGRESSBAR,
1752 java::SessionAccessibility::CLASSNAME_VIEW,
1753 IsAccessibilityElementRule::Yes,
1754 UIA_ProgressBarControlTypeId,
1755 eNameFromValueRule)
1757 ROLE(SUBSCRIPT,
1758 "subscript",
1759 nsGkAtoms::subscript,
1760 ATK_ROLE_SUBSCRIPT,
1761 NSAccessibilityGroupRole,
1762 @"AXSubscriptStyleGroup",
1763 ROLE_SYSTEM_GROUPING,
1764 IA2_ROLE_TEXT_FRAME,
1765 java::SessionAccessibility::CLASSNAME_VIEW,
1766 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1767 UIA_TextControlTypeId,
1768 eNameFromSubtreeIfReqRule)
1770 ROLE(SUPERSCRIPT,
1771 "superscript",
1772 nsGkAtoms::superscript,
1773 ATK_ROLE_SUPERSCRIPT,
1774 NSAccessibilityGroupRole,
1775 @"AXSuperscriptStyleGroup",
1776 ROLE_SYSTEM_GROUPING,
1777 IA2_ROLE_TEXT_FRAME,
1778 java::SessionAccessibility::CLASSNAME_VIEW,
1779 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1780 UIA_TextControlTypeId,
1781 eNameFromSubtreeIfReqRule)
1783 ROLE(EMPHASIS,
1784 "emphasis",
1785 nsGkAtoms::emphasis,
1786 ATK_ROLE_STATIC,
1787 NSAccessibilityGroupRole,
1788 @"AXEmphasisStyleGroup",
1789 ROLE_SYSTEM_GROUPING,
1790 IA2_ROLE_TEXT_FRAME,
1791 java::SessionAccessibility::CLASSNAME_VIEW,
1792 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1793 UIA_TextControlTypeId,
1794 eNameFromSubtreeIfReqRule)
1796 ROLE(STRONG,
1797 "strong",
1798 nsGkAtoms::strong,
1799 ATK_ROLE_STATIC,
1800 NSAccessibilityGroupRole,
1801 @"AXStrongStyleGroup",
1802 ROLE_SYSTEM_GROUPING,
1803 IA2_ROLE_TEXT_FRAME,
1804 java::SessionAccessibility::CLASSNAME_VIEW,
1805 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1806 UIA_TextControlTypeId,
1807 eNameFromSubtreeIfReqRule)
1809 ROLE(TIME,
1810 "time",
1811 nsGkAtoms::time,
1812 ATK_ROLE_STATIC,
1813 NSAccessibilityGroupRole,
1814 @"AXTimeGroup",
1815 ROLE_SYSTEM_GROUPING,
1816 ROLE_SYSTEM_GROUPING,
1817 java::SessionAccessibility::CLASSNAME_VIEW,
1818 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1819 UIA_TextControlTypeId,
1820 eNameFromSubtreeIfReqRule)
1822 ROLE(GRID,
1823 "grid",
1824 nsGkAtoms::grid,
1825 ATK_ROLE_TABLE,
1826 NSAccessibilityTableRole,
1827 NSAccessibilityUnknownSubrole,
1828 ROLE_SYSTEM_TABLE,
1829 ROLE_SYSTEM_TABLE,
1830 java::SessionAccessibility::CLASSNAME_GRIDVIEW,
1831 IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
1832 UIA_DataGridControlTypeId,
1833 eNameFromSubtreeIfReqRule)
1834 // clang-format on