Bug 881092 - Allow decoding files we know we can't play, in the context of WebAudio...
[gecko.git] / accessible / src / base / RoleMap.h
blob5f3c9a95694efc429be385f9e626b39dc91bf04d
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 /**
6 * Usage: declare the macro ROLE()with the following arguments:
7 * ROLE(geckoRole, stringRole, atkRole, macRole, msaaRole, ia2Role, nameRule)
8 */
10 ROLE(NOTHING,
11 "nothing",
12 ATK_ROLE_UNKNOWN,
13 NSAccessibilityUnknownRole,
14 USE_ROLE_STRING,
15 IA2_ROLE_UNKNOWN,
16 eNameFromSubtreeIfReqRule)
18 ROLE(TITLEBAR,
19 "titlebar",
20 ATK_ROLE_UNKNOWN,
21 NSAccessibilityUnknownRole, //Irrelevant on OS X; windows are always native.
22 ROLE_SYSTEM_TITLEBAR,
23 ROLE_SYSTEM_TITLEBAR,
24 eNoNameRule)
26 ROLE(MENUBAR,
27 "menubar",
28 ATK_ROLE_MENU_BAR,
29 NSAccessibilityMenuBarRole, //Irrelevant on OS X; the menubar will always be native and on the top of the screen.
30 ROLE_SYSTEM_MENUBAR,
31 ROLE_SYSTEM_MENUBAR,
32 eNoNameRule)
34 ROLE(SCROLLBAR,
35 "scrollbar",
36 ATK_ROLE_SCROLL_BAR,
37 NSAccessibilityScrollBarRole, //We might need to make this its own mozAccessible, to support the children objects (valueindicator, down/up buttons).
38 ROLE_SYSTEM_SCROLLBAR,
39 ROLE_SYSTEM_SCROLLBAR,
40 eNameFromValueRule)
42 ROLE(GRIP,
43 "grip",
44 ATK_ROLE_UNKNOWN,
45 NSAccessibilitySplitterRole,
46 ROLE_SYSTEM_GRIP,
47 ROLE_SYSTEM_GRIP,
48 eNoNameRule)
50 ROLE(SOUND,
51 "sound",
52 ATK_ROLE_UNKNOWN,
53 NSAccessibilityUnknownRole, //Unused on OS X.
54 ROLE_SYSTEM_SOUND,
55 ROLE_SYSTEM_SOUND,
56 eNoNameRule)
58 ROLE(CURSOR,
59 "cursor",
60 ATK_ROLE_UNKNOWN,
61 NSAccessibilityUnknownRole, //Unused on OS X.
62 ROLE_SYSTEM_CURSOR,
63 ROLE_SYSTEM_CURSOR,
64 eNoNameRule)
66 ROLE(CARET,
67 "caret",
68 ATK_ROLE_UNKNOWN,
69 NSAccessibilityUnknownRole, //Unused on OS X.
70 ROLE_SYSTEM_CARET,
71 ROLE_SYSTEM_CARET,
72 eNoNameRule)
74 ROLE(ALERT,
75 "alert",
76 ATK_ROLE_ALERT,
77 NSAccessibilityWindowRole,
78 ROLE_SYSTEM_ALERT,
79 ROLE_SYSTEM_ALERT,
80 eNoNameRule)
82 ROLE(WINDOW,
83 "window",
84 ATK_ROLE_WINDOW,
85 NSAccessibilityWindowRole, //Irrelevant on OS X; all window a11y is handled by the system.
86 ROLE_SYSTEM_WINDOW,
87 ROLE_SYSTEM_WINDOW,
88 eNoNameRule)
90 ROLE(INTERNAL_FRAME,
91 "internal frame",
92 ATK_ROLE_INTERNAL_FRAME,
93 NSAccessibilityScrollAreaRole,
94 USE_ROLE_STRING,
95 IA2_ROLE_INTERNAL_FRAME,
96 eNoNameRule)
98 ROLE(MENUPOPUP,
99 "menupopup",
100 ATK_ROLE_MENU,
101 NSAccessibilityMenuRole, //The parent of menuitems.
102 ROLE_SYSTEM_MENUPOPUP,
103 ROLE_SYSTEM_MENUPOPUP,
104 eNoNameRule)
106 ROLE(MENUITEM,
107 "menuitem",
108 ATK_ROLE_MENU_ITEM,
109 NSAccessibilityMenuItemRole,
110 ROLE_SYSTEM_MENUITEM,
111 ROLE_SYSTEM_MENUITEM,
112 eNameFromSubtreeRule)
114 ROLE(TOOLTIP,
115 "tooltip",
116 ATK_ROLE_TOOL_TIP,
117 @"AXHelpTag", //10.4+ only, so we re-define the constant.
118 ROLE_SYSTEM_TOOLTIP,
119 ROLE_SYSTEM_TOOLTIP,
120 eNameFromSubtreeRule)
122 ROLE(APPLICATION,
123 "application",
124 ATK_ROLE_EMBEDDED,
125 NSAccessibilityGroupRole, //Unused on OS X. the system will take care of this.
126 ROLE_SYSTEM_APPLICATION,
127 ROLE_SYSTEM_APPLICATION,
128 eNoNameRule)
130 ROLE(DOCUMENT,
131 "document",
132 ATK_ROLE_DOCUMENT_FRAME,
133 @"AXWebArea",
134 ROLE_SYSTEM_DOCUMENT,
135 ROLE_SYSTEM_DOCUMENT,
136 eNoNameRule)
139 * msaa comment:
140 * We used to map to ROLE_SYSTEM_PANE, but JAWS would
141 * not read the accessible name for the contaning pane.
142 * However, JAWS will read the accessible name for a groupbox.
143 * By mapping a PANE to a GROUPING, we get no undesirable effects,
144 * but fortunately JAWS will then read the group's label,
145 * when an inner control gets focused.
147 ROLE(PANE,
148 "pane",
149 ATK_ROLE_PANEL,
150 NSAccessibilityGroupRole,
151 ROLE_SYSTEM_GROUPING,
152 ROLE_SYSTEM_GROUPING,
153 eNoNameRule)
155 ROLE(CHART,
156 "chart",
157 ATK_ROLE_CHART,
158 NSAccessibilityUnknownRole,
159 ROLE_SYSTEM_CHART,
160 ROLE_SYSTEM_CHART,
161 eNoNameRule)
163 ROLE(DIALOG,
164 "dialog",
165 ATK_ROLE_DIALOG,
166 NSAccessibilityWindowRole, //There's a dialog subrole.
167 ROLE_SYSTEM_DIALOG,
168 ROLE_SYSTEM_DIALOG,
169 eNoNameRule)
171 ROLE(BORDER,
172 "border",
173 ATK_ROLE_UNKNOWN,
174 NSAccessibilityUnknownRole, //Unused on OS X.
175 ROLE_SYSTEM_BORDER,
176 ROLE_SYSTEM_BORDER,
177 eNoNameRule)
179 ROLE(GROUPING,
180 "grouping",
181 ATK_ROLE_PANEL,
182 NSAccessibilityGroupRole,
183 ROLE_SYSTEM_GROUPING,
184 ROLE_SYSTEM_GROUPING,
185 eNoNameRule)
187 ROLE(SEPARATOR,
188 "separator",
189 ATK_ROLE_SEPARATOR,
190 NSAccessibilityUnknownRole,
191 ROLE_SYSTEM_SEPARATOR,
192 ROLE_SYSTEM_SEPARATOR,
193 eNoNameRule)
195 ROLE(TOOLBAR,
196 "toolbar",
197 ATK_ROLE_TOOL_BAR,
198 NSAccessibilityToolbarRole,
199 ROLE_SYSTEM_TOOLBAR,
200 ROLE_SYSTEM_TOOLBAR,
201 eNoNameRule)
203 ROLE(STATUSBAR,
204 "statusbar",
205 ATK_ROLE_STATUSBAR,
206 NSAccessibilityUnknownRole, //Doesn't exist on OS X (a status bar is its parts; a progressbar, a label, etc.)
207 ROLE_SYSTEM_STATUSBAR,
208 ROLE_SYSTEM_STATUSBAR,
209 eNoNameRule)
211 ROLE(TABLE,
212 "table",
213 ATK_ROLE_TABLE,
214 NSAccessibilityGroupRole,
215 ROLE_SYSTEM_TABLE,
216 ROLE_SYSTEM_TABLE,
217 eNoNameRule)
219 ROLE(COLUMNHEADER,
220 "columnheader",
221 ATK_ROLE_COLUMN_HEADER,
222 NSAccessibilityGroupRole,
223 ROLE_SYSTEM_COLUMNHEADER,
224 ROLE_SYSTEM_COLUMNHEADER,
225 eNameFromSubtreeRule)
227 ROLE(ROWHEADER,
228 "rowheader",
229 ATK_ROLE_ROW_HEADER,
230 NSAccessibilityGroupRole,
231 ROLE_SYSTEM_ROWHEADER,
232 ROLE_SYSTEM_ROWHEADER,
233 eNameFromSubtreeRule)
235 ROLE(COLUMN,
236 "column",
237 ATK_ROLE_UNKNOWN,
238 NSAccessibilityColumnRole,
239 ROLE_SYSTEM_COLUMN,
240 ROLE_SYSTEM_COLUMN,
241 eNameFromSubtreeRule)
243 ROLE(ROW,
244 "row",
245 ATK_ROLE_LIST_ITEM,
246 NSAccessibilityRowRole,
247 ROLE_SYSTEM_ROW,
248 ROLE_SYSTEM_ROW,
249 eNameFromSubtreeRule)
251 ROLE(CELL,
252 "cell",
253 ATK_ROLE_TABLE_CELL,
254 NSAccessibilityGroupRole,
255 ROLE_SYSTEM_CELL,
256 ROLE_SYSTEM_CELL,
257 eNameFromSubtreeIfReqRule)
259 ROLE(LINK,
260 "link",
261 ATK_ROLE_LINK,
262 @"AXLink", //10.4+ the attr first define in SDK 10.4, so we define it here too. ROLE_LINK
263 ROLE_SYSTEM_LINK,
264 ROLE_SYSTEM_LINK,
265 eNameFromSubtreeRule)
267 ROLE(HELPBALLOON,
268 "helpballoon",
269 ATK_ROLE_UNKNOWN,
270 @"AXHelpTag",
271 ROLE_SYSTEM_HELPBALLOON,
272 ROLE_SYSTEM_HELPBALLOON,
273 eNameFromSubtreeRule)
275 ROLE(CHARACTER,
276 "character",
277 ATK_ROLE_IMAGE,
278 NSAccessibilityUnknownRole, //Unused on OS X.
279 ROLE_SYSTEM_CHARACTER,
280 ROLE_SYSTEM_CHARACTER,
281 eNoNameRule)
283 ROLE(LIST,
284 "list",
285 ATK_ROLE_LIST,
286 NSAccessibilityListRole,
287 ROLE_SYSTEM_LIST,
288 ROLE_SYSTEM_LIST,
289 eNameFromSubtreeIfReqRule)
291 ROLE(LISTITEM,
292 "listitem",
293 ATK_ROLE_LIST_ITEM,
294 NSAccessibilityGroupRole,
295 ROLE_SYSTEM_LISTITEM,
296 ROLE_SYSTEM_LISTITEM,
297 eNameFromSubtreeRule)
299 ROLE(OUTLINE,
300 "outline",
301 ATK_ROLE_TREE,
302 NSAccessibilityOutlineRole,
303 ROLE_SYSTEM_OUTLINE,
304 ROLE_SYSTEM_OUTLINE,
305 eNoNameRule)
307 ROLE(OUTLINEITEM,
308 "outlineitem",
309 ATK_ROLE_LIST_ITEM,
310 NSAccessibilityRowRole, //XXX: use OutlineRow as subrole.
311 ROLE_SYSTEM_OUTLINEITEM,
312 ROLE_SYSTEM_OUTLINEITEM,
313 eNameFromSubtreeRule)
315 ROLE(PAGETAB,
316 "pagetab",
317 ATK_ROLE_PAGE_TAB,
318 NSAccessibilityRadioButtonRole,
319 ROLE_SYSTEM_PAGETAB,
320 ROLE_SYSTEM_PAGETAB,
321 eNameFromSubtreeRule)
323 ROLE(PROPERTYPAGE,
324 "propertypage",
325 ATK_ROLE_SCROLL_PANE,
326 NSAccessibilityGroupRole,
327 ROLE_SYSTEM_PROPERTYPAGE,
328 ROLE_SYSTEM_PROPERTYPAGE,
329 eNoNameRule)
331 ROLE(INDICATOR,
332 "indicator",
333 ATK_ROLE_UNKNOWN,
334 NSAccessibilityUnknownRole,
335 ROLE_SYSTEM_INDICATOR,
336 ROLE_SYSTEM_INDICATOR,
337 eNoNameRule)
339 ROLE(GRAPHIC,
340 "graphic",
341 ATK_ROLE_IMAGE,
342 NSAccessibilityImageRole,
343 ROLE_SYSTEM_GRAPHIC,
344 ROLE_SYSTEM_GRAPHIC,
345 eNoNameRule)
347 ROLE(STATICTEXT,
348 "statictext",
349 ATK_ROLE_UNKNOWN,
350 NSAccessibilityStaticTextRole,
351 ROLE_SYSTEM_STATICTEXT,
352 ROLE_SYSTEM_STATICTEXT,
353 eNoNameRule)
355 ROLE(TEXT_LEAF,
356 "text leaf",
357 ATK_ROLE_UNKNOWN,
358 NSAccessibilityStaticTextRole,
359 ROLE_SYSTEM_TEXT,
360 ROLE_SYSTEM_TEXT,
361 eNoNameRule)
363 ROLE(PUSHBUTTON,
364 "pushbutton",
365 ATK_ROLE_PUSH_BUTTON,
366 NSAccessibilityButtonRole,
367 ROLE_SYSTEM_PUSHBUTTON,
368 ROLE_SYSTEM_PUSHBUTTON,
369 eNameFromSubtreeRule)
371 ROLE(CHECKBUTTON,
372 "checkbutton",
373 ATK_ROLE_CHECK_BOX,
374 NSAccessibilityCheckBoxRole,
375 ROLE_SYSTEM_CHECKBUTTON,
376 ROLE_SYSTEM_CHECKBUTTON,
377 eNameFromSubtreeRule)
379 ROLE(RADIOBUTTON,
380 "radiobutton",
381 ATK_ROLE_RADIO_BUTTON,
382 NSAccessibilityRadioButtonRole,
383 ROLE_SYSTEM_RADIOBUTTON,
384 ROLE_SYSTEM_RADIOBUTTON,
385 eNameFromSubtreeRule)
387 ROLE(COMBOBOX,
388 "combobox",
389 ATK_ROLE_COMBO_BOX,
390 NSAccessibilityPopUpButtonRole,
391 ROLE_SYSTEM_COMBOBOX,
392 ROLE_SYSTEM_COMBOBOX,
393 eNameFromValueRule)
395 ROLE(DROPLIST,
396 "droplist",
397 ATK_ROLE_COMBO_BOX,
398 NSAccessibilityPopUpButtonRole,
399 ROLE_SYSTEM_DROPLIST,
400 ROLE_SYSTEM_DROPLIST,
401 eNoNameRule)
403 ROLE(PROGRESSBAR,
404 "progressbar",
405 ATK_ROLE_PROGRESS_BAR,
406 NSAccessibilityProgressIndicatorRole,
407 ROLE_SYSTEM_PROGRESSBAR,
408 ROLE_SYSTEM_PROGRESSBAR,
409 eNameFromValueRule)
411 ROLE(DIAL,
412 "dial",
413 ATK_ROLE_DIAL,
414 NSAccessibilityUnknownRole,
415 ROLE_SYSTEM_DIAL,
416 ROLE_SYSTEM_DIAL,
417 eNoNameRule)
419 ROLE(HOTKEYFIELD,
420 "hotkeyfield",
421 ATK_ROLE_UNKNOWN,
422 NSAccessibilityUnknownRole,
423 ROLE_SYSTEM_HOTKEYFIELD,
424 ROLE_SYSTEM_HOTKEYFIELD,
425 eNoNameRule)
427 ROLE(SLIDER,
428 "slider",
429 ATK_ROLE_SLIDER,
430 NSAccessibilitySliderRole,
431 ROLE_SYSTEM_SLIDER,
432 ROLE_SYSTEM_SLIDER,
433 eNameFromValueRule)
435 ROLE(SPINBUTTON,
436 "spinbutton",
437 ATK_ROLE_SPIN_BUTTON,
438 NSAccessibilityIncrementorRole, //Subroles: Increment/Decrement.
439 ROLE_SYSTEM_SPINBUTTON,
440 ROLE_SYSTEM_SPINBUTTON,
441 eNameFromValueRule)
443 ROLE(DIAGRAM,
444 "diagram",
445 ATK_ROLE_IMAGE,
446 NSAccessibilityUnknownRole,
447 ROLE_SYSTEM_DIAGRAM,
448 ROLE_SYSTEM_DIAGRAM,
449 eNoNameRule)
451 ROLE(ANIMATION,
452 "animation",
453 ATK_ROLE_ANIMATION,
454 NSAccessibilityUnknownRole,
455 ROLE_SYSTEM_ANIMATION,
456 ROLE_SYSTEM_ANIMATION,
457 eNoNameRule)
459 ROLE(EQUATION,
460 "equation",
461 ATK_ROLE_UNKNOWN,
462 NSAccessibilityUnknownRole,
463 ROLE_SYSTEM_EQUATION,
464 ROLE_SYSTEM_EQUATION,
465 eNoNameRule)
467 ROLE(BUTTONDROPDOWN,
468 "buttondropdown",
469 ATK_ROLE_PUSH_BUTTON,
470 NSAccessibilityPopUpButtonRole,
471 ROLE_SYSTEM_BUTTONDROPDOWN,
472 ROLE_SYSTEM_BUTTONDROPDOWN,
473 eNameFromSubtreeRule)
475 ROLE(BUTTONMENU,
476 "buttonmenu",
477 ATK_ROLE_PUSH_BUTTON,
478 NSAccessibilityMenuButtonRole,
479 ROLE_SYSTEM_BUTTONMENU,
480 ROLE_SYSTEM_BUTTONMENU,
481 eNameFromSubtreeRule)
483 ROLE(BUTTONDROPDOWNGRID,
484 "buttondropdowngrid",
485 ATK_ROLE_UNKNOWN,
486 NSAccessibilityGroupRole,
487 ROLE_SYSTEM_BUTTONDROPDOWNGRID,
488 ROLE_SYSTEM_BUTTONDROPDOWNGRID,
489 eNameFromSubtreeRule)
491 ROLE(WHITESPACE,
492 "whitespace",
493 ATK_ROLE_UNKNOWN,
494 NSAccessibilityUnknownRole,
495 ROLE_SYSTEM_WHITESPACE,
496 ROLE_SYSTEM_WHITESPACE,
497 eNoNameRule)
499 ROLE(PAGETABLIST,
500 "pagetablist",
501 ATK_ROLE_PAGE_TAB_LIST,
502 NSAccessibilityTabGroupRole,
503 ROLE_SYSTEM_PAGETABLIST,
504 ROLE_SYSTEM_PAGETABLIST,
505 eNoNameRule)
507 ROLE(CLOCK,
508 "clock",
509 ATK_ROLE_UNKNOWN,
510 NSAccessibilityUnknownRole, //Unused on OS X
511 ROLE_SYSTEM_CLOCK,
512 ROLE_SYSTEM_CLOCK,
513 eNoNameRule)
515 ROLE(SPLITBUTTON,
516 "splitbutton",
517 ATK_ROLE_PUSH_BUTTON,
518 NSAccessibilityButtonRole,
519 ROLE_SYSTEM_SPLITBUTTON,
520 ROLE_SYSTEM_SPLITBUTTON,
521 eNoNameRule)
523 ROLE(IPADDRESS,
524 "ipaddress",
525 ATK_ROLE_UNKNOWN,
526 NSAccessibilityUnknownRole,
527 ROLE_SYSTEM_IPADDRESS,
528 ROLE_SYSTEM_IPADDRESS,
529 eNoNameRule)
531 ROLE(ACCEL_LABEL,
532 "accel label",
533 ATK_ROLE_ACCEL_LABEL,
534 NSAccessibilityStaticTextRole,
535 ROLE_SYSTEM_STATICTEXT,
536 ROLE_SYSTEM_STATICTEXT,
537 eNoNameRule)
539 ROLE(ARROW,
540 "arrow",
541 ATK_ROLE_ARROW,
542 NSAccessibilityUnknownRole,
543 ROLE_SYSTEM_INDICATOR,
544 ROLE_SYSTEM_INDICATOR,
545 eNoNameRule)
547 ROLE(CANVAS,
548 "canvas",
549 ATK_ROLE_CANVAS,
550 NSAccessibilityImageRole,
551 USE_ROLE_STRING,
552 IA2_ROLE_CANVAS,
553 eNoNameRule)
555 ROLE(CHECK_MENU_ITEM,
556 "check menu item",
557 ATK_ROLE_CHECK_MENU_ITEM,
558 NSAccessibilityMenuItemRole,
559 ROLE_SYSTEM_MENUITEM,
560 IA2_ROLE_CHECK_MENU_ITEM,
561 eNameFromSubtreeRule)
563 ROLE(COLOR_CHOOSER,
564 "color chooser",
565 ATK_ROLE_COLOR_CHOOSER,
566 NSAccessibilityColorWellRole,
567 ROLE_SYSTEM_DIALOG,
568 IA2_ROLE_COLOR_CHOOSER,
569 eNoNameRule)
571 ROLE(DATE_EDITOR,
572 "date editor",
573 ATK_ROLE_DATE_EDITOR,
574 NSAccessibilityUnknownRole,
575 USE_ROLE_STRING,
576 IA2_ROLE_DATE_EDITOR,
577 eNoNameRule)
579 ROLE(DESKTOP_ICON,
580 "desktop icon",
581 ATK_ROLE_DESKTOP_ICON,
582 NSAccessibilityImageRole,
583 USE_ROLE_STRING,
584 IA2_ROLE_DESKTOP_ICON,
585 eNoNameRule)
587 ROLE(DESKTOP_FRAME,
588 "desktop frame",
589 ATK_ROLE_DESKTOP_FRAME,
590 NSAccessibilityUnknownRole,
591 USE_ROLE_STRING,
592 IA2_ROLE_DESKTOP_PANE,
593 eNoNameRule)
595 ROLE(DIRECTORY_PANE,
596 "directory pane",
597 ATK_ROLE_DIRECTORY_PANE,
598 NSAccessibilityBrowserRole,
599 USE_ROLE_STRING,
600 IA2_ROLE_DIRECTORY_PANE,
601 eNoNameRule)
603 ROLE(FILE_CHOOSER,
604 "file chooser",
605 ATK_ROLE_FILE_CHOOSER,
606 NSAccessibilityUnknownRole, //Unused on OS X
607 USE_ROLE_STRING,
608 IA2_ROLE_FILE_CHOOSER,
609 eNoNameRule)
611 ROLE(FONT_CHOOSER,
612 "font chooser",
613 ATK_ROLE_FONT_CHOOSER,
614 NSAccessibilityUnknownRole,
615 USE_ROLE_STRING,
616 IA2_ROLE_FONT_CHOOSER,
617 eNoNameRule)
619 ROLE(CHROME_WINDOW,
620 "chrome window",
621 ATK_ROLE_FRAME,
622 NSAccessibilityUnknownRole, //Unused on OS X
623 ROLE_SYSTEM_APPLICATION,
624 IA2_ROLE_FRAME,
625 eNoNameRule)
627 ROLE(GLASS_PANE,
628 "glass pane",
629 ATK_ROLE_GLASS_PANE,
630 NSAccessibilityGroupRole,
631 USE_ROLE_STRING,
632 IA2_ROLE_GLASS_PANE,
633 eNoNameRule)
635 ROLE(HTML_CONTAINER,
636 "html container",
637 ATK_ROLE_HTML_CONTAINER,
638 NSAccessibilityUnknownRole,
639 USE_ROLE_STRING,
640 IA2_ROLE_UNKNOWN,
641 eNameFromSubtreeIfReqRule)
643 ROLE(ICON,
644 "icon",
645 ATK_ROLE_ICON,
646 NSAccessibilityImageRole,
647 ROLE_SYSTEM_PUSHBUTTON,
648 IA2_ROLE_ICON,
649 eNoNameRule)
651 ROLE(LABEL,
652 "label",
653 ATK_ROLE_LABEL,
654 NSAccessibilityGroupRole,
655 ROLE_SYSTEM_STATICTEXT,
656 IA2_ROLE_LABEL,
657 eNameFromSubtreeRule)
659 ROLE(LAYERED_PANE,
660 "layered pane",
661 ATK_ROLE_LAYERED_PANE,
662 NSAccessibilityGroupRole,
663 USE_ROLE_STRING,
664 IA2_ROLE_LAYERED_PANE,
665 eNoNameRule)
667 ROLE(OPTION_PANE,
668 "option pane",
669 ATK_ROLE_OPTION_PANE,
670 NSAccessibilityGroupRole,
671 USE_ROLE_STRING,
672 IA2_ROLE_OPTION_PANE,
673 eNoNameRule)
675 ROLE(PASSWORD_TEXT,
676 "password text",
677 ATK_ROLE_PASSWORD_TEXT,
678 NSAccessibilityTextFieldRole,
679 ROLE_SYSTEM_TEXT,
680 ROLE_SYSTEM_TEXT,
681 eNoNameRule)
683 ROLE(POPUP_MENU,
684 "popup menu",
685 ATK_ROLE_POPUP_MENU,
686 NSAccessibilityUnknownRole, //Unused
687 ROLE_SYSTEM_MENUPOPUP,
688 ROLE_SYSTEM_MENUPOPUP,
689 eNoNameRule)
691 ROLE(RADIO_MENU_ITEM,
692 "radio menu item",
693 ATK_ROLE_RADIO_MENU_ITEM,
694 NSAccessibilityMenuItemRole,
695 ROLE_SYSTEM_MENUITEM,
696 IA2_ROLE_RADIO_MENU_ITEM,
697 eNameFromSubtreeRule)
699 ROLE(ROOT_PANE,
700 "root pane",
701 ATK_ROLE_ROOT_PANE,
702 NSAccessibilityGroupRole,
703 USE_ROLE_STRING,
704 IA2_ROLE_ROOT_PANE,
705 eNoNameRule)
707 ROLE(SCROLL_PANE,
708 "scroll pane",
709 ATK_ROLE_SCROLL_PANE,
710 NSAccessibilityScrollAreaRole,
711 USE_ROLE_STRING,
712 IA2_ROLE_SCROLL_PANE,
713 eNoNameRule)
715 ROLE(SPLIT_PANE,
716 "split pane",
717 ATK_ROLE_SPLIT_PANE,
718 NSAccessibilitySplitGroupRole,
719 USE_ROLE_STRING,
720 IA2_ROLE_SPLIT_PANE,
721 eNoNameRule)
723 ROLE(TABLE_COLUMN_HEADER,
724 "table column header",
725 ATK_ROLE_TABLE_COLUMN_HEADER,
726 NSAccessibilityUnknownRole,
727 ROLE_SYSTEM_COLUMNHEADER,
728 ROLE_SYSTEM_COLUMNHEADER,
729 eNameFromSubtreeRule)
731 ROLE(TABLE_ROW_HEADER,
732 "table row header",
733 ATK_ROLE_TABLE_ROW_HEADER,
734 NSAccessibilityUnknownRole,
735 ROLE_SYSTEM_ROWHEADER,
736 ROLE_SYSTEM_ROWHEADER,
737 eNameFromSubtreeRule)
739 ROLE(TEAR_OFF_MENU_ITEM,
740 "tear off menu item",
741 ATK_ROLE_TEAR_OFF_MENU_ITEM,
742 NSAccessibilityMenuItemRole,
743 ROLE_SYSTEM_MENUITEM,
744 IA2_ROLE_TEAR_OFF_MENU,
745 eNameFromSubtreeRule)
747 ROLE(TERMINAL,
748 "terminal",
749 ATK_ROLE_TERMINAL,
750 NSAccessibilityUnknownRole,
751 USE_ROLE_STRING,
752 IA2_ROLE_TERMINAL,
753 eNoNameRule)
755 ROLE(TEXT_CONTAINER,
756 "text container",
757 ATK_ROLE_TEXT,
758 NSAccessibilityGroupRole,
759 USE_ROLE_STRING,
760 IA2_ROLE_TEXT_FRAME,
761 eNameFromSubtreeIfReqRule)
763 ROLE(TOGGLE_BUTTON,
764 "toggle button",
765 ATK_ROLE_TOGGLE_BUTTON,
766 NSAccessibilityButtonRole,
767 ROLE_SYSTEM_PUSHBUTTON,
768 IA2_ROLE_TOGGLE_BUTTON,
769 eNameFromSubtreeRule)
771 ROLE(TREE_TABLE,
772 "tree table",
773 ATK_ROLE_TREE_TABLE,
774 NSAccessibilityTableRole,
775 ROLE_SYSTEM_OUTLINE,
776 ROLE_SYSTEM_OUTLINE,
777 eNoNameRule)
779 ROLE(VIEWPORT,
780 "viewport",
781 ATK_ROLE_VIEWPORT,
782 NSAccessibilityUnknownRole,
783 ROLE_SYSTEM_PANE,
784 IA2_ROLE_VIEW_PORT,
785 eNoNameRule)
787 ROLE(HEADER,
788 "header",
789 ATK_ROLE_HEADER,
790 NSAccessibilityGroupRole,
791 USE_ROLE_STRING,
792 IA2_ROLE_HEADER,
793 eNoNameRule)
795 ROLE(FOOTER,
796 "footer",
797 ATK_ROLE_FOOTER,
798 NSAccessibilityGroupRole,
799 USE_ROLE_STRING,
800 IA2_ROLE_FOOTER,
801 eNoNameRule)
803 ROLE(PARAGRAPH,
804 "paragraph",
805 ATK_ROLE_PARAGRAPH,
806 NSAccessibilityGroupRole,
807 USE_ROLE_STRING,
808 IA2_ROLE_PARAGRAPH,
809 eNameFromSubtreeIfReqRule)
811 ROLE(RULER,
812 "ruler",
813 ATK_ROLE_RULER,
814 @"AXRuler", //10.4+ only, so we re-define the constant.
815 USE_ROLE_STRING,
816 IA2_ROLE_RULER,
817 eNoNameRule)
819 ROLE(AUTOCOMPLETE,
820 "autocomplete",
821 ATK_ROLE_AUTOCOMPLETE,
822 NSAccessibilityUnknownRole,
823 ROLE_SYSTEM_COMBOBOX,
824 ROLE_SYSTEM_COMBOBOX,
825 eNoNameRule)
827 ROLE(EDITBAR,
828 "editbar",
829 ATK_ROLE_EDITBAR,
830 NSAccessibilityTextFieldRole,
831 ROLE_SYSTEM_TEXT,
832 IA2_ROLE_EDITBAR,
833 eNoNameRule)
835 ROLE(ENTRY,
836 "entry",
837 ATK_ROLE_ENTRY,
838 NSAccessibilityTextFieldRole,
839 ROLE_SYSTEM_TEXT,
840 ROLE_SYSTEM_TEXT,
841 eNameFromValueRule)
843 ROLE(CAPTION,
844 "caption",
845 ATK_ROLE_CAPTION,
846 NSAccessibilityStaticTextRole,
847 USE_ROLE_STRING,
848 IA2_ROLE_CAPTION,
849 eNameFromSubtreeIfReqRule)
851 ROLE(DOCUMENT_FRAME,
852 "document frame",
853 ATK_ROLE_DOCUMENT_FRAME,
854 NSAccessibilityScrollAreaRole,
855 USE_ROLE_STRING,
856 IA2_ROLE_UNKNOWN,
857 eNoNameRule)
859 ROLE(HEADING,
860 "heading",
861 ATK_ROLE_HEADING,
862 @"AXHeading",
863 USE_ROLE_STRING,
864 IA2_ROLE_HEADING,
865 eNameFromSubtreeIfReqRule)
867 ROLE(PAGE,
868 "page",
869 ATK_ROLE_PAGE,
870 NSAccessibilityGroupRole,
871 USE_ROLE_STRING,
872 IA2_ROLE_PAGE,
873 eNoNameRule)
875 ROLE(SECTION,
876 "section",
877 ATK_ROLE_SECTION,
878 NSAccessibilityGroupRole,
879 USE_ROLE_STRING,
880 IA2_ROLE_SECTION,
881 eNameFromSubtreeIfReqRule)
883 ROLE(REDUNDANT_OBJECT,
884 "redundant object",
885 ATK_ROLE_REDUNDANT_OBJECT,
886 NSAccessibilityUnknownRole,
887 USE_ROLE_STRING,
888 IA2_ROLE_REDUNDANT_OBJECT,
889 eNoNameRule)
891 ROLE(FORM,
892 "form",
893 ATK_ROLE_FORM,
894 NSAccessibilityGroupRole,
895 USE_ROLE_STRING,
896 IA2_ROLE_FORM,
897 eNoNameRule)
899 ROLE(IME,
900 "ime",
901 ATK_ROLE_INPUT_METHOD_WINDOW,
902 NSAccessibilityUnknownRole,
903 USE_ROLE_STRING,
904 IA2_ROLE_INPUT_METHOD_WINDOW,
905 eNoNameRule)
907 ROLE(APP_ROOT,
908 "app root",
909 ATK_ROLE_APPLICATION,
910 NSAccessibilityUnknownRole, //Unused on OS X
911 ROLE_SYSTEM_APPLICATION,
912 ROLE_SYSTEM_APPLICATION,
913 eNoNameRule)
915 ROLE(PARENT_MENUITEM,
916 "parent menuitem",
917 ATK_ROLE_MENU,
918 NSAccessibilityMenuItemRole,
919 ROLE_SYSTEM_MENUITEM,
920 ROLE_SYSTEM_MENUITEM,
921 eNameFromSubtreeRule)
923 ROLE(CALENDAR,
924 "calendar",
925 ATK_ROLE_CALENDAR,
926 NSAccessibilityGroupRole,
927 ROLE_SYSTEM_CLIENT,
928 ROLE_SYSTEM_CLIENT,
929 eNoNameRule)
931 ROLE(COMBOBOX_LIST,
932 "combobox list",
933 ATK_ROLE_MENU,
934 NSAccessibilityMenuRole,
935 ROLE_SYSTEM_LIST,
936 ROLE_SYSTEM_LIST,
937 eNoNameRule)
939 ROLE(COMBOBOX_OPTION,
940 "combobox option",
941 ATK_ROLE_MENU_ITEM,
942 NSAccessibilityMenuItemRole,
943 ROLE_SYSTEM_LISTITEM,
944 ROLE_SYSTEM_LISTITEM,
945 eNameFromSubtreeRule)
947 ROLE(IMAGE_MAP,
948 "image map",
949 ATK_ROLE_IMAGE,
950 NSAccessibilityUnknownRole,
951 ROLE_SYSTEM_GRAPHIC,
952 ROLE_SYSTEM_GRAPHIC,
953 eNoNameRule)
955 ROLE(OPTION,
956 "listbox option",
957 ATK_ROLE_LIST_ITEM,
958 NSAccessibilityRowRole,
959 ROLE_SYSTEM_LISTITEM,
960 ROLE_SYSTEM_LISTITEM,
961 eNameFromSubtreeRule)
963 ROLE(RICH_OPTION,
964 "listbox rich option",
965 ATK_ROLE_LIST_ITEM,
966 NSAccessibilityRowRole,
967 ROLE_SYSTEM_LISTITEM,
968 ROLE_SYSTEM_LISTITEM,
969 eNameFromSubtreeRule)
971 ROLE(LISTBOX,
972 "listbox",
973 ATK_ROLE_LIST,
974 NSAccessibilityListRole,
975 ROLE_SYSTEM_LIST,
976 ROLE_SYSTEM_LIST,
977 eNoNameRule)
979 ROLE(FLAT_EQUATION,
980 "flat equation",
981 ATK_ROLE_UNKNOWN,
982 NSAccessibilityUnknownRole,
983 ROLE_SYSTEM_EQUATION,
984 ROLE_SYSTEM_EQUATION,
985 eNoNameRule)
987 ROLE(GRID_CELL,
988 "gridcell",
989 ATK_ROLE_TABLE_CELL,
990 NSAccessibilityGroupRole,
991 ROLE_SYSTEM_CELL,
992 ROLE_SYSTEM_CELL,
993 eNameFromSubtreeRule)
995 ROLE(EMBEDDED_OBJECT,
996 "embedded object",
997 ATK_ROLE_PANEL,
998 NSAccessibilityGroupRole,
999 USE_ROLE_STRING,
1000 IA2_ROLE_EMBEDDED_OBJECT,
1001 eNoNameRule)
1003 ROLE(NOTE,
1004 "note",
1005 ATK_ROLE_SECTION,
1006 NSAccessibilityGroupRole,
1007 USE_ROLE_STRING,
1008 IA2_ROLE_NOTE,
1009 eNameFromSubtreeIfReqRule)
1011 ROLE(FIGURE,
1012 "figure",
1013 ATK_ROLE_PANEL,
1014 NSAccessibilityGroupRole,
1015 ROLE_SYSTEM_GROUPING,
1016 ROLE_SYSTEM_GROUPING,
1017 eNoNameRule)
1019 ROLE(CHECK_RICH_OPTION,
1020 "check rich option",
1021 ATK_ROLE_CHECK_BOX,
1022 NSAccessibilityCheckBoxRole,
1023 ROLE_SYSTEM_CHECKBUTTON,
1024 ROLE_SYSTEM_CHECKBUTTON,
1025 eNameFromSubtreeRule)
1027 ROLE(DEFINITION_LIST,
1028 "definitionlist",
1029 ATK_ROLE_LIST,
1030 NSAccessibilityListRole,
1031 ROLE_SYSTEM_LIST,
1032 ROLE_SYSTEM_LIST,
1033 eNameFromSubtreeIfReqRule)
1035 ROLE(TERM,
1036 "term",
1037 ATK_ROLE_LIST_ITEM,
1038 NSAccessibilityGroupRole,
1039 ROLE_SYSTEM_LISTITEM,
1040 ROLE_SYSTEM_LISTITEM,
1041 eNameFromSubtreeRule)
1043 ROLE(DEFINITION,
1044 "definition",
1045 ATK_ROLE_PARAGRAPH,
1046 NSAccessibilityGroupRole,
1047 USE_ROLE_STRING,
1048 IA2_ROLE_PARAGRAPH,
1049 eNameFromSubtreeRule)
1051 ROLE(KEY,
1052 "key",
1053 ATK_ROLE_PUSH_BUTTON,
1054 NSAccessibilityButtonRole,
1055 ROLE_SYSTEM_PUSHBUTTON,
1056 ROLE_SYSTEM_PUSHBUTTON,
1057 eNameFromSubtreeRule)