1 /* AccessibleRole.java -- the primary role of an accessible object 2 Copyright (C) 2002, 2005 Free Software Foundation 3 4 This file is part of GNU Classpath. 5 6 GNU Classpath is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 GNU Classpath is distributed in the hope that it will be useful, but 12 WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GNU Classpath; see the file COPYING. If not, write to the 18 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 19 02110-1301 USA. 20 21 Linking this library statically or dynamically with other modules is 22 making a combined work based on this library. Thus, the terms and 23 conditions of the GNU General Public License cover the whole 24 combination. 25 26 As a special exception, the copyright holders of this library give you 27 permission to link this library with independent modules to produce an 28 executable, regardless of the license terms of these independent 29 modules, and to copy and distribute the resulting executable under 30 terms of your choice, provided that you also meet, for each linked 31 independent module, the terms and conditions of the license of that 32 module. An independent module is a module which is not derived from 33 or based on this library. If you modify this library, you may extend 34 this exception to your version of the library, but you are not 35 obligated to do so. If you do not wish to do so, delete this 36 exception statement from your version. */ 37 38 package javax.accessibility; 39 40 import java.util.Locale; 41 42 /** 43 * The role of an accessible object. For example, this could be "button" or 44 * "table". This strongly typed "enumeration" supports localized strings. If 45 * the constants of this class are not adequate, new ones may be added in a 46 * similar matter, while avoiding a public constructor. 47 * 48 * @author Eric Blake (ebb9@email.byu.edu) 49 * @since 1.2 50 * @status updated to 1.4 51 */ 52 public class AccessibleRole extends AccessibleBundle 53 { 54 /** The object alerts the user about something. */ 55 public static final AccessibleRole ALERT 56 = new AccessibleRole("alert"); 57 58 /** The header for a column of data. */ 59 public static final AccessibleRole COLUMN_HEADER 60 = new AccessibleRole("column header"); 61 62 /** 63 * The object can be drawn into, and traps events. 64 * 65 * @see #FRAME 66 * @see #GLASS_PANE 67 * @see #LAYERED_PANE 68 */ 69 public static final AccessibleRole CANVAS 70 = new AccessibleRole("canvas"); 71 72 /** 73 * A list of choices, which may optionally allow the user to create a new 74 * choice. 75 */ 76 public static final AccessibleRole COMBO_BOX 77 = new AccessibleRole("combo box"); 78 79 /** 80 * An iconified frame in a desktop. 81 * 82 * @see #DESKTOP_PANE 83 * @see #INTERNAL_FRAME 84 */ 85 public static final AccessibleRole DESKTOP_ICON 86 = new AccessibleRole("desktop icon"); 87 88 /** 89 * A frame-like object clipped by a desktop pane. 90 * 91 * @see #DESKTOP_ICON 92 * @see #DESKTOP_PANE 93 * @see #FRAME 94 */ 95 public static final AccessibleRole INTERNAL_FRAME 96 = new AccessibleRole("internal frame"); 97 98 /** 99 * A pane which supports internal frames and their icons. 100 * 101 * @see #DESKTOP_ICON 102 * @see #INTERNAL_FRAME 103 */ 104 public static final AccessibleRole DESKTOP_PANE 105 = new AccessibleRole("desktop pane"); 106 107 /** 108 * A specialized pane for use in a dialog. 109 * 110 * @see #DIALOG 111 */ 112 public static final AccessibleRole OPTION_PANE 113 = new AccessibleRole("option pane"); 114 115 /** 116 * A top level window with no title or border. 117 * 118 * @see #FRAME 119 * @see #DIALOG 120 */ 121 public static final AccessibleRole WINDOW 122 = new AccessibleRole("window"); 123 124 /** 125 * A top level window with title, menu bar, border, and so forth. It is 126 * often the primary window of an application. 127 * 128 * @see #DIALOG 129 * @see #CANVAS 130 * @see #WINDOW 131 */ 132 public static final AccessibleRole FRAME 133 = new AccessibleRole("frame"); 134 135 /** 136 * A top level window title bar and border. It is limited compared to a 137 * frame, and is often a secondary window. 138 * 139 * @see #FRAME 140 * @see #WINDOW 141 */ 142 public static final AccessibleRole DIALOG 143 = new AccessibleRole("dialog"); 144 145 /** A specialized dialog for choosing a color. */ 146 public static final AccessibleRole COLOR_CHOOSER 147 = new AccessibleRole("color chooser"); 148 149 /** 150 * A pane for navigating through directories. 151 * 152 * @see #FILE_CHOOSER 153 */ 154 public static final AccessibleRole DIRECTORY_PANE 155 = new AccessibleRole("directory pane"); 156 157 /** 158 * A specialized dialog that allows a user to select a file. 159 * 160 * @see #DIRECTORY_PANE 161 */ 162 public static final AccessibleRole FILE_CHOOSER 163 = new AccessibleRole("file chooser"); 164 165 /** An object to fill space between other components. */ 166 public static final AccessibleRole FILLER 167 = new AccessibleRole("filler"); 168 169 /** A hypertext anchor. */ 170 public static final AccessibleRole HYPERLINK 171 = new AccessibleRole("hyperlink"); 172 173 /** A small picture to decorate components. */ 174 public static final AccessibleRole ICON 175 = new AccessibleRole("icon"); 176 177 /** An object to label something in a graphic interface. */ 178 public static final AccessibleRole LABEL 179 = new AccessibleRole("label"); 180 181 /** 182 * A specialized pane with a glass pane and layered pane as children. 183 * 184 * @see #GLASS_PANE 185 * @see #LAYERED_PANE 186 */ 187 public static final AccessibleRole ROOT_PANE 188 = new AccessibleRole("root pane"); 189 190 /** 191 * A pane guaranteed to be painted on top of panes beneath it. 192 * 193 * @see #ROOT_PANE 194 * @see #LAYERED_PANE 195 */ 196 public static final AccessibleRole GLASS_PANE 197 = new AccessibleRole("glass pane"); 198 199 /** 200 * A specialized pane that allows drawing children in layers. This is often 201 * used in menus and other visual components. 202 * 203 * @see #ROOT_PANE 204 * @see #GLASS_PANE 205 */ 206 public static final AccessibleRole LAYERED_PANE 207 = new AccessibleRole("layered pane"); 208 209 /** 210 * An object which presents a list of items for selection. Often contained 211 * in a scroll pane. 212 * 213 * @see #SCROLL_PANE 214 * @see #LIST_ITEM 215 */ 216 public static final AccessibleRole LIST 217 = new AccessibleRole("list"); 218 219 /** 220 * An object which represents an item in a list. Often contained in a scroll 221 * pane. 222 * 223 * @see #SCROLL_PANE 224 * @see #LIST 225 */ 226 public static final AccessibleRole LIST_ITEM 227 = new AccessibleRole("list item"); 228 229 /** 230 * An object usually at the top of a frame to list available menus. 231 * 232 * @see #MENU 233 * @see #POPUP_MENU 234 * @see #LAYERED_PANE 235 */ 236 public static final AccessibleRole MENU_BAR 237 = new AccessibleRole("menu bar"); 238 239 /** 240 * A temporary window with a menu of options, which hides on selection. 241 * 242 * @see #MENU 243 * @see #MENU_ITEM 244 */ 245 public static final AccessibleRole POPUP_MENU 246 = new AccessibleRole("popup menu"); 247 248 /** 249 * An object usually in a menu bar which contains a list of actions to 250 * perform. Such actions are usually associated with menu items or submenus. 251 * 252 * @see #MENU_BAR 253 * @see #MENU_ITEM 254 * @see #SEPARATOR 255 * @see #RADIO_BUTTON 256 * @see #CHECK_BOX 257 * @see #POPUP_MENU 258 */ 259 public static final AccessibleRole MENU 260 = new AccessibleRole("menu"); 261 262 /** 263 * An object usually in a menu with an action available for the user. 264 * 265 * @see #MENU_BAR 266 * @see #SEPARATOR 267 * @see #POPUP_MENU 268 */ 269 public static final AccessibleRole MENU_ITEM 270 = new AccessibleRole("menu item"); 271 272 /** 273 * An object usually in a menu which separates logical sections of items. 274 * 275 * @see #MENU 276 * @see #MENU_ITEM 277 */ 278 public static final AccessibleRole SEPARATOR 279 = new AccessibleRole("separator"); 280 281 /** 282 * An object which presents a series of panels, usually via tabs along the 283 * top. Children are all page tabs. 284 * 285 * @see #PAGE_TAB 286 */ 287 public static final AccessibleRole PAGE_TAB_LIST 288 = new AccessibleRole("page tab list"); 289 290 /** 291 * An object in a page tab list, which contains the panel to display when 292 * selected from the list. 293 * 294 * @see #PAGE_TAB_LIST 295 */ 296 public static final AccessibleRole PAGE_TAB 297 = new AccessibleRole("page tab"); 298 299 /** A generic container to group objects. */ 300 public static final AccessibleRole PANEL 301 = new AccessibleRole("panel"); 302 303 /** An object used to track amount of a task that has completed. */ 304 public static final AccessibleRole PROGRESS_BAR 305 = new AccessibleRole("progress bar"); 306 307 /** An object for passwords which should not be shown to the user. */ 308 public static final AccessibleRole PASSWORD_TEXT 309 = new AccessibleRole("password text"); 310 311 /** 312 * An object that can be manipulated to do something. 313 * 314 * @see #CHECK_BOX 315 * @see #TOGGLE_BUTTON 316 * @see #RADIO_BUTTON 317 */ 318 public static final AccessibleRole PUSH_BUTTON 319 = new AccessibleRole("push button"); 320 321 /** 322 * A specialized button which can be on or off, with no separate indicator. 323 * 324 * @see #PUSH_BUTTON 325 * @see #CHECK_BOX 326 * @see #RADIO_BUTTON 327 */ 328 public static final AccessibleRole TOGGLE_BUTTON 329 = new AccessibleRole("toggle button"); 330 331 /** 332 * A choice which can be on or off, and has a separate indicator. 333 * 334 * @see #PUSH_BUTTON 335 * @see #TOGGLE_BUTTON 336 * @see #RADIO_BUTTON 337 */ 338 public static final AccessibleRole CHECK_BOX 339 = new AccessibleRole("check box"); 340 341 /** 342 * A specialized choice which toggles radio buttons in the group when it 343 * is selected. 344 * 345 * @see #PUSH_BUTTON 346 * @see #TOGGLE_BUTTON 347 * @see #CHECK_BOX 348 */ 349 public static final AccessibleRole RADIO_BUTTON 350 = new AccessibleRole("radio button"); 351 352 /** The header for a row of data. */ 353 public static final AccessibleRole ROW_HEADER 354 = new AccessibleRole("row header"); 355 356 /** 357 * An object which allows an incremental view of a larger pane. 358 * 359 * @see #SCROLL_BAR 360 * @see #VIEWPORT 361 */ 362 public static final AccessibleRole SCROLL_PANE 363 = new AccessibleRole("scroll pane"); 364 365 /** 366 * An object which allows selection of the view in a scroll pane. 367 * 368 * @see #SCROLL_PANE 369 */ 370 public static final AccessibleRole SCROLL_BAR 371 = new AccessibleRole("scroll bar"); 372 373 /** 374 * An object which represents the visual section in a scroll pane. 375 * 376 * @see #SCROLL_PANE 377 */ 378 public static final AccessibleRole VIEWPORT 379 = new AccessibleRole("viewport"); 380 381 /** An object which allows selection in a bounded range. */ 382 public static final AccessibleRole SLIDER 383 = new AccessibleRole("slider"); 384 385 /** 386 * A specialized pane which presents two other panels, and can often adjust 387 * the divider between them. 388 */ 389 public static final AccessibleRole SPLIT_PANE 390 = new AccessibleRole("split pane"); 391 392 /** An object for presenting data in rows and columns. */ 393 public static final AccessibleRole TABLE 394 = new AccessibleRole("table"); 395 396 /** 397 * An object which represents text, usually editable by the user. 398 * 399 * @see #LABEL 400 */ 401 public static final AccessibleRole TEXT 402 = new AccessibleRole("text"); 403 404 /** 405 * An object which represents a hierachical view of data. Subnodes can 406 * often be expanded or collapsed. 407 */ 408 public static final AccessibleRole TREE 409 = new AccessibleRole("tree"); 410 411 /** A bar or pallete with buttons for common actions in an application. */ 412 public static final AccessibleRole TOOL_BAR 413 = new AccessibleRole("tool bar"); 414 415 /** 416 * An object which provides information about another object. This is often 417 * displayed as a "help bubble" when a mouse hovers over the other object. 418 */ 419 public static final AccessibleRole TOOL_TIP 420 = new AccessibleRole("tool tip"); 421 422 /** 423 * An AWT component with nothing else known about it. 424 * 425 * @see #SWING_COMPONENT 426 * @see #UNKNOWN 427 */ 428 public static final AccessibleRole AWT_COMPONENT 429 = new AccessibleRole("AWT component"); 430 431 /** 432 * A swing component with nothing else known about it. 433 * 434 * @see #AWT_COMPONENT 435 * @see #UNKNOWN 436 */ 437 public static final AccessibleRole SWING_COMPONENT 438 = new AccessibleRole("SWING component"); 439 440 /** 441 * An accessible object whose role is unknown. 442 * 443 * @see #AWT_COMPONENT 444 * @see #SWING_COMPONENT 445 */ 446 public static final AccessibleRole UNKNOWN 447 = new AccessibleRole("unknown"); 448 449 /** A component with multiple labels of status information. */ 450 public static final AccessibleRole STATUS_BAR 451 = new AccessibleRole("statusbar"); 452 453 /** A component which allows editing of Date and Time objects. */ 454 public static final AccessibleRole DATE_EDITOR 455 = new AccessibleRole("dateeditor"); 456 457 /** A component with spinner arrows for simple numbers. */ 458 public static final AccessibleRole SPIN_BOX 459 = new AccessibleRole("spinbox"); 460 461 /** A component for choosing fonts and their attributes. */ 462 public static final AccessibleRole FONT_CHOOSER 463 = new AccessibleRole("fontchooser"); 464 465 /** A component with a border to group other components. */ 466 public static final AccessibleRole GROUP_BOX 467 = new AccessibleRole("groupbox"); 468 469 /** 470 * A formula for creating a value. 471 * 472 * @since 1.5 473 */ 474 public static final AccessibleRole EDITBAR 475 = new AccessibleRole("editbar"); 476 477 /** 478 * A text-based footer. 479 * 480 * @since 1.5 481 */ 482 public static final AccessibleRole FOOTER 483 = new AccessibleRole("footer"); 484 485 /** 486 * A text-based header. 487 * 488 * @since 1.5 489 */ 490 public static final AccessibleRole HEADER 491 = new AccessibleRole("header"); 492 493 494 /** 495 * A text-based paragraph. 496 * 497 * @since 1.5 498 */ 499 public static final AccessibleRole PARAGRAPH 500 = new AccessibleRole("paragraph"); 501 502 /** 503 * Represents the current level of progress on a particular task. 504 * 505 * @since 1.5 506 */ 507 public static final AccessibleRole PROGRESS_MONITOR 508 = new AccessibleRole("progress monitor"); 509 510 /** 511 * A ruler is a method of measuring the distance between two 512 * points. 513 * 514 * @since 1.5 515 */ 516 public static final AccessibleRole RULER 517 = new AccessibleRole("ruler"); 518 519 /** 520 * A HTML container is an accessible object which contains other 521 * accessible objects that together form some HTML content. For example, 522 * the content may be a sequence of text containing a link, which 523 * would be represent as two children, one an {@link AccessibleText} 524 * object holding the normal text and the other an 525 * {@link AccessibleHypertext} object representing the link. 526 * 527 * @since 1.6 528 */ 529 public static final AccessibleRole HTML_CONTAINER 530 = new AccessibleRole("HTML container"); 531 532 /** 533 * Create a new constant with a locale independent key. Follow the example, 534 * keep the constructor private and make public constants instead. 535 * 536 * @param key the name of the role 537 * @see #toDisplayString(String, Locale) 538 */ AccessibleRole(String key)539 protected AccessibleRole(String key) 540 { 541 this.key = key; 542 } 543 } // class AccessibleRole 544