react / react/react-native

Android: Enabled services

Open
#30,862 6 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Accessibility Accessibility Team - Evaluated Good first issue Platform: Android
Dominant language
C++
Stars
127k
Forks
25.3k
Avg merge
1d 23h
Merged PRs (30d)
4

Description

Description

Similar to issue #30864 and heavily intertwined with #30863, it is sometimes useful to query what accessibility services a user has currently enabled. This would allow your to tailor your app's UI to the specific service. For example, if a user has the "Talkback" screen reader service enabled, you probably don't want videos to auto-play, as the audio would be interruptive to the screen readers announcements, and if auto-played without audio the videos would be playing and taking bandwidth without the user likely realizing this was happening.

Right now, there is a method in the AccessibilityInfo API to detect talkback specifically (isScreenReaderEnabled), but there is not a general purpose method to get a list of all enabled services.

React Native version:

v0.63

Expected Behavior

The AccessibilityInfo API should have some general purpose method to get a list of all enabled services.

Android Details

This functionality is available in the AccessibilityManager class via the getEnabledAccessibilityServiceList method.
https://developer.android.com/reference/android/view/accessibility/AccessibilityManager#getEnabledAccessibilityServiceList(int)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the React Native AccessibilityInfo API and the Android AccessibilityManager.getEnabledAccessibilityServiceList method linked in the issue. Determine how enabled services should be exposed through the API, then verify that callers can retrieve the complete list and that the behavior is consistent with the related accessibility issues.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, react-native
Domain
accessibility, mobile
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.