Stay organized with collections
Save and categorize content based on your preferences.
According to a 2011 report by the World Health Organization (WHO) and the
World Bank, approximately 15% of the global population–that is,
about one in six people–experience a significant or temporary disability in
their lifetime. Accessibility in design, then, is fundamental to creating an
inclusive, usable, and high-quality app–it leads to the best results for users
and can prevent costly rework. Android ships with a variety of features to help
you build your app to support accessibility options by default.
Design for vision
Ensure your app's content is as legible as possible by checking color contrast
and text sizing, and that components are visually comprehensible and easy to
discern from each other.
Follow these guidelines to design for vision accessibility.
To allow users to adjust the font size, specify font size in scalable pixels
(sp)
Don't make the body size any smaller than 12 sp. This guideline aligns with the
Material typescale as a default.
To satisfy Android framework requirements, provide additional textual
description of icons and images.
Set decorative item descriptions to null.
To allow skipping between blocks of actions and content, consider UI
granularity and group UI elements..
Check out Material's Design to Implementation Walk, which
walks you through accessibility considerations and notation using Web Content
Accessibility Guidelines (WCAG).
Figure 2: UI elements labeled for accessibility: heading, hiding decorative image, and button label
Design for audio
Android provides features to enable users to interact with their devices through
a variety of voice commands and queries.
The Voice Access app for Android lets you control your device
with spoken commands. Use your voice to open apps, navigate, and edit text
hands-free.
Design for motor skill
Switch Access lets users interact with your Android device
using one or more devices, which can be helpful for users with limited dexterity
who have trouble interacting directly with a touch screen.
Don't rely on gestures to complete all actions; create accessibility
actions to support all user flows in your app.
Ensure all touch targets are at least 48 dp, even if this extends past the UI
element visual.
Consider haptic feedback to help inform the user with additional,
real-time sensory input.
Figure 3: The UI on the left lets the user delete only by swiping,
while the UI on the right also provides an additional affordance in the form
of a trash icon button.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2023-05-08 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-05-08 UTC."],[],[],null,["# Accessibility\n\nAccording to a [2011 report by the World Health Organization (WHO) and the\nWorld Bank](https://www.who.int/teams/noncommunicable-diseases/sensory-functions-disability-and-rehabilitation/world-report-on-disability), approximately 15% of the global population--that is,\nabout one in six people--experience a significant or temporary disability in\ntheir lifetime. Accessibility in design, then, is *fundamental* to creating an\ninclusive, usable, and high-quality app--it leads to the best results for users\nand can prevent costly rework. Android ships with a variety of features to help\nyou build your app to support accessibility options by default. \n\nDesign for vision\n-----------------\n\nEnsure your app's content is as legible as possible by checking color contrast\nand text sizing, and that components are visually comprehensible and easy to\ndiscern from each other.\n\nFollow these guidelines to design for vision accessibility.\n\n- To allow users to adjust the font size, specify font size in [scalable pixels\n (sp)](/training/multiscreen/screendensities#TaskUseDP)\n- Don't make the body size any smaller than 12 sp. This guideline aligns with the Material typescale as a default.\n- Ensure the contrast between the background and text is at least 4.5:1. [Learn\n how to check color contrast](https://codelabs.developers.google.com/color-contrast-accessibility#0).\n- Use a 3:1 ratio between surfaces and non-text elements. For example, the ratio of a background to an icon would be 3:1.\n- Use more than one visual affordance for actions like links.\n\nUse Material's [Accessible color system](https://m3.material.io/styles/color/the-color-system/accessibility). This color system is\nbased on tonal palettes, and is central to making color schemes accessible by\ndefault.\n**Figure 1:**Example of text failing color contrast\n\nDesign for sound\n----------------\n\n[TalkBack](https://support.google.com/accessibility/android/answer/6283677) is a Google screen reader included on Android devices\nthat gives users eyes-free control. You can manually test this by [exploring\nyour app with TalkBack](/guide/topics/ui/accessibility/testing#explore_your_app_with_talkback) or with the [A11y scanner](https://play.google.com/store/apps/details?id=com.google.android.apps.accessibility.auditor).\n\nFollow these guidelines to ensure your app is prepared for screen readers:\n\n- [Describe UI elements](/guide/topics/ui/accessibility/apps#describe-ui-element) in your code. Compose uses [Semantics\n properties](/jetpack/compose/semantics#properties) to inform accessibility services about the information shown in UI elements.\n- To satisfy Android framework requirements, provide additional textual description of icons and images.\n- Set decorative item descriptions to null.\n- To allow skipping between blocks of actions and content, consider UI granularity and group UI elements..\n\nCheck out Material's [Design to Implementation Walk](https://m3.material.io/foundations/accessible-design/design-to-implementation), which\nwalks you through accessibility considerations and notation using Web Content\nAccessibility Guidelines (WCAG).\n**Figure 2:**UI elements labeled for accessibility: heading, hiding decorative image, and button label\n\nDesign for audio\n----------------\n\nAndroid provides features to enable users to interact with their devices through\na variety of voice commands and queries.\n\nThe [Voice Access](https://support.google.com/accessibility/android/answer/6151848) app for Android lets you control your device\nwith spoken commands. Use your voice to open apps, navigate, and edit text\nhands-free.\n\nDesign for motor skill\n----------------------\n\n[Switch Access](https://support.google.com/accessibility/android/answer/6122836) lets users interact with your Android device\nusing one or more devices, which can be helpful for users with limited dexterity\nwho have trouble interacting directly with a touch screen.\n\nManually test by [exploring switch access](/guide/topics/ui/accessibility/testing#explore_your_app_using_switch_access).\n\n- Don't rely on gestures to complete all actions; [create accessibility\n actions](/guide/topics/ui/accessibility/principles#accessibility-actions) to support all user flows in your app.\n- Ensure all touch targets are at least 48 dp, even if this extends past the UI element visual.\n- Consider [haptic feedback](/develop/ui/views/haptics/haptics-principles) to help inform the user with additional, real-time sensory input.\n\n\u003cbr /\u003e\n\n**Figure 3:**The UI on the left lets the user delete only by swiping, while the UI on the right also provides an additional affordance in the form of a trash icon button.\n\n\u003cbr /\u003e"]]