diff --git a/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js b/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js index dfa09b53a..09547ea06 100644 --- a/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js +++ b/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js @@ -12,6 +12,7 @@ const NativeModules = require('NativeModules'); const RCTDeviceEventEmitter = require('RCTDeviceEventEmitter'); +const UIManager = require('UIManager'); const RCTAccessibilityInfo = NativeModules.AccessibilityInfo; @@ -66,6 +67,18 @@ const AccessibilityInfo = { listener.remove(); _subscriptions.delete(handler); }, + + /** + * Set accessibility focus to a react component. + * + * See http://facebook.github.io/react-native/docs/accessibilityinfo.html#setaccessibilityfocus + */ + setAccessibilityFocus: function(reactTag: number): void { + UIManager.sendAccessibilityEvent( + reactTag, + UIManager.AccessibilityEventTypes.typeViewFocused, + ); + }, }; module.exports = AccessibilityInfo; diff --git a/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js b/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js index 8f2b0aa78..da1f6e4f1 100644 --- a/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js +++ b/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js @@ -93,8 +93,6 @@ const AccessibilityInfo = { /** * Set accessibility focus to a react component. * - * @platform ios - * * See http://facebook.github.io/react-native/docs/accessibilityinfo.html#setaccessibilityfocus */ setAccessibilityFocus: function(reactTag: number): void { diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java index 1eea5018a..eb740fd08 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java @@ -134,6 +134,8 @@ import java.util.Map; MapBuilder.of( "typeWindowStateChanged", AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED, + "typeViewFocused", + AccessibilityEvent.TYPE_VIEW_FOCUSED, "typeViewClicked", AccessibilityEvent.TYPE_VIEW_CLICKED));