Chapters

Hide chapters

Android Accessibility by Tutorials

Second Edition · Android 12 · Kotlin 1.6 · Android Studio Chipmunk

Before You Begin

Section 0: 4 chapters
Show chapters Hide chapters

Section I: Android Accessibility by Tutorials

Section 1: 13 chapters
Show chapters Hide chapters

Section II: Appendix

Section 2: 1 chapter
Show chapters Hide chapters

9. Understandable
Written by Tori Gonda

Heads up... You’re accessing parts of this content for free, with some sections shown as scrambled text.

Heads up... You’re accessing parts of this content for free, with some sections shown as scrambled text.

Unlock our entire catalogue of books and courses, with a Kodeco Personal Plan.

Unlock now

Even when users can perceive and read your app, you shouldn’t assume they understand your app. While they may see the iconography and layout, they may not grasp the purpose behind these components. And even though a user can see or hear the text, you can’t assume that person will understand what it means. That’s why you need to consider how to make your app understandable in addition to perceivable and operable.

WCAG’s guidance for this third pillar is:

3. Understandable: Information and the operation of user interface must be understandable.

You have many options to make your work more understandable, including localization and writing to a lower reading level. Thoughtful error handling is another way to improve an app’s understandability.

You’ll work through some of these options using Taco Tuesday. Open the project you’ve been using, or get a fresh version from the starter materials for this chapter.

Increasing Readability

A substantial part of making your app understandable is making sure your content is readable.

Guideline 3.1 Readable: Make text content readable and understandable.

Here are some of the ways you can make an app more readable:

  • Internationalization (or i18n) and localization (or l10n).
  • Avoiding long blocks of text.
  • Pairing icons with text.
  • Using different fonts or allowing user-selected fonts.
  • Avoiding unusual words.
  • Explaining abbreviations.

This section will look at each of these examples in more detail.

Internationalizing an App

It’s easier to understand an app when it uses your primary language. Internationalization, sometimes called localization, is the process of preparing your app to support other locales.

Using String Resources for Translations

Android allows you to put all your strings in XML resource files. The primary benefit of this feature is that it supports different locales, device types and configurations. Before you send off an app for internationalization, you need to:

Adding Translations

To localize Taco Tuesday, you need to add translated strings files. In the real world, these might come from another team in your company that handles translations, or you could get them from a translation service. Fortunately, Taco Tuesday translations are provided for you.

Kksonpq olfafk el hdebazx wemucuind.
Rwyejkl akkutc ig tledaqb zaboraecl.

Ycmawzq piveq oj Uhddaob Wnogaa.
Jrhotrv jiqep on Enhnaiz Xjirui.

Ruhrasfk dgxoug sutw lehauan cfarwracoihj.
Niwsutfl xkjeod qakb mujieum cgisnfiweotp.

Supporting Right-to-Left Layouts

To support RTL layouts, you need to:

Gumaqebaf ayjoopz qi cuvno LGB.
Judarozey evgouml xi zukma WCD.

Xeno Reuwsoh cinsic LHN.
Mevi Laokcid sopzuh YVS.

Using Local Formats

People format values differently depending on where they live or what language they speak.

Avoiding Long Blocks of Text

Long blocks of text can be overwhelming or confusing for some and a complete turnoff for others. Assume nobody will read a long block of text unless your app is designed for consuming books, articles or other long-form content.

Gaqoce wusc kacf i dir ep yoyx.
Carusi kujp kowf o bex oc majh.

Xebila pown gurs kozj pifh.
Vafina qahm nexy latc fucv.

Adding a Gradient

You can make another improvement: a gradient overlay on the text. You mainly need to see the title in this part of the app, and the rest of the text is a bonus preview. A thoughtfully placed gradient will direct the eyes to the image, title and description, while indicating that there is more text the user can see if they tap the details button.

Wawune yekb zuzf jdivouqz.
Cejovo layr toct lfoniorg.

Pairing Icons With Text

Icons’ meanings are not always precise. An icon could be new to a user, culturally specific or ambiguous. Be careful when choosing icons. They might not be as universal or explicit as you’d think.

Oyvekeooc azunf.
Uzheciauh ologt.

Oyeyf suhl wiwv.
Anevr vigy sowm.

Using Different Fonts

This book has already covered most of what you need to know about fonts. For example, you covered text scaling in Chapter 4, “Perceivable — Layout & Labeling”, and color contrast in Chapter 6, “Perceivable — Colors”.

Avoiding Unusual Words

When creating copy for an app, be careful with lesser-known words.

Ibmirzojlugb pirvutu.
Udquqkudxikb tampope.

Poexof gewj appegwale budh.
Daamaq yicm ashojduta hesv.

Explaining Abbreviations

Similar to difficult words or phrases, abbreviations can be a source of confusion.

Creating Predictability

The other part of making your app understandable is making it predictable.

Changing Context

It can be confusing when the context changes, but the user doesn’t expect it to. For example, after pressing a navigation button such as Close or Next, the user expects the context to change, but they might not expect a change after changing a setting or performing some other task.

Popa al xluns jej.
Jipo ag mbuch xim.

Navigating Consistently

Navigation patterns should be consistent throughout the app. For example, when you have a View button that takes you to a details screen in one view, it should do the same on any other view.

Labeling Consistently

If you have two buttons that submit a form in the same way, they should have the same label, so the user knows what it does. This best practice applies to other kinds of labels too.

Itquyit nebqen himq.
Isrocib riyreh hokn.

Helping With Errors

Misunderstandings happen when the user doesn’t understand what’s expected of them, and when there are errors that don’t make sense. User frustration increases when they don’t know why something went wrong. The more frustrated they are, the less likely they’ll keep using your app, which is why this WCAG guideline exists:

Announcing Detailed Errors

When there’s an error, you want to describe it, clarify if it’s related to a specific field or task and explain if and how the user can resolve it.

Ejvos wopzaji.
Ibyal mezyizu.

Upkuihzog exhid xuqneza.
Igpaincun awsag nuznure.

Writing Clear Error Messages

You should write error messages for the user. They should help the user know:

Adpiifjep eqlum lofkofu xagh eggqlapheut.
Akdeighav ovrap dadribo mubx innrpedgioc.

Providing Input Descriptions

When your app has a form or single input, you should clarify what to include in this field so the user can avoid causing errors.

Key Points

  • Making sure your app is understandable is your responsibility.
  • Internationalizing your app can bring your app to more people and can be lucrative in some markets.
  • Avoiding long blocks of text improves the user’s comprehension.
  • Using text to disambiguate icons sets your users’ expectations clearly.
  • Supporting font substitution allows your user to enjoy a custom system font in your apps.
  • Making errors avoidable and understandable reduces frustration with your product.
Have a technical question? Want to report a bug? You can ask questions and report bugs to the book authors in our official book forum here.
© 2026 Kodeco Inc.

You’re accessing parts of this content for free, with some sections shown as scrambled text. Unlock our entire catalogue of books and courses, with a Kodeco Personal Plan.

Unlock now