Most Android users hardly ever use the accessibility suite. However, people with visual impairments, hearing difficulties, or cognitive disabilities might find Android’s accessibility features very useful. You can customize features from device settings, but this guide will help you control accessibility settings on Android via ADB commands.

Android’s Accessibility settings support a host of features:

  • Vision enhancements: High contrast themes and fonts, highlight buttons, color inversion, color correction, color filter, extra dim screen brightness, screen magnification, pointer and size color, etc.
  • TalkBack: A screen reader that provides spoken feedback to help visually impaired users interact with their devices easily.
  • Hearing enhancements: Live transcription, live caption, sound notifications, hearing aid support, mono audio, left/right sound balance, etc.
  • Interaction and dexterity: Assistant menu, touch and hold delay, universal switch, answering and ending calls, flash notifications, hardware key shortcut customization, etc.

On top of the features listed above, Google offers an Android Accessibility Suite that supports AI-generated descriptions of images, braille display and keyboard, voice commands, etc.

Let’s see how we can control and change the accessibility settings on Android using ADB. You can use one of the following methods to use commands on your device.

Table of Content

Customizing Accessibility Settings via ADB

You can customize the accessibility features on your Android device programmatically via ADB. You can enable or disable accessibility options, adjust font size, display density, color inversion, etc. To view the available accessibility settings controlled by ADB, use the following command:

adb shell settings list secure | grep -i accessibility

This will display a list of all accessibility-related settings on your device.adb command to list accessibility settings

To change a specific setting, use the following command followed by the accessibility setting. Also, change the value next to ‘enabled=‘ with “1” for enabling or “0” for disabling. Remember that some changes may require a reboot to take effect.

adb shell settings put secure

Enabling and Disabling TalkBack

Use the following command to turn off TalkBack on an Android phone or tablet via ADB.

adb shell settings put secure enabled_accessibility_services com.android.talkback/com.google.android.marvin.talkback.TalkBackService

ADB command to turn off Talkback

Similarly, you can use another ADB command to enable TalkBack on Android.

adb shell settings put secure enabled_accessibility_services com.google.android.marvin.talkback/com.google.android.marvin.talkback.TalkBackService

Change Font Size on Android

It’s easy to scale the font size on Android devices via Display > Font size and style settings. However, you can only choose from presets. To get a custom font size, you can use ADB. Below are the values for small, default, large, largest, and custom font sizes:

  • Small: font_scale 0.85
  • Default: font_scale 1.0
  • Large: font_scale 1.15
  • Largest: font_scale 1.30
  • Custom: scale 1.75, scale 2.0, etc.

Execute this command with your custom font scaling value to change font size.

adb shell settings put system font_scale 1.30
How to Enable Hidden Connectivity Settings on Samsung Devices

Adjust Display Size via ADB Commands

ADB also lets you enlarge or reduce the size of elements on your Android phone or tablet’s screen via the wm density parameter. This is useful for people with limited vision who may need larger icons and text. Depending on your requirements, you can use the following scaling values multiplied by the default display density of your device to adjust display size:

  • Small scale: display density value x 0.85
  • Default scale: display density value x 1.0
  • Large scale: display density value x 1.1
  • Larger scale: display density value x 1.2
  • Largest scale: display density value x  1.3

To scale the display size, use the following command to get the default or current display density first.

adb shell wm density

adjust android device display density via adb

As you can see, the default display density of my Samsung Galaxy S24 Ultra is ‘450’. If I have to scale the display to a larger size, I’ll multiply ‘450’ by ‘1.1’ or ‘1.2’ to get the target value. Thus, for a large display size, I’ll have to use ‘495’ (450 x 1.1), and ‘540’ (450 x 1.2) for a larger size. Thus, my command will be as shown below:

adb shell wm density 495

In case you need to reset the display size to its default, use the following command:

adb shell wm density reset

Commands to Change Color Modes

Accessibility settings also offer control over Color Inversion and Color Correction features that help people with certain types of color blindness differentiate between colors more easily. Android supports multiple color correction or color blindness simulation options.

color correction modes android accessibility

You can switch between the following color correction modes using the color code values:

  • Monochromatic: 0
  • Deuteranomaly (red-green): 11
  • Protanomaly (red-green): 12
  • Tritanomaly (blue-yellow): 13

To enable the color blindness simulator (Daltonizer), execute this command:

adb shell settings put secure accessibility_display_daltonizer_enabled 1

The following command will disable the display Daltonizer and return to normal color mode.

adb shell settings put secure accessibility_display_daltonizer_enabled 0

Use the following commands to change to a specific color correction option:

  • Monochromatic:
    adb shell settings put secure accessibility_display_daltonizer 0
  • Protanomaly:
    adb shell settings put secure accessibility_display_daltonizer 11
  • Deuteranomaly:
    adb shell settings put secure accessibility_display_daltonizer 12
  •  Tritanomaly:
    adb shell settings put secure accessibility_display_daltonizer 13

color blindness simulation via adb command

Turning on Color Inversion via ADB

We can enable color inversion on Android devices from Accessibility settings and via ADB.

color inversion android accessibility settings

The following command can enable or disable color inversion on your device.

adb shell settings put secure accessibility_display_inversion_enabled 1
adb shell settings put secure accessibility_display_inversion_enabled 0

Enabling High Contrast Text via ADB

High-contrast text is an accessibility feature that enhances readability and visual impact for the visually impaired. You can enable or disable it on your Android device using the following command:

adb shell settings put secure high_text_contrast_enabled 1
adb shell settings put secure high_text_contrast_enabled o

Command to Enable Display Magnification

Android also supports display magnification for the visually impaired as an accessibility feature. Once enabled, you can activate the screen magnifier by tapping it 3 times in a row. You can move the magnifier’s frame and zoom in or out with your fingers.

display magnification accessibility feature

To enable display magnification, you must set the magnification scale first. Here is the command:

adb shell settings put secure accessibility_display_magnification_scale 5.0

Then enable it using the following ADB command:

adb shell settings put secure accessibility_display_magnification_enabled 1

If you want to disable display magnification, use this command:

adb shell settings put secure accessibility_display_magnification_enabled 0

By tuning accessibility settings via ADB commands, you can personalize an Android device according to your needs.

Was this Article helpful?
YesNo