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/. */
6 * Usage: declare the macro ROLE()with the following arguments:
7 * ROLE(geckoRole, stringRole, atkRole, macRole, msaaRole, ia2Role, nameRule)
13 NSAccessibilityUnknownRole
,
16 eNameFromSubtreeIfReqRule
)
21 NSAccessibilityUnknownRole
, //Irrelevant on OS X; windows are always native.
29 NSAccessibilityMenuBarRole
, //Irrelevant on OS X; the menubar will always be native and on the top of the screen.
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
,
45 NSAccessibilitySplitterRole
,
53 NSAccessibilityUnknownRole
, //Unused on OS X.
61 NSAccessibilityUnknownRole
, //Unused on OS X.
69 NSAccessibilityUnknownRole
, //Unused on OS X.
77 NSAccessibilityWindowRole
,
85 NSAccessibilityWindowRole
, //Irrelevant on OS X; all window a11y is handled by the system.
92 ATK_ROLE_INTERNAL_FRAME
,
93 NSAccessibilityScrollAreaRole
,
95 IA2_ROLE_INTERNAL_FRAME
,
101 NSAccessibilityMenuRole
, //The parent of menuitems.
102 ROLE_SYSTEM_MENUPOPUP
,
103 ROLE_SYSTEM_MENUPOPUP
,
109 NSAccessibilityMenuItemRole
,
110 ROLE_SYSTEM_MENUITEM
,
111 ROLE_SYSTEM_MENUITEM
,
112 eNameFromSubtreeRule
)
117 @
"AXHelpTag", //10.4+ only, so we re-define the constant.
120 eNameFromSubtreeRule
)
125 NSAccessibilityGroupRole
, //Unused on OS X. the system will take care of this.
126 ROLE_SYSTEM_APPLICATION
,
127 ROLE_SYSTEM_APPLICATION
,
132 ATK_ROLE_DOCUMENT_FRAME
,
134 ROLE_SYSTEM_DOCUMENT
,
135 ROLE_SYSTEM_DOCUMENT
,
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.
150 NSAccessibilityGroupRole
,
151 ROLE_SYSTEM_GROUPING
,
152 ROLE_SYSTEM_GROUPING
,
158 NSAccessibilityUnknownRole
,
166 NSAccessibilityWindowRole
, //There's a dialog subrole.
174 NSAccessibilityUnknownRole
, //Unused on OS X.
182 NSAccessibilityGroupRole
,
183 ROLE_SYSTEM_GROUPING
,
184 ROLE_SYSTEM_GROUPING
,
190 NSAccessibilityUnknownRole
,
191 ROLE_SYSTEM_SEPARATOR
,
192 ROLE_SYSTEM_SEPARATOR
,
198 NSAccessibilityToolbarRole
,
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
,
214 NSAccessibilityGroupRole
,
221 ATK_ROLE_COLUMN_HEADER
,
222 NSAccessibilityGroupRole
,
223 ROLE_SYSTEM_COLUMNHEADER
,
224 ROLE_SYSTEM_COLUMNHEADER
,
225 eNameFromSubtreeRule
)
230 NSAccessibilityGroupRole
,
231 ROLE_SYSTEM_ROWHEADER
,
232 ROLE_SYSTEM_ROWHEADER
,
233 eNameFromSubtreeRule
)
238 NSAccessibilityColumnRole
,
241 eNameFromSubtreeRule
)
246 NSAccessibilityRowRole
,
249 eNameFromSubtreeRule
)
254 NSAccessibilityGroupRole
,
257 eNameFromSubtreeIfReqRule
)
262 @
"AXLink", //10.4+ the attr first define in SDK 10.4, so we define it here too. ROLE_LINK
265 eNameFromSubtreeRule
)
271 ROLE_SYSTEM_HELPBALLOON
,
272 ROLE_SYSTEM_HELPBALLOON
,
273 eNameFromSubtreeRule
)
278 NSAccessibilityUnknownRole
, //Unused on OS X.
279 ROLE_SYSTEM_CHARACTER
,
280 ROLE_SYSTEM_CHARACTER
,
286 NSAccessibilityListRole
,
289 eNameFromSubtreeIfReqRule
)
294 NSAccessibilityGroupRole
,
295 ROLE_SYSTEM_LISTITEM
,
296 ROLE_SYSTEM_LISTITEM
,
297 eNameFromSubtreeRule
)
302 NSAccessibilityOutlineRole
,
310 NSAccessibilityRowRole
, //XXX: use OutlineRow as subrole.
311 ROLE_SYSTEM_OUTLINEITEM
,
312 ROLE_SYSTEM_OUTLINEITEM
,
313 eNameFromSubtreeRule
)
318 NSAccessibilityRadioButtonRole
,
321 eNameFromSubtreeRule
)
325 ATK_ROLE_SCROLL_PANE
,
326 NSAccessibilityGroupRole
,
327 ROLE_SYSTEM_PROPERTYPAGE
,
328 ROLE_SYSTEM_PROPERTYPAGE
,
334 NSAccessibilityUnknownRole
,
335 ROLE_SYSTEM_INDICATOR
,
336 ROLE_SYSTEM_INDICATOR
,
342 NSAccessibilityImageRole
,
350 NSAccessibilityStaticTextRole
,
351 ROLE_SYSTEM_STATICTEXT
,
352 ROLE_SYSTEM_STATICTEXT
,
358 NSAccessibilityStaticTextRole
,
365 ATK_ROLE_PUSH_BUTTON
,
366 NSAccessibilityButtonRole
,
367 ROLE_SYSTEM_PUSHBUTTON
,
368 ROLE_SYSTEM_PUSHBUTTON
,
369 eNameFromSubtreeRule
)
374 NSAccessibilityCheckBoxRole
,
375 ROLE_SYSTEM_CHECKBUTTON
,
376 ROLE_SYSTEM_CHECKBUTTON
,
377 eNameFromSubtreeRule
)
381 ATK_ROLE_RADIO_BUTTON
,
382 NSAccessibilityRadioButtonRole
,
383 ROLE_SYSTEM_RADIOBUTTON
,
384 ROLE_SYSTEM_RADIOBUTTON
,
385 eNameFromSubtreeRule
)
390 NSAccessibilityPopUpButtonRole
,
391 ROLE_SYSTEM_COMBOBOX
,
392 ROLE_SYSTEM_COMBOBOX
,
398 NSAccessibilityPopUpButtonRole
,
399 ROLE_SYSTEM_DROPLIST
,
400 ROLE_SYSTEM_DROPLIST
,
405 ATK_ROLE_PROGRESS_BAR
,
406 NSAccessibilityProgressIndicatorRole
,
407 ROLE_SYSTEM_PROGRESSBAR
,
408 ROLE_SYSTEM_PROGRESSBAR
,
414 NSAccessibilityUnknownRole
,
422 NSAccessibilityUnknownRole
,
423 ROLE_SYSTEM_HOTKEYFIELD
,
424 ROLE_SYSTEM_HOTKEYFIELD
,
430 NSAccessibilitySliderRole
,
437 ATK_ROLE_SPIN_BUTTON
,
438 NSAccessibilityIncrementorRole
, //Subroles: Increment/Decrement.
439 ROLE_SYSTEM_SPINBUTTON
,
440 ROLE_SYSTEM_SPINBUTTON
,
446 NSAccessibilityUnknownRole
,
454 NSAccessibilityUnknownRole
,
455 ROLE_SYSTEM_ANIMATION
,
456 ROLE_SYSTEM_ANIMATION
,
462 NSAccessibilityUnknownRole
,
463 ROLE_SYSTEM_EQUATION
,
464 ROLE_SYSTEM_EQUATION
,
469 ATK_ROLE_PUSH_BUTTON
,
470 NSAccessibilityPopUpButtonRole
,
471 ROLE_SYSTEM_BUTTONDROPDOWN
,
472 ROLE_SYSTEM_BUTTONDROPDOWN
,
473 eNameFromSubtreeRule
)
477 ATK_ROLE_PUSH_BUTTON
,
478 NSAccessibilityMenuButtonRole
,
479 ROLE_SYSTEM_BUTTONMENU
,
480 ROLE_SYSTEM_BUTTONMENU
,
481 eNameFromSubtreeRule
)
483 ROLE(BUTTONDROPDOWNGRID
,
484 "buttondropdowngrid",
486 NSAccessibilityGroupRole
,
487 ROLE_SYSTEM_BUTTONDROPDOWNGRID
,
488 ROLE_SYSTEM_BUTTONDROPDOWNGRID
,
489 eNameFromSubtreeRule
)
494 NSAccessibilityUnknownRole
,
495 ROLE_SYSTEM_WHITESPACE
,
496 ROLE_SYSTEM_WHITESPACE
,
501 ATK_ROLE_PAGE_TAB_LIST
,
502 NSAccessibilityTabGroupRole
,
503 ROLE_SYSTEM_PAGETABLIST
,
504 ROLE_SYSTEM_PAGETABLIST
,
510 NSAccessibilityUnknownRole
, //Unused on OS X
517 ATK_ROLE_PUSH_BUTTON
,
518 NSAccessibilityButtonRole
,
519 ROLE_SYSTEM_SPLITBUTTON
,
520 ROLE_SYSTEM_SPLITBUTTON
,
526 NSAccessibilityUnknownRole
,
527 ROLE_SYSTEM_IPADDRESS
,
528 ROLE_SYSTEM_IPADDRESS
,
533 ATK_ROLE_ACCEL_LABEL
,
534 NSAccessibilityStaticTextRole
,
535 ROLE_SYSTEM_STATICTEXT
,
536 ROLE_SYSTEM_STATICTEXT
,
542 NSAccessibilityUnknownRole
,
543 ROLE_SYSTEM_INDICATOR
,
544 ROLE_SYSTEM_INDICATOR
,
550 NSAccessibilityImageRole
,
555 ROLE(CHECK_MENU_ITEM
,
557 ATK_ROLE_CHECK_MENU_ITEM
,
558 NSAccessibilityMenuItemRole
,
559 ROLE_SYSTEM_MENUITEM
,
560 IA2_ROLE_CHECK_MENU_ITEM
,
561 eNameFromSubtreeRule
)
565 ATK_ROLE_COLOR_CHOOSER
,
566 NSAccessibilityColorWellRole
,
568 IA2_ROLE_COLOR_CHOOSER
,
573 ATK_ROLE_DATE_EDITOR
,
574 NSAccessibilityUnknownRole
,
576 IA2_ROLE_DATE_EDITOR
,
581 ATK_ROLE_DESKTOP_ICON
,
582 NSAccessibilityImageRole
,
584 IA2_ROLE_DESKTOP_ICON
,
589 ATK_ROLE_DESKTOP_FRAME
,
590 NSAccessibilityUnknownRole
,
592 IA2_ROLE_DESKTOP_PANE
,
597 ATK_ROLE_DIRECTORY_PANE
,
598 NSAccessibilityBrowserRole
,
600 IA2_ROLE_DIRECTORY_PANE
,
605 ATK_ROLE_FILE_CHOOSER
,
606 NSAccessibilityUnknownRole
, //Unused on OS X
608 IA2_ROLE_FILE_CHOOSER
,
613 ATK_ROLE_FONT_CHOOSER
,
614 NSAccessibilityUnknownRole
,
616 IA2_ROLE_FONT_CHOOSER
,
622 NSAccessibilityUnknownRole
, //Unused on OS X
623 ROLE_SYSTEM_APPLICATION
,
630 NSAccessibilityGroupRole
,
637 ATK_ROLE_HTML_CONTAINER
,
638 NSAccessibilityUnknownRole
,
641 eNameFromSubtreeIfReqRule
)
646 NSAccessibilityImageRole
,
647 ROLE_SYSTEM_PUSHBUTTON
,
654 NSAccessibilityGroupRole
,
655 ROLE_SYSTEM_STATICTEXT
,
657 eNameFromSubtreeRule
)
661 ATK_ROLE_LAYERED_PANE
,
662 NSAccessibilityGroupRole
,
664 IA2_ROLE_LAYERED_PANE
,
669 ATK_ROLE_OPTION_PANE
,
670 NSAccessibilityGroupRole
,
672 IA2_ROLE_OPTION_PANE
,
677 ATK_ROLE_PASSWORD_TEXT
,
678 NSAccessibilityTextFieldRole
,
686 NSAccessibilityUnknownRole
, //Unused
687 ROLE_SYSTEM_MENUPOPUP
,
688 ROLE_SYSTEM_MENUPOPUP
,
691 ROLE(RADIO_MENU_ITEM
,
693 ATK_ROLE_RADIO_MENU_ITEM
,
694 NSAccessibilityMenuItemRole
,
695 ROLE_SYSTEM_MENUITEM
,
696 IA2_ROLE_RADIO_MENU_ITEM
,
697 eNameFromSubtreeRule
)
702 NSAccessibilityGroupRole
,
709 ATK_ROLE_SCROLL_PANE
,
710 NSAccessibilityScrollAreaRole
,
712 IA2_ROLE_SCROLL_PANE
,
718 NSAccessibilitySplitGroupRole
,
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
,
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
)
750 NSAccessibilityUnknownRole
,
758 NSAccessibilityGroupRole
,
761 eNameFromSubtreeIfReqRule
)
765 ATK_ROLE_TOGGLE_BUTTON
,
766 NSAccessibilityButtonRole
,
767 ROLE_SYSTEM_PUSHBUTTON
,
768 IA2_ROLE_TOGGLE_BUTTON
,
769 eNameFromSubtreeRule
)
774 NSAccessibilityTableRole
,
782 NSAccessibilityUnknownRole
,
790 NSAccessibilityGroupRole
,
798 NSAccessibilityGroupRole
,
806 NSAccessibilityGroupRole
,
809 eNameFromSubtreeIfReqRule
)
814 @
"AXRuler", //10.4+ only, so we re-define the constant.
821 ATK_ROLE_AUTOCOMPLETE
,
822 NSAccessibilityUnknownRole
,
823 ROLE_SYSTEM_COMBOBOX
,
824 ROLE_SYSTEM_COMBOBOX
,
830 NSAccessibilityTextFieldRole
,
838 NSAccessibilityTextFieldRole
,
846 NSAccessibilityStaticTextRole
,
849 eNameFromSubtreeIfReqRule
)
853 ATK_ROLE_DOCUMENT_FRAME
,
854 NSAccessibilityScrollAreaRole
,
865 eNameFromSubtreeIfReqRule
)
870 NSAccessibilityGroupRole
,
878 NSAccessibilityGroupRole
,
881 eNameFromSubtreeIfReqRule
)
883 ROLE(REDUNDANT_OBJECT
,
885 ATK_ROLE_REDUNDANT_OBJECT
,
886 NSAccessibilityUnknownRole
,
888 IA2_ROLE_REDUNDANT_OBJECT
,
894 NSAccessibilityGroupRole
,
901 ATK_ROLE_INPUT_METHOD_WINDOW
,
902 NSAccessibilityUnknownRole
,
904 IA2_ROLE_INPUT_METHOD_WINDOW
,
909 ATK_ROLE_APPLICATION
,
910 NSAccessibilityUnknownRole
, //Unused on OS X
911 ROLE_SYSTEM_APPLICATION
,
912 ROLE_SYSTEM_APPLICATION
,
915 ROLE(PARENT_MENUITEM
,
918 NSAccessibilityMenuItemRole
,
919 ROLE_SYSTEM_MENUITEM
,
920 ROLE_SYSTEM_MENUITEM
,
921 eNameFromSubtreeRule
)
926 NSAccessibilityGroupRole
,
934 NSAccessibilityMenuRole
,
939 ROLE(COMBOBOX_OPTION
,
942 NSAccessibilityMenuItemRole
,
943 ROLE_SYSTEM_LISTITEM
,
944 ROLE_SYSTEM_LISTITEM
,
945 eNameFromSubtreeRule
)
950 NSAccessibilityUnknownRole
,
958 NSAccessibilityRowRole
,
959 ROLE_SYSTEM_LISTITEM
,
960 ROLE_SYSTEM_LISTITEM
,
961 eNameFromSubtreeRule
)
964 "listbox rich option",
966 NSAccessibilityRowRole
,
967 ROLE_SYSTEM_LISTITEM
,
968 ROLE_SYSTEM_LISTITEM
,
969 eNameFromSubtreeRule
)
974 NSAccessibilityListRole
,
982 NSAccessibilityUnknownRole
,
983 ROLE_SYSTEM_EQUATION
,
984 ROLE_SYSTEM_EQUATION
,
990 NSAccessibilityGroupRole
,
993 eNameFromSubtreeRule
)
995 ROLE(EMBEDDED_OBJECT
,
998 NSAccessibilityGroupRole
,
1000 IA2_ROLE_EMBEDDED_OBJECT
,
1006 NSAccessibilityGroupRole
,
1009 eNameFromSubtreeIfReqRule
)
1014 NSAccessibilityGroupRole
,
1015 ROLE_SYSTEM_GROUPING
,
1016 ROLE_SYSTEM_GROUPING
,
1019 ROLE(CHECK_RICH_OPTION
,
1020 "check rich option",
1022 NSAccessibilityCheckBoxRole
,
1023 ROLE_SYSTEM_CHECKBUTTON
,
1024 ROLE_SYSTEM_CHECKBUTTON
,
1025 eNameFromSubtreeRule
)
1027 ROLE(DEFINITION_LIST
,
1030 NSAccessibilityListRole
,
1033 eNameFromSubtreeIfReqRule
)
1038 NSAccessibilityGroupRole
,
1039 ROLE_SYSTEM_LISTITEM
,
1040 ROLE_SYSTEM_LISTITEM
,
1041 eNameFromSubtreeRule
)
1046 NSAccessibilityGroupRole
,
1049 eNameFromSubtreeRule
)
1053 ATK_ROLE_PUSH_BUTTON
,
1054 NSAccessibilityButtonRole
,
1055 ROLE_SYSTEM_PUSHBUTTON
,
1056 ROLE_SYSTEM_PUSHBUTTON
,
1057 eNameFromSubtreeRule
)