From 1300f40cba1e5929e732fb5f49ad7078b3d6e6cc Mon Sep 17 00:00:00 2001 From: TaduJR Date: Wed, 4 Feb 2026 20:57:59 +0300 Subject: [PATCH 1/3] fix: [Accessibility][Tracking] Focus Management --- src/components/MenuItem.tsx | 4 ++-- .../WorkspaceDuplicateSelectFeaturesForm.tsx | 15 +++------------ 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/components/MenuItem.tsx b/src/components/MenuItem.tsx index e8f2f699be65a..f5a8360dac73a 100644 --- a/src/components/MenuItem.tsx +++ b/src/components/MenuItem.tsx @@ -766,10 +766,10 @@ function MenuItem({ disabledStyle={shouldUseDefaultCursorWhenDisabled && [styles.cursorDefault]} disabled={disabled || isExecuting} ref={mergeRefs(ref, popoverAnchor)} - role={role} + role={interactive ? role : undefined} accessibilityLabel={accessibilityLabel ?? defaultAccessibilityLabel} accessible={shouldBeAccessible} - tabIndex={tabIndex} + tabIndex={interactive ? tabIndex : -1} onFocus={onFocus} sentryLabel={sentryLabel} > diff --git a/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx b/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx index 14d9af1b012e6..ebf8e85472c25 100644 --- a/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx +++ b/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx @@ -3,7 +3,6 @@ import {View} from 'react-native'; import Checkbox from '@components/Checkbox'; import ConfirmModal from '@components/ConfirmModal'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; -import {PressableWithFeedback} from '@components/Pressable'; import SelectionList from '@components/SelectionList'; import MultiSelectListItem from '@components/SelectionList/ListItem/MultiSelectListItem'; import type {ConfirmButtonOptions, ListItem} from '@components/SelectionList/types'; @@ -346,24 +345,16 @@ function WorkspaceDuplicateSelectFeaturesForm({policyID}: WorkspaceDuplicateForm {translate('workspace.duplicateWorkspace.whichFeatures')} - + 0 && selectedItems.length !== items.length} onPress={toggleAllItems} disabled={items.length === 0} + shouldSelectOnPressEnter /> - - {translate('workspace.common.selectAll')} - + {translate('workspace.common.selectAll')} Date: Wed, 4 Feb 2026 23:14:14 +0300 Subject: [PATCH 2/3] fix: keep Select All label clickable while hiding from screen readers --- .../WorkspaceDuplicateSelectFeaturesForm.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx b/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx index ebf8e85472c25..a9d3e6cf0de53 100644 --- a/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx +++ b/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx @@ -3,6 +3,7 @@ import {View} from 'react-native'; import Checkbox from '@components/Checkbox'; import ConfirmModal from '@components/ConfirmModal'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; +import {PressableWithFeedback} from '@components/Pressable'; import SelectionList from '@components/SelectionList'; import MultiSelectListItem from '@components/SelectionList/ListItem/MultiSelectListItem'; import type {ConfirmButtonOptions, ListItem} from '@components/SelectionList/types'; @@ -354,7 +355,15 @@ function WorkspaceDuplicateSelectFeaturesForm({policyID}: WorkspaceDuplicateForm disabled={items.length === 0} shouldSelectOnPressEnter /> - {translate('workspace.common.selectAll')} + + {translate('workspace.common.selectAll')} + Date: Wed, 4 Feb 2026 23:18:10 +0300 Subject: [PATCH 3/3] fix: add sentryLabel to Select All pressable --- .../workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx b/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx index a9d3e6cf0de53..f3fde50abca93 100644 --- a/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx +++ b/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx @@ -361,6 +361,7 @@ function WorkspaceDuplicateSelectFeaturesForm({policyID}: WorkspaceDuplicateForm accessible={false} tabIndex={-1} dataSet={{[CONST.SELECTION_SCRAPER_HIDDEN_ELEMENT]: true}} + sentryLabel="DuplicateWorkspace-SelectAllLabel" > {translate('workspace.common.selectAll')}