-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Add ability to customize native accessibility of custom native components #15532
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
vineethkuttan
approved these changes
Jan 9, 2026
acoates-ms
added a commit
to acoates-ms/react-native-windows
that referenced
this pull request
Jan 9, 2026
…ents (microsoft#15532) * Add ability to customize native accessibility of custom native components * format * Change files * fix * fix * Update test * Change files * pacakgelock * snapshots
acoates-ms
added a commit
that referenced
this pull request
Jan 27, 2026
…ibility of custom native components (#15533) * Focusable `Pressable`s should take focus when they are clicked on (#15327) * Pressables should take focus on press * Change files * fix * Add TSF support to TextInput (#15363) * Add TSF support to TextInput * Change files * Tooltip positioned incorrectly on non 100% scale factor (#15382) * Tooltip positioned incorrectly on non 100% scale factor * Change files * Fix stackoverflow in StructInfo (#15454) * Fix stackoverflow in StructInfo Fix for the stack-buffer-overflow when using the FieldInfo like this: inline winrt::Microsoft::ReactNative::FieldMap GetStructInfo(AppStateSpec_AppState*) noexcept { winrt::Microsoft::ReactNative::FieldMap fieldMap { {L"app_state", &AppStateSpec_AppState::app_state}, // ^^^^^^^^^ when constructing the std::pair, temporary stack variables are created. }; return fieldMap; } but here in react-native-windows\vnext\Microsoft.ReactNative.Cxx\StructInfo.h the FieldInfo is trying to dereference and store data from a pointer (&fieldPtr) that points to a temporary object on the stack: m_fieldPtrStore{*reinterpret_cast<uintptr_t *>(&fieldPtr)} AddressSanitizer detects the stack-buffer-overflow (accessing memory past the temporary's lifetime) and terminates the process. Instead, we avoid double indirection by using a memcopy. * Change files --------- Co-authored-by: Vladimir Morozov <[email protected]> * [Fabric] Fix UIA_LiveSettingPropertyId to use VT_I4 datatype instead of VT_BSTR (#15438) * [Fabric] Fix UIA_LiveSettingPropertyId to use VT_I4 datatype instead of VT_BSTR Fixes #15050 Use GetLiveSetting() conversion function to properly convert accessibilityLiveRegion string values to long (VT_I4) datatype as required by UIA_LiveSettingPropertyId. * call function with namespace --------- Co-authored-by: vineethkuttan <[email protected]> * Defer UIA accessibility provider initialization until requested (#14756) * Initial plan for issue * Defer UIA provider initialization to GetPatternProvider Co-authored-by: chrisglein <[email protected]> * Add change file for UIA provider initialization optimization Co-authored-by: dannyvv <[email protected]> * Format code with clang-format to fix spacing Co-authored-by: acoates-ms <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: chrisglein <[email protected]> Co-authored-by: dannyvv <[email protected]> Co-authored-by: acoates-ms <[email protected]> Co-authored-by: Vineeth <[email protected]> * Accessibility and UIA Support for XAML Fabric implementation (#15466) * accessibility and UIA support * adding lint and formatting fix * adding accessibility and UIA support for XAML fabric * Change files --------- Co-authored-by: Protik Biswas <[email protected]> * Fabric : Implements selectable prop for <Text> (#15473) * visual studio 2026 strict check fix * Implement text selection with drag highlight for selectable prop * implemented copy to clipboard * CTRL + A to select all text * Double-click on a word in selectable text selects the word * right click on selected text provides context menu * fixes unselect after CTRL + A selection * implements I-beam cursor for selectable text * default selection color cleanup * yarn lint:fix and format * Change files * nit * nit * review comments ( double click , theme ( use of system api) , Capture pointer ) * removed weak_ref of ComponentView rather take ReactTaggedView * yarn format * review comments * nit * review comments : nit * invalid/null tag returns -1 for ReactTaggedView * support CJK selcetion using icu.h * update Desktop.DLL with icu.lib * CJK word boundary using dictionary * review comments * yarn lint:fix and format * Add IcuUtils.cpp to project files for CJK support * remove ICUUtils from Microsoft.ReactNative.vcxproj already added to shared * Fix DPI scaling for debugging overlay highlights (#15479) * Fix DPI scaling for debugging overlay highlights * Change files * pointScaleFactor from m_layoutMetrics as its member of base class ComponentView * Add ability to customize native accessibility of custom native components (#15532) * Add ability to customize native accessibility of custom native components * format * Change files * fix * fix * Update test * Change files * pacakgelock * snapshots * fix * fix * Update snapshot --------- Co-authored-by: Ivan Golubev <[email protected]> Co-authored-by: Vladimir Morozov <[email protected]> Co-authored-by: Ritoban Dutta <[email protected]> Co-authored-by: vineethkuttan <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: chrisglein <[email protected]> Co-authored-by: dannyvv <[email protected]> Co-authored-by: Protik Biswas <[email protected]> Co-authored-by: Protik Biswas <[email protected]> Co-authored-by: Abhijeet Jha <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Adds a new override to allow custom native components to be able to provide a custom accessibility implementation.
Did a bunch of cleanup of code that was assuming that the UIA provider was a CompositionDynamicAutomationProvider.
Why
What is the motivation for this change? Add a few sentences describing the context and overall goals of the pull request's commits.
Resolves #14623
Testing
Added a new sample component that uses a native accessibility implementation
Microsoft Reviewers: Open in CodeFlow