ArturKalach
react-native-a11y-order
TypeScript

Native-first React Native library for screen reader focus order, focus trapping, cards with nested buttons, and accessibility announcements on iOS (VoiceOver) and Android (TalkBack).

Last updated Jun 3, 2026
50
Stars
2
Forks
0
Issues
0
Stars/day
Attention Score
37
Language breakdown
TypeScript 44.3%
Objective-C++ 26.5%
Java 18.1%
Objective-C 8.1%
JavaScript 0.9%
Ruby 0.7%
โ–ธ Files click to expand
README

react-native-a11y-order

React Native A11y Order

Native-first React Native library for controlling screen reader focus order on iOS (VoiceOver) and Android (TalkBack).

  • ๐Ÿ”ข Custom focus order โ€” define the exact sequence, independent of render order
  • ๐Ÿƒ Cards with inner buttons โ€” card action and nested controls, both accessible at once
  • ๐Ÿ”’ Focus trap โ€” keep VoiceOver and TalkBack inside modals, no leaking
  • ๐Ÿ“ฃ Transition announcements โ€” notify the screen reader on screen and panel changes
  • โšก New Architecture ยท Old Architecture ยท Bridgeless ยท Expo prebuild
[!TIP]
Before adding this library, try <View collapsable={false}> โ€” it fixes most simple focus order issues with no extra dependencies. Learn more
[!IMPORTANT]
React Native v0.8.2+ includes an experimental experimentalaccessibilityOrder prop โ€” see Accessibility docs.


Installation

yarn add react-native-a11y-order
cd ios && pod install

Get started with the getting started guide or jump straight to the component overview.

React Native compatibility

| Library version | React Native | | :-- | :-- | | 1.0.0 | โ‰ฅ 0.80 | | 0.11.0 | โ‰ค 0.79 |

What's available

Components

| Export | Purpose | | :-- | :-- | | A11y.Order | Container that defines a named focus-order sequence. | | A11y.Index | Positioned slot within an A11y.Order sequence. | | A11y.View | Standalone view with screen reader focus events; no ordering. | | A11y.Card | Card that keeps both a card-level action and nested buttons accessible simultaneously. | | A11y.FocusTrap | Confines screen reader focus to a subtree (modal/overlay). | | A11y.FocusFrame | Root boundary required by A11y.FocusTrap; detects focus escaping the region. | | A11y.PaneTitle | Announces screen or panel transitions to VoiceOver/TalkBack. | | A11y.ScreenChange | Shorthand for A11y.PaneTitle with type="activity" pre-set. |

API

| Export | Purpose | | :-- | :-- | | ScreenReader | Reliable programmatic announcements for VoiceOver and TalkBack. |


Documentation


Roadmap

All planned features are implemented and released. No new functionality or API changes are planned.

Future work is limited to:

  • React Native version support (new releases)
  • Bug fixes and issue resolution
Both active versions receive fixes:

| Version | React Native | Status | | :-- | :-- | :-- | | 1.0.0 | โ‰ฅ 0.80 | Active โ€” bug fixes and new RN support | | 0.11.0 | โ‰ค 0.79 | Active โ€” bug fixes only |


Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT


Made with create-react-native-library

ยฉ 2026 GitRepoTrend ยท ArturKalach/react-native-a11y-order ยท Updated daily from GitHub