accessible/src/base/RoleMap.h

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     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)
   138 /**
   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.
   146  */
   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_TABLE_ROW,
   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      NSAccessibilityGroupRole,  //Contains the main Firefox UI
   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_BOX,
   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)

mercurial