platform-ui-home/accessibility/tips.html
Parent Directory
|
Revision Log
Revision 1.1 - (view) (download) (as text)
| 1 : | tod | 1.1 | |
| 2 : | <html> | ||
| 3 : | <head> | ||
| 4 : | <title>UI Component Development Resources for Accessibility</title> | ||
| 5 : | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 6 : | <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css"> | ||
| 7 : | </head> | ||
| 8 : | <body> | ||
| 9 : | <h1>Tips For Making User Interfaces Accessible </h1> | ||
| 10 : | <p>Below is a series of tips for making something usable to the IAccessibility | ||
| 11 : | interface provided by Windows. </p> | ||
| 12 : | <p>1) Use Groups instead of Labels </p> | ||
| 13 : | <blockquote> | ||
| 14 : | <p>If you use a Label to title a group of related widgets remove the label and | ||
| 15 : | replace thier parent composite with a Group whose text is the same as the | ||
| 16 : | title Label. </p> | ||
| 17 : | </blockquote> | ||
| 18 : | <p>2) Avoid intermediate Composites. </p> | ||
| 19 : | <blockquote> | ||
| 20 : | <p>IAccessibility tools will read as far up the parent hierarchy of a widget | ||
| 21 : | with focus as there are widgets to read. Be sure there are no widgets without | ||
| 22 : | text anywhere in the tree. </p> | ||
| 23 : | </blockquote> | ||
| 24 : | <p>3) Use Read Only Texts instead of Labels </p> | ||
| 25 : | <blockquote> | ||
| 26 : | <p>A text can be accessed using the keyboard and should be used if you want | ||
| 27 : | the information in a label to be accessible to keyboard navigation. Please | ||
| 28 : | note that a label beside a text will be treated as a title and so if you have | ||
| 29 : | a title:value pair you wish to show it is only required that you make the | ||
| 30 : | value widget a Text. </p> | ||
| 31 : | </blockquote> | ||
| 32 : | <p>4) <font COLOR="#000000"> Read and understand the IBM checklist. | ||
| 33 : | http://www-3.ibm.com/able/accesssoftware.html</font> </p> | ||
| 34 : | <p><font COLOR="#000000">5) Assign mnemonics to all menus and menu items.</font></p> | ||
| 35 : | <blockquote> | ||
| 36 : | <p>E<font COLOR="#000000">nsure they are unique within a given menu. If a menu | ||
| 37 : | is dynamically composed from multiple plugins, it may be better to not assign | ||
| 38 : | mnemonics since conflicts cannot be avoided in general (e.g. the File / New | ||
| 39 : | list, or Perspective / Show View list)</font></p> | ||
| 40 : | </blockquote> | ||
| 41 : | <p><font COLOR="#000000"> 6) Assign mnemonics to all labels of controls in | ||
| 42 : | dialogs / preference pages / property pages (e.g. buttons, checkboxes, radio | ||
| 43 : | buttons, etc)</font></p> | ||
| 44 : | <p><font COLOR="#000000">Ensure they are unique within the dialog. Be careful to | ||
| 45 : | avoid collisions with the default buttons (e.g. Restore &Defaults, | ||
| 46 : | &Apply in preference pages; &Next, &Back, &Finish in wizards). | ||
| 47 : | Do not assign mnemonics to OK and Cancel buttons. If you make OK the default | ||
| 48 : | button of the shell, and Cancel is equivalent to closing the shell, then Enter | ||
| 49 : | and Esc map to these by default. Generally doing something with Esc or Enter is | ||
| 50 : | a bad idea. </font></p> | ||
| 51 : | <p><font color="#000000">7) </font>I<font COLOR="#000000">f a control does not | ||
| 52 : | have its own label (e.g. a text field), use a preceeding label ending with ':' | ||
| 53 : | and assign a mnemonic to it. Screen readers like JAWS will read this label | ||
| 54 : | when the control has focus (e.g. see Workbench / Preferences / Workbench)</font></p> | ||
| 55 : | <p><font COLOR="#000000">8) Avoid extra freestanding labels as you cannot | ||
| 56 : | navigate to them with the keyboard and screen readers like JAWS skip these since | ||
| 57 : | they don't take focus</font></p> | ||
| 58 : | <p><font COLOR="#000000">9) Do not assign mnemonics on controls in the main | ||
| 59 : | window (other than main menus and main menu items), even if it looks like a | ||
| 60 : | dialog (e.g. the form editors in WSAD) as these will usually conflict with menu | ||
| 61 : | mnemonics</font></p> | ||
| 62 : | <p><font COLOR="#000000">10) Assign shortcut keys for frequently used functions | ||
| 63 : | (and -only- frequently used functions).</font></p> | ||
| 64 : | <blockquote> | ||
| 65 : | <p><font COLOR="#000000">There are currently only two ways to hook shortcut | ||
| 66 : | keys in SWT:</font></p> | ||
| 67 : | <ul> | ||
| 68 : | <li><font COLOR="#000000">by setting an accelerator on a menu item in the | ||
| 69 : | main menubar (they are ignored in context menus)- JFace actions have | ||
| 70 : | support for this</font></li> | ||
| 71 : | <li><font COLOR="#000000">by hooking a key listener on a particular control | ||
| 72 : | (e.g. in the implementation of a view or editor)</font></li> | ||
| 73 : | </ul> | ||
| 74 : | <p><font COLOR="#000000">Consult the table of Eclipse SDK shortcut keys | ||
| 75 : | (available off of eclipse.org -> Projects -> Eclipse Project -> | ||
| 76 : | Platform -> UI -> Development Resources -> Accessibility) to avoid | ||
| 77 : | collision.</font></p> | ||
| 78 : | </blockquote> | ||
| 79 : | <p><font COLOR="#000000">12) Avoid Alt+{key} combinations since they may | ||
| 80 : | conflict with menu mnemonics</font></p> | ||
| 81 : | <p><font COLOR="#000000">13) Avoid Ctrl+Alt+{key} combinations since they often | ||
| 82 : | conflict with entering special characters on international keyboards (alt Gr = | ||
| 83 : | Ctrl+Alt)</font></p> | ||
| 84 : | <p><font COLOR="#000000">14) Avoid Ctrl+Space+{key} combinations since | ||
| 85 : | Ctrl-Space is used for mode switching in Asian languages.</font></p> | ||
| 86 : | <p><font COLOR="#000000">15) Try to save navigation context.</font></p> | ||
| 87 : | <blockquote> | ||
| 88 : | <p><font COLOR="#000000">e.g. in Workbench / Preferences, we now remember | ||
| 89 : | which page you had selected last. This avoids having to navigate through the | ||
| 90 : | list each time</font></p> | ||
| 91 : | </blockquote> | ||
| 92 : | <p><font color="#000000">16) Assign a specific person on the team to be | ||
| 93 : | responsible for accessibility on your project.</font></p> | ||
| 94 : | <p><font color="#000000">17) Test for accessibility.</font></p> | ||
| 95 : | <blockquote> | ||
| 96 : | <p><font color="#000000">Have your team hold an occasional "unplug your | ||
| 97 : | mouse day" where they try to use the product using keyboard only. Get a | ||
| 98 : | copy of JAWS (http://www.freedomscientific.com/) and ensure that your UI is | ||
| 99 : | usable with it</font></p> | ||
| 100 : | </blockquote> | ||
| 101 : | </body> |
| help@eclipse.org | ViewVC Help |
| Powered by ViewVC 1.0.3 |
