re: Techniques for 2.1

The following is a slight update to my original proposal.

I have essentially an unprioritised list of checkpoints, in six very
arbitrary groups. Since this is esentially techniques material about things
that ought to be done I don't see there is a problem unless something in
there is wrong, or there is something missing. So here are my proposed
techniques for guideline 2.1:

Standards:

* Draw text and objects using system conventions
* Make mouse, keyboard, and API activation of events consistent
* Provide a User Interface which is "familiar" (system conventions, or
application type conventions)
* Use system standard indirections wherever possible
* Ensure all dialogs, subwindows, etc. meet the same standards as the main
application interface
* Avoid blocking assistive technology functions (sticky/mouse keys,
screenreader controls, etc) where possible

Configurability:

* Allow users to create profiles
* Allow control of timing, colors, sizes, input/output devices and media
* Allow users to reshape the user interface - customise toolbars,
keyboard commands, etc

Input Device Independence:

* Provide Keyboard access to all functions
* Document all keyboard bindings
* Provide customizable keyboard shortcuts for common functions
* Provide logical navigation order for the keyboard interface.
* Avoid repetitive keying wherever possible
* Provide mouse access to functions where possible

Icons, Graphics, Sounds:

* Provide visual (text) equivalents for sound warnings
* Allow sounds to be turned off
* Provide text equivalents for images/icons
* Use customizable (or removable) colours/patterns
* Ensure high contrast is available (as default setting)
* Provide text equivalents for all audio
* Use icons which are resizeable or available in multiple sizes

Layout:

* Do not rely on color alone for meaning. Use color for differentiation,
in combination with acessible cues (text equivalents, natural language,
etc)
* Position related text labels and objects consistently, and in an
obvious manner (labels before objects  is recommended)
* Group related controls
* Ensure default window sizes fit in screen
* Allow for window resizing (very small to very large)

User Focus:

* Clearly identify the user focus (and expose it via API)
* Moving the focus should not cause unexpected events
* Allow user control of timing - delays, time-dependent response, etc
* Allow for navigation between as well as within windows

Received on Tuesday, 1 June 1999 19:28:47 UTC