1. Get started with Accessibility Scanner
  2. How to read Accessibility Scanner results
  1. Get started with Accessibility Scanner

    When you design and develop an Android app, Accessibility Scanner can help you identify opportunities to improve your app for users.

    Accessibility Scanner scans your screen and provides suggestions to improve the accessibility of your app, based on the following:

    • Content labels
    • Touch target size
    • Clickable items
    • Text and image contrast

    Note: Accessibility Scanner isn't a replacement for manual testing and doesn't guarantee an app's accessibility.

    Step 1: Install and turn on Accessibility Scanner

    Accessibility Scanner is available for phones and tablets with Android 6.0 and above. Learn how to check your Android version.

    1. Download Accessibility Scanner from Google Play.
    2. Open Accessibility Scanner Accessibility Scanner.
    3. Follow the prompts to turn on Accessibility Scanner in your device's Settings app.
    4. Tap Accessibility, then tap Accessibility Scanner.
    5. Tap Use service.

    To turn off Accessibility Scanner, return to Settings and then Accessibility and then Accessibility Scanner.

    Step 2: Scan your app

    You can scan a snapshot of your app, or you can scan a series of screens as you interact with your app.

    Scan a recording

    You can scan a workflow or task within your app. With this option, Accessibility Scanner records and analyzes the elements on your screen as you use and navigate through your app.

    Note: The recording only includes screenshots (not video or audio). The recording stays on your device and is never shared with Google.

    To scan a recording:

    1. Open your app.
    2. Tap the Accessibility Scanner button .
    3. Tap Record Video camera.
    4. Start using your app. If you go to another app, the recording pauses until you return.
    5. To stop recording, swipe down from the top of your screen to open your notifications. Tap Accessibility Scanner is recording, then tap Stop .

    After you stop recording, Accessibility Scanner displays a series of screenshots. To review the results:  

    • Within a screenshot, results of the scan are outlined in orange rectangles. To view details, tap the outlined area.
    • To navigate between screenshots, tap a screenshot in the carousel at the top of your screen, or, tap Next .
    • To view a grid with all the screenshots, tap Library .
    • To view a complete list of results from all the screenshots, tap the List , then choose View by screen or View by category.
    • To share results by sending a zip file, tap Share .

    Scan a snapshot

    To scan a single screen of your app:

    1. Open your app.
    2. Tap the Accessibility Scanner button .
    3. Tap Snapshot Choose image.

    After you take a snapshot, Accessibility Scanner displays a screenshot of your app. To review the results: 

    • In the screenshot, results of the scan are outlined in orange rectangles. To view details, tap the outlined area.
    • To view a complete list of results, tap the List .
    • To share results by sending a zip file, tap Share .

    Scanning secure windows

    If your app has a window that is declared "secure" (using WindowManager.LayoutParams.FLAG_SECURE) Accessibility Scanner can't capture an image of the screen or check color contrast. For these windows, Accessibility Scanner shows a black screen after scanning your app. However, you can still read the scan results for other opportunities.

    Change contrast and touch target size thresholds

    You can change the thresholds that Scanner uses for contrast ratio and touch target size.

    1. On your device, go to the Apps section.
    2. Tap Accessibility Scanner Accessibility Scanner.
    3. Tap Settings Settings.
    4. View or change the following settings:
      • Contrast ratio: Set a new minimum threshold for text and image contrast.
      • Touch target size: Set a new minimum threshold for touch target size.

    Share scan results

    You can share complete results or an individual item with other people, such as teammates. To share results, follow these steps:

    1. After scanning your app, tap Share .
    2. Choose how you want to share the zip file with the results and screenshots.

    Note: To share results for an individual item, tap Share while viewing the item.

    View past scans

    To view a list of past scans: 

    1. On your device, go to the Apps section.
    2. Tap Accessibility Scanner Accessibility Scanner.
    3. The History displays a list of scans with their times and dates. 
    4. To see details, tap a scan.

    Help and feedback

    To find help documentation or send feedback about Accessibility Scanner, select Help and feedback in the app.

  2. How to read Accessibility Scanner results

    Accessibility Scanner looks for the following opportunities to improve your app's accessibility.

    Content labeling

    Many user interface controls depend on visual cues to indicate their meaning and use. A user with impaired vision might have difficulty seeing these cues.

    You can make user interface controls more accessible with content labels. Content labels don't appear on the screen, but users with visual impairments can access them through accessibility services like TalkBack or other screen readers.

    Accessibility Scanner looks for the following content labeling opportunities:

    • Item label missing
      Identify Views that a screen reader could focus and that have an empty spoken description, either for the View or relevant Views in its sub-hierarchy. Learn more about content labels.
    • Item labeled with type or state
      Identify cases where a View has a redundant description. Learn more about items labeled with type or state.
    • Duplicate item descriptions
      Identify cases where a hierarchy contains Views with exactly duplicate descriptions. For example, two separately focusable buttons with descriptions of "More options" could confuse a user. Learn more about duplicate descriptions.
    • Link purpose unclear
      Identify uninformative link text, such as "click here." Learn more about unclear link text.
    Implementation

    Accessibility Scanner examines View hierarchies and identifies instances where users with motor impairments might have difficulty interacting with a layout.

    • Clickable links
      Identify uses of ClickableSpan that aren't UrlSpans. Learn more about clickable links.
    • Duplicate clickable Views
      Identify clickable Views that share the same on-screen location as other clickable Views. Learn more about duplicate clickable Views.
    • Editable item label
      Identify EditTexts and editable TextViews that have a non-empty contentDescription. Learn more about editable View labels.
    • Unsupported item type
      Identify item types that are not supported by accessibility services. Learn more about unsupported item types.
    • Traversal order
      Identify possible issues in the traversal ordering of items, which might affect users of screen readers or other accessibility services. Learn more about traversal order.
    Touch target size

    Accessibility Scanner looks for small touch targets that could cause difficulty for users with motor impairments.

    • Touch target size
      Identify clickable and long-clickable Views that are smaller than 48x48dp in either dimension, or 32x32dp for Views within input method windows or against the display edge. You can change the minimum size in your Accessibility Scanner settings. Learn more about touch target size.
    Low contrast

    Accessibility Scanner suggests improvements to color contrast ratios to make your app more accessible to visually impaired users.

    • Text and image contrast
      Identify text or images with a contrast ratio lower than 3.0 between the text color and background color (for non-empty TextViews) or between the foreground and background color (for ImageViews). You can change the minimum ratio in your Accessibility Scanner settings. Learn more about color contrast.

    Learn more about accessibility

    Read more in the Android Developer Accessibility documentation.