Blame accessibility-devel-guide/C/gtest.xml

Packit 1470ea
<chapter id="gtest" status="draft">
Packit 1470ea
<title>Testing</title>
Packit 1470ea
<para>
Packit 1470ea
There are several points of review to conduct before declaring an application accessible. Over the course of development you may want to consider automated testing techniques. <ulink url="http://ldtp.freedesktop.org/">LDTP</ulink>, for example, may complement your automated testing plan.
Packit 1470ea
</para>
Packit 1470ea
<para>
Packit 1470ea
This section describes a number of tests you can perform manually on an application to test its accessibility. Passing all the tests does not necessarily imply that the application is fully accessible, but if the application fails any of these tests, then further work may need to be done to improve that aspect of its accessibility.
Packit 1470ea
</para>
Packit 1470ea
Packit 1470ea
<section>
Packit 1470ea
<title>Keyboard Navigation</title>
Packit 1470ea
<para>
Packit 1470ea
The following keyboard operations should be tested. Do not use the mouse in any part of this test.
Packit 1470ea
</para>
Packit 1470ea
<itemizedlist>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Using only keyboard commands, move the focus through all menu bars in the application.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>Confirm that:</para>
Packit 1470ea
<itemizedlist>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Context sensitive menus display correctly.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Any functions listed on the toolbar can be performed using the keyboard.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
You can operate every control in the client area of the application and dialog boxes.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Text and objects within the client area can be selected.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Any keyboard enhancements or shortcuts are working as designed.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
</itemizedlist>
Packit 1470ea
</listitem>
Packit 1470ea
</itemizedlist>
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
<section>
Packit 1470ea
<title>Graphical Elements</title>
Packit 1470ea
<para>
Packit 1470ea
Test the application using a screen reader and confirm that:
Packit 1470ea
</para>
Packit 1470ea
<itemizedlist>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Labels and text are being read correctly, including menus and toolbars.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Object information is read correctly.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
</itemizedlist>
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
<section>
Packit 1470ea
<title>Visual Focus Indicator</title>
Packit 1470ea
<itemizedlist>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Verify that when moving among objects that the visual focus indicator is easy to identify.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Keyboard navigation through the software and menus should be clearly visible when the focus moves.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Confirm that the screen reader is tracking the visual focus indicator as you navigate using a keyboard.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Run a screen magnification program (if available) and verify that the magnifier can track the visual focus indicator as you navigate using the keyboard and mouse.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
</itemizedlist>
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
<section>
Packit 1470ea
<title>Fonts and Text</title>
Packit 1470ea
<itemizedlist>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Change the font in the application and confirm that the settings are maintained.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Test the application by changing colors and confirm that all settings are maintained.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
If magnification is available, test the font, color, and size using the magnification option.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
</itemizedlist>
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
<section>
Packit 1470ea
<title>Color and Contrast</title>
Packit 1470ea
<itemizedlist>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Print screenshots to a black and white printer and confirm that all information is visible.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Test applications using only black and white, high-contrast settings and confirm that all information is conveyed correctly.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Test that the application provides at least three combinations of color schemes and that high-contrast schemes are available (e.g. white on black or yellow on blue).
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Turn on high-contrast settings in the GNOME Control Center and confirm that the application respects these settings.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Test various themes to ensure that the software is working for all the available settings.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
</itemizedlist>
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
<section>
Packit 1470ea
<title>Audio</title>
Packit 1470ea
<para>
Packit 1470ea
There should be an option in the application to show audio alerts visually.
Packit 1470ea
</para>
Packit 1470ea
<para>
Packit 1470ea
Test that the audio is working correctly by enabling sound in the GNOME Control Center and then perform the following actions:
Packit 1470ea
</para>
Packit 1470ea
<itemizedlist>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Perform an action that should generate an audio alert and confirm that the application is working as designed.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Verify that the application works correctly when increasing or decreasing the volume.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Confirm that warning messages and alerts can be heard correctly in a noisy work environment.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
</itemizedlist>
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
<section>
Packit 1470ea
<title>Animation</title>
Packit 1470ea
<para>
Packit 1470ea
Verify that an option is available to stop animation and that it is working as designed.
Packit 1470ea
</para>
Packit 1470ea
<para>
Packit 1470ea
Turn the animation off. Confirm that all information is still conveyed correctly.
Packit 1470ea
</para>
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
<section>
Packit 1470ea
<title>Keyboard Focus</title>
Packit 1470ea
<itemizedlist>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Test all messages to confirm that the user is notified before a message times out and is given the option to indicate that more time is needed.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Make sure an option has been included to adjust the response time and confirm that it is working as designed.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
</itemizedlist>
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
<section>
Packit 1470ea
<title>Documentation</title>
Packit 1470ea
<para>
Packit 1470ea
Test ASCII text documentation with a screen reader to confirm that it is clear and precise and can be read by assistive technologies.
Packit 1470ea
</para>
Packit 1470ea
<para>
Packit 1470ea
Test HTML applications using a web browser and screen reader to confirm that the documentation is accessible to assistive technologies.
Packit 1470ea
</para>
Packit 1470ea
<para>
Packit 1470ea
Note: There are web accessibility guidelines available at <ulink url="http://www.w3.org/TR/WAI-WEBCONTENT/">http://www.w3.org/TR/WAI-WEBCONTENT/</ulink>.
Packit 1470ea
</para>
Packit 1470ea
<para>
Packit 1470ea
Confirm the following information is included in the documentation:
Packit 1470ea
</para>
Packit 1470ea
<itemizedlist>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
State if the application does not support the standard keyboard access used by the OS.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Identify if there are unique keyboard commands.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
Identify any unique accessibility features.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
<listitem>
Packit 1470ea
<para>
Packit 1470ea
If an action is documented for the mouse, make sure there is an alternative for using the keyboard.
Packit 1470ea
</para>
Packit 1470ea
</listitem>
Packit 1470ea
</itemizedlist>
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
<section id="gad-checklist">
Packit 1470ea
<title>User Interface Checklist</title>
Packit 1470ea
<para>
Packit 1470ea
This section summarizes the guidelines given in <link linkend="gad-ui-guidelines">User Interface Guidelines for Supporting Accessibility</link>. You should refer to that section of the guide for more detailed information on any of the checklist items given here.
Packit 1470ea
</para>
Packit 1470ea
<para>
Packit 1470ea
When testing an application for accessibility, you should go through each of the items in the list. Note whether the application passes or fails each test, or does not apply to that application.
Packit 1470ea
</para>
Packit 1470ea
Packit 1470ea
<title>General Principles checklist</title>
Packit 1470ea
<tgroup cols="3" align="left">
Packit 1470ea
Packit 1470ea
<row>
Packit 1470ea
<entry>GP</entry>
Packit 1470ea
<entry>General Principles</entry>
Packit 1470ea
<entry>Pass/Fail/NA</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<row>
Packit 1470ea
<entry>GP.1</entry>
Packit 1470ea
<entry>
Packit 1470ea
Every action that alters the user's data or application's settings can be undone.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row>
Packit 1470ea
<entry>GP.2</entry>
Packit 1470ea
<entry>
Packit 1470ea
All application settings can be restored to their defaults without the user having to remember what those defaults were.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row>
Packit 1470ea
<entry>GP.3</entry>
Packit 1470ea
<entry>
Packit 1470ea
After installation, the application can be used without the user having to insert a disk or CD at any time.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>GP.4</entry>
Packit 1470ea
<entry>
Packit 1470ea
The most frequently used functions are found at the top level of the menu structure.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
</tgroup>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<title>Keyboard navigation checklist</title>
Packit 1470ea
<tgroup cols="3" align="left">
Packit 1470ea
Packit 1470ea
<row>
Packit 1470ea
<entry>KN</entry>
Packit 1470ea
<entry>Keyboard Navigation</entry>
Packit 1470ea
<entry>Pass/Fail/NA</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<row>
Packit 1470ea
<entry>KN.1</entry>
Packit 1470ea
<entry>Efficient keyboard access is provided to all application features.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row>
Packit 1470ea
<entry>KN.2</entry>
Packit 1470ea
<entry>All windows have a logical keyboard navigation order.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KN.3</entry>
Packit 1470ea
<entry>
Packit 1470ea
The correct tab order is used for controls whose enabled state is dependent on checkboxes, radio buttons or toggle buttons.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KN.4</entry>
Packit 1470ea
<entry>
Packit 1470ea
Keyboard access to application-specific functions does not override existing system accessibility features.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KN.5</entry>
Packit 1470ea
<entry>
Packit 1470ea
The application provides more than one method to perform keyboard tasks whenever possible.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KN.6</entry>
Packit 1470ea
<entry>
Packit 1470ea
There are alternative key combinations wherever possible.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KN.7</entry>
Packit 1470ea
<entry>
Packit 1470ea
There are no awkward reaches for frequently performed keyboard operations.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KN.8</entry>
Packit 1470ea
<entry>
Packit 1470ea
The application does not use repetitive, simultaneous keypresses.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KN.9</entry>
Packit 1470ea
<entry>
Packit 1470ea
The application provides keyboard equivalents for all mouse functions.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KN.10</entry>
Packit 1470ea
<entry>
Packit 1470ea
Any text or object that can be selected with the mouse can also be selected with the keyboard alone.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KN.11</entry>
Packit 1470ea
<entry>
Packit 1470ea
Any object that can be resized or moved with the mouse can also be resized or moved with the keyboard alone.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KN.12</entry>
Packit 1470ea
<entry>
Packit 1470ea
The application does not use any general navigation functions to trigger operations.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KN.13</entry>
Packit 1470ea
<entry>
Packit 1470ea
All keyboard-invoked menus, windows and tooltips appear near the object they relate to.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
</tgroup>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<title>Mouse Interaction checklist</title>
Packit 1470ea
<tgroup cols="3" align="left">
Packit 1470ea
Packit 1470ea
<row>
Packit 1470ea
<entry>MI</entry>
Packit 1470ea
<entry>Mouse Interaction</entry>
Packit 1470ea
<entry>Pass/Fail/NA</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<row><entry>MI.1</entry>
Packit 1470ea
<entry>No operations depend on input from the <mousebutton>right</mousebutton> or <mousebutton>middle</mousebutton> mouse buttons.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>MI.2</entry>
Packit 1470ea
<entry>All mouse operations can be cancelled before they are complete.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>MI.3</entry>
Packit 1470ea
<entry>
Packit 1470ea
Visual feedback is provided throughout drag and drop operations
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>MI.4</entry>
Packit 1470ea
<entry>
Packit 1470ea
The mouse pointer is never warped under application control, or its movement restricted to part of the screen by the application.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
</tgroup>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<title>Graphical Elements checklist</title>
Packit 1470ea
<tgroup cols="3" align="left">
Packit 1470ea
Packit 1470ea
<row>
Packit 1470ea
<entry>GE</entry>
Packit 1470ea
<entry>Graphical Elements</entry>
Packit 1470ea
<entry>Pass/Fail/NA</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<row><entry>GE.1</entry>
Packit 1470ea
<entry>
Packit 1470ea
There are no hard-coded graphical attributes such as line, border or shadow thickness.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>GE.2</entry>
Packit 1470ea
<entry>
Packit 1470ea
All multi-color graphical elements can be shown in monochrome only, where possible.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>GE.3</entry>
Packit 1470ea
<entry>
Packit 1470ea
All interactive GUI elements are easily distinguishable from static GUI elements.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>GE.4</entry>
Packit 1470ea
<entry>
Packit 1470ea
An option to hide non-essential graphics is provided.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
</tgroup>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<title>Fonts and Text checklist</title>
Packit 1470ea
<tgroup cols="3" align="left">
Packit 1470ea
Packit 1470ea
<row>
Packit 1470ea
<entry>FT</entry>
Packit 1470ea
<entry>Fonts and Text</entry>
Packit 1470ea
<entry>Pass/Fail/NA</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<row><entry>FT.1</entry>
Packit 1470ea
<entry>No font styles or sizes are hard-coded.</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>FT.2</entry>
Packit 1470ea
<entry>
Packit 1470ea
An option to turn off graphical backdrops behind text is provided.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>FT.3</entry>
Packit 1470ea
<entry>
Packit 1470ea
All labels have names that make sense when taken out of context.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>FT.4</entry>
Packit 1470ea
<entry>
Packit 1470ea
No label names are used more than once in the same window.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>FT.5</entry>
Packit 1470ea
<entry>
Packit 1470ea
Label positioning is consistent throughout the application.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>FT.6</entry>
Packit 1470ea
<entry>
Packit 1470ea
All static text labels that identify other controls end in a colon (:).
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>FT.7</entry>
Packit 1470ea
<entry>
Packit 1470ea
Static text labels that identify other controls immediately precede those controls in the tab order.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>FT.8</entry>
Packit 1470ea
<entry>
Packit 1470ea
An alternative to WYSIWYG is provided. For example, the ability to specify different screen and printer fonts in a text editor.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
</tgroup>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<title>Color and Contrast checklist</title>
Packit 1470ea
<tgroup cols="3" align="left">
Packit 1470ea
Packit 1470ea
<row>
Packit 1470ea
<entry>CC</entry>
Packit 1470ea
<entry>Color and Contrast</entry>
Packit 1470ea
<entry>Pass/Fail/NA</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<row><entry>CC.1</entry>
Packit 1470ea
<entry>
Packit 1470ea
Application colors are not hard-coded, but are drawn either from the current desktop theme or an application setting.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>CC.2</entry>
Packit 1470ea
<entry>
Packit 1470ea
Color is only used as an enhancement, and not as the only means to convey information or actions.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row>
Packit 1470ea
<entry>CC.3</entry>
Packit 1470ea
<entry>
Packit 1470ea
The application supports all available high- contrast themes and settings.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>CC.4</entry>
Packit 1470ea
<entry>
Packit 1470ea
The software is not dependent on any particular high-contrast themes or settings.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
</tgroup>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<title>Magnification checklist</title>
Packit 1470ea
<tgroup cols="3" align="left">
Packit 1470ea
Packit 1470ea
<row>
Packit 1470ea
<entry>MG</entry>
Packit 1470ea
<entry>Magnification</entry>
Packit 1470ea
<entry>Pass/Fail/NA</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<row><entry>MG.1</entry>
Packit 1470ea
<entry>
Packit 1470ea
The application provides the ability to magnify the work area.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>MG.2</entry>
Packit 1470ea
<entry>
Packit 1470ea
The application provides the option to scale the work area.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>MG.3</entry>
Packit 1470ea
<entry>
Packit 1470ea
The application's functionality is not affected by changing the magnification or scale settings.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
</tgroup>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<title>Audio checklist</title>
Packit 1470ea
<tgroup cols="3" align="left">
Packit 1470ea
Packit 1470ea
<row>
Packit 1470ea
<entry>AU</entry>
Packit 1470ea
<entry>Audio</entry>
Packit 1470ea
<entry>Pass/Fail/NA</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<row><entry>AU.1</entry>
Packit 1470ea
<entry>
Packit 1470ea
Sound is not used as the only means of conveying any items of information.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>AU.2</entry>
Packit 1470ea
<entry>
Packit 1470ea
The user can configure the frequency and volume of all sounds and warning beeps.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
</tgroup>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<title>Animation checklist</title>
Packit 1470ea
<tgroup cols="3" align="left">
Packit 1470ea
Packit 1470ea
<row>
Packit 1470ea
<entry>AN</entry>
Packit 1470ea
<entry>Animation</entry>
Packit 1470ea
<entry>Pass/Fail/NA</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<row><entry>AN.1</entry>
Packit 1470ea
<entry>
Packit 1470ea
There are no flashing or blinking elements with a frequency greater than 2Hz or lower than 55Hz.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>AN.2</entry>
Packit 1470ea
<entry>
Packit 1470ea
Any flashing or blinking is confined to small areas of the screen.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>AN.3</entry>
Packit 1470ea
<entry>
Packit 1470ea
If animation is used, an option is available to turn it off before it is first shown.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
</tgroup>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<title>Keyboard Focus checklist</title>
Packit 1470ea
<tgroup cols="3" align="left">
Packit 1470ea
Packit 1470ea
<row>
Packit 1470ea
<entry>KF</entry>
Packit 1470ea
<entry>Keyboard Focus</entry>
Packit 1470ea
<entry>Pass/Fail/NA</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<row><entry>KF.1</entry>
Packit 1470ea
<entry>
Packit 1470ea
When a window is opened, focus starts at the most commonly-used control.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KF.2</entry>
Packit 1470ea
<entry>
Packit 1470ea
Current input focus position is clearly displayed at all times.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KF.3</entry>
Packit 1470ea
<entry>
Packit 1470ea
Input focus is shown in exactly one window at all times.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KF.4</entry>
Packit 1470ea
<entry>
Packit 1470ea
Appropriate audio or visual feedback is provided when the user attempts to navigate past either end of a group of related objects.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KF.5</entry>
Packit 1470ea
<entry>
Packit 1470ea
The default audio or visual warning signal is played when the user presses an inappropriate key.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KF.6</entry>
Packit 1470ea
<entry>
Packit 1470ea
There is sufficient audio information for the visual focus that the user can figure out what to do next.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>KF.7</entry>
Packit 1470ea
<entry>
Packit 1470ea
When using assistive technologies, such as a screen reader or braille device, the current program indicates the position and content of the visual focus indicator.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
</tgroup>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<title>Timing checklist</title>
Packit 1470ea
<tgroup cols="3" align="left">
Packit 1470ea
Packit 1470ea
<row>
Packit 1470ea
<entry>TM</entry>
Packit 1470ea
<entry>Timing</entry>
Packit 1470ea
<entry>Pass/Fail/NA</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<row><entry>TM.1</entry>
Packit 1470ea
<entry>
Packit 1470ea
There are no hard-coded time-outs or time-based features in the application.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>TM.2</entry>
Packit 1470ea
<entry>
Packit 1470ea
The display or hiding of important information is not triggered solely by movement of the mouse pointer.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
</tgroup>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<title>Documentation checklist</title>
Packit 1470ea
<tgroup cols="3" align="left">
Packit 1470ea
Packit 1470ea
<row>
Packit 1470ea
<entry>DC</entry>
Packit 1470ea
<entry>Documentation</entry>
Packit 1470ea
<entry>Pass/Fail/NA</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
Packit 1470ea
<row><entry>DC.1</entry>
Packit 1470ea
<entry>
Packit 1470ea
All documentation is in an accessible format, with textual alternate descriptions provided for all figures and diagrams.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
<row><entry>DC.2</entry>
Packit 1470ea
<entry>
Packit 1470ea
The documentation includes a section that covers all the application's accessibility features.
Packit 1470ea
</entry>
Packit 1470ea
</row>
Packit 1470ea
Packit 1470ea
</tgroup>
Packit 1470ea
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
<section>
Packit 1470ea
<title>GOK (GNOME Onscreen Keyboard)</title>
Packit 1470ea
<note>
Packit 1470ea
<para>
Packit 1470ea
The information on this page is partially outdated: GNOME 3's <application><ulink url="http://wiki.gnome.org/Caribou">Caribou</ulink></application> has effectively replaced GNOME 2's <application>gok</application>.
Packit 1470ea
</para>
Packit 1470ea
</note>
Packit 1470ea
Packit 1470ea
<para>
Packit 1470ea
Your application should be usable via <application>gok</application>; key input should be generated entirely by <application>gok</application>, not the keyboard. The aim here would be to work with your application and the desktop in general, ensuring any type of character input can be performed with the on-screen keyboard.
Packit 1470ea
</para>
Packit 1470ea
<para>
Packit 1470ea
The <application>gok</application> application ships with the GNOME Desktop so should already be present. For full documentation, refer to <ulink url="http://www.gok.ca">the official gok site</ulink>.
Packit 1470ea
</para>
Packit 1470ea
<para>
Packit 1470ea
Follow these steps to verify the correct operation of <application>gok</application> with your application:
Packit 1470ea
</para>
Packit 1470ea
<procedure>
Packit 1470ea
<step>
Packit 1470ea
<para>
Packit 1470ea
Login into the GNOME desktop
Packit 1470ea
</para>
Packit 1470ea
</step>
Packit 1470ea
<step>
Packit 1470ea
<para>
Packit 1470ea
Run <application>gok</application>
Packit 1470ea
</para>
Packit 1470ea
</step>
Packit 1470ea
<step>
Packit 1470ea
<para>
Packit 1470ea
Start your application
Packit 1470ea
</para>
Packit 1470ea
</step>
Packit 1470ea
<step>
Packit 1470ea
<para>
Packit 1470ea
Provide input to your application with a pointing device (e.g., mouse or head-tracker) and <application>gok</application>.
Packit 1470ea
</para>
Packit 1470ea
</step>
Packit 1470ea
<step>
Packit 1470ea
<para>
Packit 1470ea
Work using the auto-completion and word prediction features of <application>gok</application>.
Packit 1470ea
</para>
Packit 1470ea
</step>
Packit 1470ea
<step>
Packit 1470ea
<para>
Packit 1470ea
Verify that <application>gok</application> enables and disables the <guibutton>Menus</guibutton> and <guibutton>Toolbars</guibutton> buttons based on the kind of application invoked; for example, the <guibutton>Menus</guibutton> and <guibutton>Toolbars</guibutton> buttons are disabled for the 'Font properties' capplet, but the same buttons are enabled for the <application>Gedit</application> application.
Packit 1470ea
</para>
Packit 1470ea
</step>
Packit 1470ea
<step>
Packit 1470ea
<para>
Packit 1470ea
Verify that the <application>gok</application> on-screen keyboard provided by the <guibutton>Compose</guibutton> button can be used to type in any text for the selected application; run <application>Gedit</application>, click on the text area, and then click on the <guibutton>Compose</guibutton> button in <application>gok</application>. Select the required keys from the on-screen keyboard. The characters should appear in the <application>Gedit</application> text area.
Packit 1470ea
</para>
Packit 1470ea
</step>
Packit 1470ea
<step>
Packit 1470ea
<para>
Packit 1470ea
Verify that the <guibutton>Launcher</guibutton> button allows the user to launch any of the <application>Terminal</application>, <application>Web Browser</application> or <application>Text Editor</application> applications.
Packit 1470ea
</para>
Packit 1470ea
</step>
Packit 1470ea
<step>
Packit 1470ea
<para>
Packit 1470ea
Verify that the <guibutton>Activate</guibutton> button allows the user to activate any of the currently running application windows on the user's desktop, including GNOME panels and the GNOME desktop.
Packit 1470ea
</para>
Packit 1470ea
</step>
Packit 1470ea
<step>
Packit 1470ea
<para>
Packit 1470ea
Verify that the <guibutton>Menus</guibutton> button lists all the available menus in the current application. Verify that clicking on a menu button displays the sub-menu and menu items contained within the sub-menu. Finally, verify that clicking on a menu item activates the menu item. For example, click on the <application>Help Browser</application> application and click on the <guibutton>Menus</guibutton> button. The <application>GOK</application> window now displays the <guibutton>File</guibutton>, <guibutton>Go</guibutton> and <guibutton>Help</guibutton> buttons (the <application>Help Browser</application> menus). Click on the <guibutton>File</guibutton> button and it displays the <guibutton>New Window</guibutton> and <guibutton>Close Window</guibutton> buttons (menu items).
Packit 1470ea
</para>
Packit 1470ea
</step>
Packit 1470ea
<step>
Packit 1470ea
<para>
Packit 1470ea
Verify that the <guibutton>Toolbars</guibutton> button lists all the available buttons in the application toolbar. For example, click on the <application>Help Browser</application> application and then click on the <guibutton>Toolbars</guibutton> button. The <application>GOK</application> window now displays the <guibutton>Back</guibutton>, <guibutton>Forward</guibutton> and <guibutton>Home</guibutton> buttons.
Packit 1470ea
</para>
Packit 1470ea
</step>
Packit 1470ea
<step>
Packit 1470ea
<para>
Packit 1470ea
Verify that the <guibutton>UI Grab</guibutton> button displays all the button objects for the selected application window. For example, open the 'Font Properties' capplet and click on the <guibutton>UI Grab</guibutton> button in the <application>GOK</application> window. The <application>GOK</application> window should now display the names of the buttons in the capplet - <guibutton>Sans</guibutton>, <guibutton>Sans-serif</guibutton>, <guibutton>Close</guibutton> and <guibutton>Help</guibutton>.
Packit 1470ea
</para>
Packit 1470ea
</step>
Packit 1470ea
</procedure>
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
<section>
Packit 1470ea
<title>Accerciser</title>
Packit 1470ea
<screenshot>
Packit 1470ea
<mediaobject>
Packit 1470ea
<imageobject>
Packit 1470ea
<imagedata fileref="figures/at-arch.png" format="PNG"/>
Packit 1470ea
</imageobject>
Packit 1470ea
<textobject>
Packit 1470ea
<phrase>
Packit 1470ea
Accerciser and the GNOME Accessibility Architecture
Packit 1470ea
</phrase>
Packit 1470ea
</textobject>
Packit 1470ea
</mediaobject>
Packit 1470ea
</screenshot>
Packit 1470ea
Packit 1470ea
<para>
Packit 1470ea
<application>Accerciser</application> is an interactive Python accessibility explorer for the GNOME Desktop. It uses AT-SPI to inspect and control widgets, allowing you to check if an application is providing correct     information to assistive technologies and automated test frameworks. <application>Accerciser</application> has a simple plugin framework which you can use     to create custom views of accessibility information. Full documentation can be found <ulink url="http://library.gnome.org/devel/accerciser/stable">in the Official Accerciser Manual</ulink>. For a demonstration of <application>Accerciser</application> and <application>PyATSPI</application> (Python-wrappered access and usage of AT-SPI), see <ulink url="http://live.gnome.org/Accessibility/PythonPoweredAccessibility">this article</ulink>. For an excellent walkthrough from the author, see the article titled <ulink url="http://www.linuxjournal.com/article/9991">Make Your Application Accessible with Accerciser</ulink>.
Packit 1470ea
</para>
Packit 1470ea
<note>
Packit 1470ea
<para>
Packit 1470ea
<application>Accerciser</application> has effectively replaced the older <application>at-poke</application> tool.
Packit 1470ea
</para>
Packit 1470ea
</note>
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
</chapter>