Android accessibility settings include tools to enhance usability and improve navigation for users with disabilities. By tuning the accessibility settings, users with visual impairments, hearing difficulties, motor skill limitations, or cognitive disabilities can navigate and use their Android devices more efficiently. ADB is a versatile command-line tool that allows a Windows, macOS, or Linux computer to interact with Android devices. With the help of ADB commands, we can control the accessibility settings on Android devices using ADB.
Android’s Accessibility settings support a host of features that include:
- Vision enhancements: High contrast themes and fonts, highlights 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 while navigating the device interface 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 even 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 use commands on your device.
- Set up ADB on your computer
- Set up ADB over Wi-Fi to use commands wirelessly
- Shizuku-powered aShell Terminal app on your device
Customizing Accessibility Settings via ADB
You can customize and fine-tune the accessibility features on your Android device programmatically via ADB. By executing commands, 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 accessible-related settings on your device.
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 for them 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
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 commands. 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
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 with 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
As you can see, the default display density of my Samsung Galaxy S24 Ultra is ‘450’. If I have to scale the display size to a large or larger size, I’ll multiply ‘450’ with ‘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.
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
Turning on Color Inversion via ADB
We can enable color inversion on Android devices from Accessibility settings as well as via ADB.
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.
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.