diff --git a/change/react-native-windows-d6c69c85-73dc-44fd-bcea-e4a8833b29a8.json b/change/react-native-windows-d6c69c85-73dc-44fd-bcea-e4a8833b29a8.json new file mode 100644 index 00000000000..6af58eec4ec --- /dev/null +++ b/change/react-native-windows-d6c69c85-73dc-44fd-bcea-e4a8833b29a8.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Add accessible Functionality", + "packageName": "react-native-windows", + "email": "34109996+chiaramooney@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp b/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp index fb9533bb034..4975fcfc64f 100644 --- a/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +++ b/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp @@ -247,6 +247,16 @@ HRESULT __stdcall CompositionDynamicAutomationProvider::GetPropertyValue(PROPERT pRetVal->boolVal = !props->accessibilityState.disabled ? VARIANT_TRUE : VARIANT_FALSE; break; } + case UIA_IsContentElementPropertyId: { + pRetVal->vt = VT_BOOL; + pRetVal->boolVal = (props->accessible && props->accessibilityRole != "none") ? VARIANT_TRUE : VARIANT_FALSE; + break; + } + case UIA_IsControlElementPropertyId: { + pRetVal->vt = VT_BOOL; + pRetVal->boolVal = (props->accessible && props->accessibilityRole != "none") ? VARIANT_TRUE : VARIANT_FALSE; + break; + } } return hr; diff --git a/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp b/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp index 98d2b631468..d91a684747d 100644 --- a/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +++ b/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp @@ -1056,6 +1056,18 @@ void CompositionBaseComponentView::updateAccessibilityProps( winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty( provider, UIA_NamePropertyId, oldViewProps.accessibilityLabel, newViewProps.accessibilityLabel); + winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty( + provider, + UIA_IsContentElementPropertyId, + (oldViewProps.accessible && oldViewProps.accessibilityRole != "none"), + (newViewProps.accessible && newViewProps.accessibilityRole != "none")); + + winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty( + provider, + UIA_IsControlElementPropertyId, + (oldViewProps.accessible && oldViewProps.accessibilityRole != "none"), + (newViewProps.accessible && newViewProps.accessibilityRole != "none")); + winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty( provider, UIA_IsEnabledPropertyId,