react / react/react-native

iOS: Responding to Actions via UIAccessibilityAction

Open
#30,893 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Accessibility Accessibility Team - Evaluated Never gets stale Platform: iOS
Dominant language
C++
Stars
127k
Forks
25.3k
Avg merge
1d 23h
Merged PRs (30d)
4

Description

Description

There are actions that a VoiceOver user may invoke while using an application. React Native should be able to respond to these actions. One example that is currently missing from React Native's support is accessibilityScroll, which typically is listened to in order to perform a scroll action on a list of some kind.

React Native version:

v0.63

Expected Behavior

There is already precedent in React Native for actions, so in theory all the "actions" available for iOS would have associated functions. For scrolling, something like "onAccessibilityScroll(direction:)" would be called when the gesture is detected by the system.

iOS Details

UIAccessibilityAction is an informal protocol which contains instance methods to override. Ideally, all of the supported actions would be bridged.

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 by reviewing React Native's existing accessibility action handling and the UIAccessibilityAction documentation linked in the issue, using accessibilityScroll as the concrete example. Identify the native-to-JavaScript entry points and existing action precedent, then verify that the supported iOS actions can be invoked by VoiceOver and surfaced to the application.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, objective-c, react-native
Domain
accessibility, mobile
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.