diff --git a/src/components/Pressable/GenericPressable/implementation/BaseGenericPressable.tsx b/src/components/Pressable/GenericPressable/implementation/BaseGenericPressable.tsx index b417c842de0a..64111cf111ac 100644 --- a/src/components/Pressable/GenericPressable/implementation/BaseGenericPressable.tsx +++ b/src/components/Pressable/GenericPressable/implementation/BaseGenericPressable.tsx @@ -37,6 +37,7 @@ function GenericPressable({ interactive = true, isNested = false, ref, + dataSet, ...rest }: PressableProps) { const styles = useThemeStyles(); @@ -45,6 +46,7 @@ function GenericPressable({ const isScreenReaderActive = Accessibility.useScreenReaderStatus(); const [hitSlop, onLayout] = Accessibility.useAutoHitSlop(); const [isHovered, setIsHovered] = useState(false); + const isRoleButton = [rest.accessibilityRole, rest.role].includes(CONST.ROLE.BUTTON); const isDisabled = useMemo(() => { let shouldBeDisabledByScreenReader = false; @@ -152,6 +154,7 @@ function GenericPressable({ onKeyDown={!isDisabled ? onKeyDown : undefined} onPressIn={!isDisabled ? onPressIn : undefined} onPressOut={!isDisabled ? onPressOut : undefined} + dataSet={{...(isRoleButton ? {[CONST.SELECTION_SCRAPER_HIDDEN_ELEMENT]: true} : {}), ...(dataSet ?? {})}} style={(state) => [ cursorStyle, StyleUtils.parseStyleFromFunction(style, state), @@ -160,6 +163,7 @@ function GenericPressable({ (state.hovered || isHovered) && StyleUtils.parseStyleFromFunction(hoverStyle, state), state.pressed && StyleUtils.parseStyleFromFunction(pressStyle, state), isDisabled && [StyleUtils.parseStyleFromFunction(disabledStyle, state), styles.noSelect], + isRoleButton && styles.userSelectNone, ]} // accessibility props accessibilityState={{