From 0ac40c73728c406008151cf752c0c38c01e8424e Mon Sep 17 00:00:00 2001 From: Alicia Drummond <7664112+FalseLobster@users.noreply.github.com> Date: Tue, 19 Dec 2023 12:16:10 -0800 Subject: [PATCH] Restore behavior of accessibilityRole --- packages/react-native/React/Views/RCTViewManager.m | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/react-native/React/Views/RCTViewManager.m b/packages/react-native/React/Views/RCTViewManager.m index 2812e33bc55564..cf207505e9b380 100644 --- a/packages/react-native/React/Views/RCTViewManager.m +++ b/packages/react-native/React/Views/RCTViewManager.m @@ -292,9 +292,9 @@ - (RCTShadowView *)shadowView RCT_REMAP_VIEW_PROPERTY(transform, reactTransform, CATransform3D) RCT_REMAP_VIEW_PROPERTY(transformOrigin, reactTransformOrigin, RCTTransformOrigin) -#if !TARGET_OS_OSX // [macOS] RCT_CUSTOM_VIEW_PROPERTY(accessibilityRole, UIAccessibilityTraits, RCTView) { + #if !TARGET_OS_OSX // [macOS] UIAccessibilityTraits accessibilityRoleTraits = json ? [RCTConvert UIAccessibilityTraits:json] : UIAccessibilityTraitNone; if (view.reactAccessibilityElement.accessibilityRoleTraits != accessibilityRoleTraits) { @@ -302,8 +302,16 @@ - (RCTShadowView *)shadowView view.reactAccessibilityElement.accessibilityRole = json ? [RCTConvert NSString:json] : nil; [self updateAccessibilityTraitsForRole:view withDefaultView:defaultView]; } + #else // [macOS + if (json) { + view.reactAccessibilityElement.accessibilityRole = [RCTConvert accessibilityRoleFromTraits:json]; + } else { + view.reactAccessibilityElement.accessibilityRole = defaultView.accessibilityRole; + } + #endif // macOS] } +#if !TARGET_OS_OSX // [macOS] RCT_CUSTOM_VIEW_PROPERTY(role, UIAccessibilityTraits, RCTView) { UIAccessibilityTraits roleTraits = json ? [RCTConvert UIAccessibilityTraits:json] : UIAccessibilityTraitNone;