Android UI/UX6 min read

Accessible Android Apps: TalkBack, Touch Targets and Contrast

Accessibility on Android is mostly about labels, tap size, colour contrast and text that scales. This guide lists the checks to ask your developer for and how to test with TalkBack and Accessibility Scanner.

Accessible Android Apps: TalkBack, Touch Targets and Contrast

An accessible app is one that people can use with a screen reader, with large text, with poor eyesight, with a shaky thumb or with a phone in bright sunlight. That is a bigger group than owners expect: elderly customers, shop staff reading small print, drivers glancing at a phone on a dashboard. The good news is that most accessibility work is ordinary quality work that is cheap when planned from the start and expensive to retrofit.

What TalkBack is, and why it finds your mistakes

TalkBack is Android's built-in screen reader. When it is on, a user moves through the screen by touch and the phone speaks what is under their finger. Google's documentation notes that people with visual impairments may rely on it to use your app. It is also an excellent test: if TalkBack says "button, button, button" for your toolbar, a person using it cannot tell what any of them do.

Labels and meaning in Jetpack Compose

In Compose, the accessibility description of every element is held in its semantics, the information the screen reader reads. Google's guidance includes these basics:

  • Describe icons that act as buttons. An icon has a contentDescription that tells the user what it means, such as "Add to cart". If an icon is only decoration, set the description to null so TalkBack skips it.
  • Group related items. A row showing a customer photo, name and balance can be merged with mergeDescendants so it is read as one unit rather than three.
  • Make actions understandable. A click label turns the generic "double tap to activate" into something like "double tap to open this article".
  • Avoid duplicate screen titles. Google warns that reusing generic pane titles such as "List" or "Details" on independent screens can cause unpredictable behaviour.

Touch targets: the 48dp rule

A touch target is the area that responds to a tap. Google recommends at least 48dp by 48dp, roughly 9 millimetres on most phones. The Compose guidance says to set the minimum size to 48dp when sizing clickable elements. Small icons in a dense table, tiny close buttons on dialogs and links in a row of text are the usual offenders. For shop-floor and warehouse staff wearing gloves or working fast, bigger targets reduce wrong taps directly.

Colour contrast

Contrast is the difference in brightness between text and its background. Google recommends a contrast ratio of at least 4.5 to 1 for text smaller than 18sp, or bold text smaller than 14sp, and at least 3 to 1 for larger text. Light grey on white, a favourite of fashionable designs, often fails. Check brand colours at the design stage, because changing a brand colour after development is much harder than choosing a compliant shade up front. Do not rely on colour alone to show status; add an icon or a word so a colour-blind user can tell paid from pending.

Font scaling

Many people set larger text in phone settings. Starting with Android 14, Google's documentation says the system supports font scaling up to 200%, with a non-linear curve so that already-large headings do not grow as fast as body text. If your developer sets text sizes in sp units (scaled pixels), the benefit applies automatically; fixed sizes in dp do not scale. Ask for a test at the largest font setting, because this is where text gets cut off, buttons overflow and totals disappear on billing screens.

How to test it

  1. Turn on TalkBack in Settings under Accessibility and move through the login, a list and a payment screen with your eyes off the screen.
  2. Set the font size and display size to the maximum and walk the same screens.
  3. Install Google's Accessibility Scanner app, which suggests fixes for content labels, clickable items and contrast. It checks the screen you have open.
  4. Ask your developer to switch on automated accessibility checks in the Compose tests, which use the same Accessibility Test Framework behind the scanner and flag missing labels, small touch targets and low contrast.
  5. Test with one real user who relies on these features if you can; automated tools cannot judge whether the experience makes sense.

Google notes that the test framework in Android Studio cannot detect issues that occur when the app is running on a device, so manual checks stay necessary.

What accessibility does for the business

It widens your audience, reduces support calls, protects you if a partner, government customer or school asks for accessibility in a tender, and often improves general usability for everyone. It does not need a separate app. In Compose most of it is a few lines per screen and a checklist in code review. If you are not sure where to begin, start with the three screens that earn you money: sign-in, checkout and the main staff screen.

At VS Tech Builders, we include labels, touch-target sizes and large-font checks in our standard Compose build and review process. Read about our Jetpack Compose development, the glossary entry on UI and UX design, and Material 3 Expressive, which affects button sizes. For planning help, see how to plan your first business app or contact us.

Sources

Checked on 3 November 2026. Technology changes quickly; always confirm details with the official source before you act on them.

Frequently asked questions

What is the minimum touch target size on Android?

Google recommends at least 48dp by 48dp for every tappable element, which is about 9 millimetres on most phones. The element can look smaller as long as the area that responds to touch is this size. Compose guidance says to set the minimum size to 48dp when you size clickable items yourself.

What contrast ratio should my Android app text have?

Google's accessibility guidance recommends at least 4.5 to 1 between text and background for text smaller than 18sp, or bold text smaller than 14sp, and at least 3 to 1 for larger text. Your designer can check colours with an online contrast checker or the Accessibility Scanner app.

Does my app support large font sizes?

If text is sized in sp units, it follows the user's font setting. From Android 14 the system supports scaling up to 200% with a non-linear curve. The only way to be sure is to set the largest font size on a phone and open your login, checkout and billing screens to check nothing is cut off.

How do I test an app with TalkBack?

Open Settings, go to Accessibility, choose TalkBack and switch it on. A tutorial starts the first time. Then try your main flows by listening: every button should announce what it does, grouped items should read sensibly and nothing should be skipped. Pair this with Accessibility Scanner for contrast and tap-size suggestions.

VS
Written by
VS Tech Builders

A software studio in Madurai building custom management systems, websites and Android apps for businesses in India, Malaysia and Singapore.

Discuss your project