From 09f17a4e298d4cf02fa822e2a6f685f3bc7f0aac Mon Sep 17 00:00:00 2001 From: Alan Kenyon Date: Wed, 8 May 2019 03:54:55 -0700 Subject: [PATCH] AccessibilityInfo.announceForAccessibility (#24746) Summary: AccessibilityInfo.announceForAccessibility is currently only available on iOS. I've added the Android specific implementation, updated RNTester, and the documentation. [Android] [Added] - Added AccessibilityInfo.announceForAccessibility for Android [General] [Added] - RNTester example for AccessibilityInfo.announceForAccessibility Pull Request resolved: https://github.com/facebook/react-native/pull/24746 Differential Revision: D15258054 Pulled By: cpojer fbshipit-source-id: 3e057a5c32b28e30ea2ee74a18854b012cd2dbfd --- .../AccessibilityInfo.android.js | 9 ++++++++ .../AccessibilityInfo.ios.js | 2 -- RNTester/js/AccessibilityExample.js | 22 +++++++++++++++++++ .../AccessibilityInfoModule.java | 15 +++++++++++++ 4 files changed, 46 insertions(+), 2 deletions(-) diff --git a/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js b/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js index 9ff5fe0a8..b14d664ef 100644 --- a/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js +++ b/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js @@ -135,6 +135,15 @@ const AccessibilityInfo = { UIManager.AccessibilityEventTypes.typeViewFocused, ); }, + + /** + * Post a string to be announced by the screen reader. + * + * See http://facebook.github.io/react-native/docs/accessibilityinfo.html#announceforaccessibility + */ + announceForAccessibility: function(announcement: string): void { + RCTAccessibilityInfo.announceForAccessibility(announcement); + }, }; module.exports = AccessibilityInfo; diff --git a/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js b/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js index 002ae9678..78929e01d 100644 --- a/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js +++ b/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js @@ -210,8 +210,6 @@ const AccessibilityInfo = { /** * Post a string to be announced by the screen reader. * - * @platform ios - * * See http://facebook.github.io/react-native/docs/accessibilityinfo.html#announceforaccessibility */ announceForAccessibility: function(announcement: string): void { diff --git a/RNTester/js/AccessibilityExample.js b/RNTester/js/AccessibilityExample.js index 8bb29c3e2..01e442183 100644 --- a/RNTester/js/AccessibilityExample.js +++ b/RNTester/js/AccessibilityExample.js @@ -452,6 +452,22 @@ class ScreenReaderStatusExample extends React.Component<{}> { } } +class AnnounceForAccessibility extends React.Component<{}> { + _handleOnPress = () => + AccessibilityInfo.announceForAccessibility('Announcement Test'); + + render() { + return ( + +