![Greenish decorative hero image design](https://developer.android.com/static/images/design/ui/mobile/accessibility-hero.png)

According to a[2011 report by the World Health Organization (WHO) and the World 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, 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)](https://developer.android.com/training/multiscreen/screendensities#TaskUseDP)
- Don't make the body size any smaller than 12 sp. This guideline aligns with the Material typescale as a default.
- Ensure the contrast between the background and text is at least 4.5:1.[Learn how to check color contrast](https://codelabs.developers.google.com/color-contrast-accessibility#0).
- 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.
- Use more than one visual affordance for actions like links.

Use Material's[Accessible color system](https://m3.material.io/styles/color/the-color-system/accessibility). This color system is based on tonal palettes, and is central to making color schemes accessible by default.
![There are two blocks of text. The first block is colored dark olive while second text block is colored dark grey. Both are overlaid on a very dark (almost black) background. Callouts to the dark olive text indicate that it is in the 'primary30' tone, and that it fails the ratio test at 1.83:1. Callouts to the grey text indicate that it's in the 'neutral40' tone and that it still fails the ratio test at a ratio of 2.65:1.](https://developer.android.com/static/images/design/ui/mobile/accessibility-text-fail-color-contrast.png)**Figure 1:**Example of text failing color contrast

## Design for sound

[TalkBack](https://support.google.com/accessibility/android/answer/6283677)is a Google screen reader included on Android devices that gives users eyes-free control. You can manually test this by[exploring your app with TalkBack](https://developer.android.com/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).

Follow these guidelines to ensure your app is prepared for screen readers:

- [Describe UI elements](https://developer.android.com/guide/topics/ui/accessibility/apps#describe-ui-element)in your code. Compose uses[Semantics properties](https://developer.android.com/jetpack/compose/semantics#properties)to inform accessibility services about the information shown in UI elements.
- 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](https://m3.material.io/foundations/accessible-design/design-to-implementation), which walks you through accessibility considerations and notation using Web Content Accessibility Guidelines (WCAG).
![](https://developer.android.com/static/images/design/ui/mobile/accessibility-ui-elements-labeled.png)**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](https://support.google.com/accessibility/android/answer/6151848)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](https://support.google.com/accessibility/android/answer/6122836)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.

Manually test by[exploring switch access](https://developer.android.com/guide/topics/ui/accessibility/testing#explore_your_app_using_switch_access).

- Don't rely on gestures to complete all actions;[create accessibility actions](https://developer.android.com/guide/topics/ui/accessibility/principles#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](https://developer.android.com/develop/ui/views/haptics/haptics-principles)to help inform the user with additional, real-time sensory input.

<br />

![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.](https://developer.android.com/static/images/design/ui/mobile/accessibility-motor-skill.png)**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.

<br />