Focusable Pressables should take focus when they are clicked on#15327
Focusable Pressables should take focus when they are clicked on#15327acoates-ms merged 5 commits intomicrosoft:mainfrom
Pressables should take focus when they are clicked on#15327Conversation
| } | ||
| onPress?.(args); | ||
| }, | ||
| [focusOnPress, onPress, focusable], |
There was a problem hiding this comment.
Do you need to add viewRef here? I can't remember
| // [Windows | ||
| /** | ||
| * When the pressable is pressed it will take focus | ||
| * Default value: true |
There was a problem hiding this comment.
if the default is true should this prop become disableFocusOnPress?
There was a problem hiding this comment.
I prefer to avoid negative props. - But I see an argument for avoiding default true props too.
There was a problem hiding this comment.
would also prefer not having bool in the name, I don't like that we have enableFocusRing instead something like focusRingVisible. I also think it wouldn't be true by default except on windows..
| const onPressWithFocus = React.useCallback( | ||
| (args: GestureResponderEvent) => { | ||
| if (focusable !== false && focusOnPress !== false) { | ||
| viewRef?.current?.focus(); | ||
| } | ||
| onPress?.(args); | ||
| }, | ||
| [focusOnPress, onPress, focusable], |
There was a problem hiding this comment.
I think it would be better to this in Pressability, where we already override onPress once.
There was a problem hiding this comment.
ah.. but we don't have the ref there..
…crosoft#15327) * Pressables should take focus on press * Change files * fix
…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 <vmorozov@microsoft.com> * [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 <66076509+vineethkuttan@users.noreply.github.com> * Defer UIA accessibility provider initialization until requested (#14756) * Initial plan for issue * Defer UIA provider initialization to GetPatternProvider Co-authored-by: chrisglein <26607885+chrisglein@users.noreply.github.com> * Add change file for UIA provider initialization optimization Co-authored-by: dannyvv <11037542+dannyvv@users.noreply.github.com> * Format code with clang-format to fix spacing Co-authored-by: acoates-ms <30809111+acoates-ms@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: chrisglein <26607885+chrisglein@users.noreply.github.com> Co-authored-by: dannyvv <11037542+dannyvv@users.noreply.github.com> Co-authored-by: acoates-ms <30809111+acoates-ms@users.noreply.github.com> Co-authored-by: Vineeth <66076509+vineethkuttan@users.noreply.github.com> * 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 <protikbiswas100@microsoft.com> * 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 <zxcgi@pm.me> Co-authored-by: Vladimir Morozov <vmorozov@microsoft.com> Co-authored-by: Ritoban Dutta <124308320+ritoban23@users.noreply.github.com> Co-authored-by: vineethkuttan <66076509+vineethkuttan@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: chrisglein <26607885+chrisglein@users.noreply.github.com> Co-authored-by: dannyvv <11037542+dannyvv@users.noreply.github.com> Co-authored-by: Protik Biswas <219775028+protikbiswas100@users.noreply.github.com> Co-authored-by: Protik Biswas <protikbiswas100@microsoft.com> Co-authored-by: Abhijeet Jha <74712637+iamAbhi-916@users.noreply.github.com>
Description
Focusable
Pressables should take focus when they are clicked on.I added a new property to Pressable
focusOnPress, which can be set to false to prevent this behavior.Type of Change
Why
Resolves #14497 #14496
Microsoft Reviewers: Open in CodeFlow