Home | History | Annotate | Download | only in accessibility
      1 page.title=Accessibility Testing Checklist
      2 page.tags=testing,accessibility
      3 
      4 trainingnavtop=true
      5 startpage=true
      6 @jd:body
      7 
      8 <div id="tb-wrapper">
      9   <div id="tb">
     10   <h2>Checklist sections</h2>
     11   <ol>
     12     <li><a href="#goals">Testing Goals</a></li>
     13     <li><a href="#requirements">Testing Requirements</a></li>
     14     <li><a href="#recommendations">Testing Recommendations</a></li>
     15     <li><a href="#special-cases">Special Cases and Considerations</a></li>
     16     <li><a href="#how-to">Testing Accessibility Features</a>
     17       <ol>
     18         <li><a href="#test-audibles">Testing audible feedback</a></li>
     19         <li><a href="#test-navigation">Testing focus navigation</a></li>
     20         <li><a href="#test-gestures">Testing gesture navigation</a></li>
     21       </ol>
     22     </li>
     23   </ol>
     24 
     25   <h2>You should also read</h2>
     26     <ol>
     27       <li>
     28         <a href="{@docRoot}guide/topics/ui/accessibility/checklist.html">
     29         Accessibility Developer Checklist</a>
     30       </li>
     31       <li>
     32         <a href="{@docRoot}design/patterns/accessibility.html">
     33         Android Design: Accessibility</a>
     34       </li>
     35       <li>
     36         <a href="{@docRoot}guide/topics/ui/accessibility/apps.html">
     37         Making Applications Accessible</a>
     38       </li>
     39     </ol>
     40   </div>
     41 </div>
     42 <p>
     43   Testing is an important part of making your application accessible to users with varying
     44   abilities. Following <a href="{@docRoot}design/patterns/accessibility.html">design</a> and
     45   <a href="{@docRoot}guide/topics/ui/accessibility/checklist.html">development</a> guidelines for
     46   accessibility are important steps toward that goal, but testing for accessibility can uncover
     47   problems with user interaction that are not obvious during design and development.</p>
     48 
     49 <p>This accessibility testing checklist guides you through the important aspects of
     50   accessibility testing, including overall goals, required testing steps, recommended testing and
     51   special considerations. This document also discusses how to enable accessibility features on
     52   Android devices for testing purposes.</p>
     53 
     54 
     55 <h2 id="goals">Testing Goals</h2>
     56 
     57 <p>Your accessibility testing should have the following, high level goals:</p>
     58 
     59 <ul>
     60   <li>Set up and use the application without sighted assistance</li>
     61   <li>All task workflows in the application can be easily navigated using directional controls and
     62     provide clear and appropriate feedback</li>
     63 </ul>
     64 
     65 
     66 <h2 id="requirements">Testing Requirements</h2>
     67 
     68 <p>The following tests must be completed in order to ensure a minimum level of application
     69   accessibility.</p>
     70 
     71 <ol>
     72   <li><strong>Directional controls:</strong> Verify that the application can be operated
     73     without the use of a touch screen. Attempt to use only directional controls to accomplish the
     74     primary tasks in the application. Use the keyboard and directional-pad (D-Pad) controls in the
     75     Android <a href="{@docRoot}tools/devices/emulator.html">Emulator</a> or use
     76     <a href="http://support.google.com/nexus/bin/answer.py?hl=en&answer=2700718">gesture
     77     navigation</a> on devices with Android 4.1 (API Level 16) or higher.
     78     <p class="note"><strong>Note:</strong> Keyboards and D-pads provide different navigation paths
     79     than accessibility gestures. While gestures allow users to focus on nearly any on-screen
     80     content, keyboard and D-pad navigation only allow focus on input fields and buttons.</p>
     81     </li>
     82   <li><strong>TalkBack audio prompts:</strong> Verify that user interface controls that provide
     83     information (graphics or text) or allow user action have clear and accurate audio descriptions
     84     when <a href="#testing-talkback">TalkBack is enabled</a> and controls are focused. Use
     85     directional controls to move focus between application layout elements.</li>
     86   <li><strong>Explore by Touch prompts:</strong> Verify that user interface controls that
     87     provide information (graphics or text) or allow user action have appropriate audio descriptions
     88     when <a href="#testing-ebt">Explore by Touch is enabled</a>. There should be no
     89     regions where contents or controls do not provide an audio description.</li>
     90   <li><strong>Touchable control sizes:</strong> All controls where a user can select or take an
     91     action must be a minimum of 48 dp (approximately 9mm) in length and width, as recommended by
     92     <a href="{@docRoot}design/patterns/accessibility.html">Android Design</a>.</li>
     93   <li><strong>Gestures work with TalkBack enabled:</strong> Verify that app-specific gestures,
     94     such as zooming images, scrolling lists, swiping between pages or navigating carousel controls
     95     continue to work when <a href="#testing-talkback">TalkBack is enabled</a>. If these gestures do
     96     not function, then an alternative interface for these actions must be provided.</li>
     97   <li><strong>No audio-only feedback:</strong> Audio feedback must always have a secondary
     98     feedback mechanism to support users who are deaf or hard of hearing, for example: A sound alert
     99     for the arrival of a message should also be accompanied by a system
    100     {@link android.app.Notification}, haptic feedback (if available) or another visual alert.</li>
    101 </ol>
    102 
    103 
    104 <h2 id="recommendations">Testing Recommendations</h2>
    105 
    106 <p>The following tests are recommended for ensuring the accessibility of your application. If you
    107   do not test these items, it may impact the overall accessibility and quality of your
    108   application.</p>
    109 
    110 <ol>
    111   <li><strong>Repetitive audio prompting:</strong> Check that closely related controls (such as
    112     items with multiple components in a list) do not simply repeat the same audio prompt. For
    113     example, in a contacts list that contains a contact picture, written name and title, the prompts
    114     should not simply repeat Bob Smith for each item.</li>
    115   <li><strong>Audio prompt overloading or underloading:</strong> Check that closely related
    116     controls provide an appropriate level of audio information that enables users to understand and
    117     act on a screen element. Too little or too much prompting can make it difficult to understand
    118     and use a control.</li>
    119 </ol>
    120 
    121 
    122 <h2 id="special-cases">Special Cases and Considerations</h2>
    123 
    124 <p>The following list describes specific situations that should be tested to ensure an
    125   accessible app. Some, none or all of the cases described here may apply to your application. Be
    126   sure to review this list to find out if these special cases apply and take appropriate action.</p>
    127 
    128 <ol>
    129   <li><strong>Review developer special cases and considerations:</strong> Review the list of
    130     <a href="{@docRoot}guide/topics/ui/accessibility/checklist.html#special-cases">special cases</a>
    131      for accessibility development and test your application for the cases that apply.</li>
    132   <li><strong>Prompts for controls that change function:</strong> Buttons or other controls
    133     that change function due to application context or workflow must provide audio prompts
    134     appropriate to their current function. For example, a button that changes function from play
    135     video to pause video should provide an audio prompt which is appropriate to its current state.</li>
    136   <li><strong>Video playback and captioning:</strong> If the application provides video
    137     playback, verify that it supports captioning and subtitles to assist users who are deaf or hard
    138     of hearing. The video playback controls must clearly indicate if captioning is available for a
    139     video and provide a clear way of enabling captions.</li>
    140 </ol>
    141 
    142 
    143 <h2 id="how-to">Testing Accessibility Features</h2>
    144 
    145 <p>Testing of accessibility features such as TalkBack, Explore by Touch and accessibility Gestures
    146 requires setup of your testing device. This section describes how to enable these features for
    147 accessibility testing.</p>
    148 
    149 
    150 <h3 id="test-audibles">Testing audible feedback</h3>
    151 
    152 <p>Audible accessibility feedback features on Android devices provide audio prompts that speaks
    153   the screen content as you move around an application. By enabling these features on an Android
    154   device, you can test the experience of users with blindness or low-vision using your application.
    155 </p>
    156 
    157 <p>Audible feedback for users on Android is typically provided by TalkBack accessibility service and
    158 the Explore by Touch system feature. The TalkBack accessibility service comes preinstalled on most
    159 Android devices and can also be downloaded for free from
    160 <a href="https://play.google.com/store/apps/details?id=com.google.android.marvin.talkback">Google
    161 Play</a>.
    162 </p>
    163 
    164 <h4 id="testing-talkback">Testing with TalkBack</h4>
    165 
    166 <p>The <em>TalkBack</em> accessibility service works by speaking the contents of user interface
    167 controls as the user moves focus onto controls. This service should be enabled as part of testing
    168 focus navigation and audible prompts.</p>
    169 
    170 <p>To enable the TalkBack accessibility service:</p>
    171 <ol>
    172   <li>Launch the <strong>Settings</strong> application.</li>
    173   <li>Navigate to the <strong>Accessibility</strong> category and select it.</li>
    174   <li>Select <strong>Accessibility</strong> to enable it.</li>
    175   <li>Select <strong>TalkBack</strong> to enable it.</li>
    176 </ol>
    177 
    178 <p class="note">
    179   <strong>Note:</strong> While TalkBack is the most available Android accessibility service for
    180   users with disabilities, other accessibility services are available and may be installed by users.
    181 </p>
    182 
    183 <p>For more information about using TalkBack, see
    184 <a href="https://support.google.com/accessibility/android/topic/3529932">TalkBack</a>.</p>
    185 
    186 <h4 id="testing-ebt">Testing with Explore by Touch</h4>
    187 
    188 <p>The <em>Explore by Touch</em> system feature is available on devices running Android 4.0 and
    189   later, and works by enabling a special accessibility mode that allows users to drag a finger
    190   around the interface of an application and hear the contents of the screen spoken. This feature
    191   does not require screen elements to be focused using an directional controller, but listens for
    192   hover events over user interface controls.
    193 </p>
    194 
    195 <p>To enable Explore by Touch:</p>
    196 <ol>
    197   <li>Launch the <strong>Settings</strong> application.</li>
    198   <li>Navigate to the <strong>Accessibility</strong> category and select it.</li>
    199   <li>Select the <strong>TalkBack</strong> to enable it.
    200       <p class="note"><strong>Note:</strong> On Android 4.1 (API Level 16) and higher, the system
    201       provides a popup message to enable Explore by Touch. On older versions, you must follow the
    202       step below.</p>
    203   </li>
    204   <li>Return to the <strong>Accessibility</strong> category and select <strong>Explore by
    205 Touch</strong> to enable it.
    206     <p class="note"><strong>Note:</strong> You must turn on TalkBack <em>first</em>, otherwise this
    207 option is not available.</p>
    208   </li>
    209 </ol>
    210 
    211 <p>For more information about using the Explore by Touch features, see
    212 <a href="https://support.google.com/accessibility/android/answer/6006598">Touch Exploration</a>.</p>
    213 
    214 <h3 id="test-navigation">Testing focus navigation</h3>
    215 
    216 <p>Focus navigation is the use of directional controls to navigate between the individual user
    217   interface elements of an application in order to operate it. Users with limited vision or limited
    218   manual dexterity often use this mode of navigation instead of touch navigation. As part of
    219   accessibility testing, you should verify that your application can be operated using only
    220   directional controls.</p>
    221 
    222 <p>You can test navigation of your application using only focus controls, even if your test devices
    223   does not have a directional controller. The <a href="{@docRoot}tools/help/emulator.html">Android
    224   Emulator</a> provides a simulated directional controller that you can use to test navigation. You
    225   can also use a software-based directional controller, such as the one provided by the
    226   <a href="https://play.google.com/store/apps/details?id=com.googlecode.eyesfree.inputmethod.latin"
    227   >Eyes-Free Keyboard</a> to simulate use of a D-pad on a test device that does not have a physical
    228   D-pad.</p>
    229 
    230 
    231 <h3 id="test-gestures">Testing gesture navigation</h3>
    232 
    233 <p>Gesture navigation is an accessibility navigation mode that allows users to navigate Android
    234   devices and applications using specific
    235   <a href="https://support.google.com/accessibility/android/answer/6006598">gestures</a>. This
    236   navigation mode is available on Android 4.1 (API Level 16) and higher.</p>
    237 
    238 <p class="note"><strong>Note:</strong> Accessibility gestures provide a different navigation path
    239 than keyboards and D-pads. While gestures allow users to focus on nearly any on-screen
    240 content, keyboard and D-pad navigation only allow focus on input fields and buttons.</p>
    241 
    242 <p>To enable gesture navigation:</p>
    243 <ul>
    244   <li>Enable both TalkBack and the Explore by Touch feature as described in the
    245     <a href="#testing-ebt">Testing with Explore by Touch</a>. When <em>both</em> of these
    246     features are enabled, accessibility gestures are automatically enabled.</li>
    247   <li>You can change gesture settings using <strong>Settings &gt; Accessibility &gt; TalkBack &gt;
    248     Settings &gt; Manage shortcut gestures</strong>.
    249 </ul>
    250 
    251 <p>For more information about using Explore by Touch accessibility gestures, see
    252 <a href="https://support.google.com/accessibility/android/answer/6006598">Touch Exploration</a>.</p>
    253 
    254 <p class="note">
    255   <strong>Note:</strong> Accessibility services other than TalkBack may map accessibility gestures
    256   to different user actions. If gestures are not producing the expected actions during testing, try
    257   disabling other accessibility services before proceeding.</p>