diff --git a/change/react-native-windows-3bd11779-ed8b-4f12-98bf-4f579a40d0d5.json b/change/react-native-windows-3bd11779-ed8b-4f12-98bf-4f579a40d0d5.json
new file mode 100644
index 00000000000..7ee0f3ba654
--- /dev/null
+++ b/change/react-native-windows-3bd11779-ed8b-4f12-98bf-4f579a40d0d5.json
@@ -0,0 +1,7 @@
+{
+ "type": "prerelease",
+ "comment": "accessibilityDescriptionProp impl",
+ "packageName": "react-native-windows",
+ "email": "satkh@microsoft.com",
+ "dependentChangeType": "patch"
+}
diff --git a/packages/playground/Samples/accessible.tsx b/packages/playground/Samples/accessible.tsx
index 73468208fcd..979cab95469 100644
--- a/packages/playground/Samples/accessible.tsx
+++ b/packages/playground/Samples/accessible.tsx
@@ -117,6 +117,22 @@ export default class Bootstrap extends React.Component<
TEST setAccessibilityFocus
+
+
+
+ TEST Accessibility Description
+
+
);
}
diff --git a/vnext/Microsoft.ReactNative/Fabric/AbiViewProps.cpp b/vnext/Microsoft.ReactNative/Fabric/AbiViewProps.cpp
index 3751d99862b..5c1332ea6c4 100644
--- a/vnext/Microsoft.ReactNative/Fabric/AbiViewProps.cpp
+++ b/vnext/Microsoft.ReactNative/Fabric/AbiViewProps.cpp
@@ -226,6 +226,10 @@ winrt::hstring ViewProps::AccessibilityLabel() noexcept {
return m_viewProps ? winrt::to_hstring(m_viewProps->accessibilityLabel) : winrt::hstring{};
}
+winrt::hstring ViewProps::AccessibilityHint() noexcept {
+ return m_viewProps ? winrt::to_hstring(m_viewProps->accessibilityHint) : winrt::hstring{};
+}
+
ImageProps::ImageProps(facebook::react::SharedViewProps props) noexcept : Super(props) {}
winrt::Windows::Foundation::Collections::IVectorView
diff --git a/vnext/Microsoft.ReactNative/Fabric/AbiViewProps.h b/vnext/Microsoft.ReactNative/Fabric/AbiViewProps.h
index c5391b6d92c..43a2d6af996 100644
--- a/vnext/Microsoft.ReactNative/Fabric/AbiViewProps.h
+++ b/vnext/Microsoft.ReactNative/Fabric/AbiViewProps.h
@@ -101,6 +101,7 @@ struct ViewProps : ViewPropsT {
winrt::Microsoft::ReactNative::Color BackgroundColor() noexcept;
winrt::hstring TestId() noexcept;
winrt::hstring AccessibilityLabel() noexcept;
+ winrt::hstring AccessibilityHint() noexcept;
protected:
facebook::react::SharedViewProps m_props;
diff --git a/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp b/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp
index b229f740ab5..ba469bf4bed 100644
--- a/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp
+++ b/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp
@@ -563,6 +563,15 @@ HRESULT __stdcall CompositionDynamicAutomationProvider::GetPropertyValue(PROPERT
: SysAllocString(L"");
break;
}
+ case UIA_FullDescriptionPropertyId: {
+ pRetVal->vt = VT_BSTR;
+ auto helpText = props->accessibilityHint.empty()
+ ? ::Microsoft::Common::Unicode::Utf8ToUtf16(compositionView->DefaultHelpText())
+ : ::Microsoft::Common::Unicode::Utf8ToUtf16(props->accessibilityHint);
+ pRetVal->bstrVal = SysAllocString(helpText.c_str());
+ hr = pRetVal->bstrVal != nullptr ? S_OK : E_OUTOFMEMORY;
+ break;
+ }
}
return hr;
diff --git a/vnext/Microsoft.ReactNative/ViewProps.idl b/vnext/Microsoft.ReactNative/ViewProps.idl
index 577bb33af71..fd2c8ee68b3 100644
--- a/vnext/Microsoft.ReactNative/ViewProps.idl
+++ b/vnext/Microsoft.ReactNative/ViewProps.idl
@@ -53,6 +53,7 @@ namespace Microsoft.ReactNative {
Color BackgroundColor { get; };
String TestId { get; };
String AccessibilityLabel { get; };
+ String AccessibilityHint { get; };
// TODO add accessors to all the properties on ViewProps
};