Action Performed:
Precondition: User is logged in
Using VoiceOver on iOS, open the app
Swipe right to focus the Search button and double-tap to activate it
Swipe right to focus the Search field and note how it is announced
This is a global issue affecting all screens with the Search field
Examples:
Group Chat: Start Chat
Profile: Country
Profile: Timezone
Wallet: Add Bank Account
Create Expense: Merchant
Reports
Create Workspace > Company Cards: Add Card
Expected Result:
The field should be announced with a search field role, e.g.:
'Search for something, search field'
Actual Result:
The search field is currently announced only with its label and is missing its programmatic role:
Area issue was found in:
Search
Failed WCAG checkpoints
WCAG 4.1.2 Name, Role, Value
https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
User impact:
Providing role, state, and value information on all user interface components enables compatibility with assistive technology, such as screen readers, screen magnifiers, and speech recognition software, used by people with disabilities.
Suggested resolution:
Ensure the search field is implemented using a proper TextInput element. Do not wrap the TextInput in a container that overrides or blocks the announcement of the role.
https://appt.org/en/docs/react-native/samples/accessibility-role
https://reactnative.dev/docs/textinput
Environment:
Apple iPhone 14 Pro - iOS 18.7.1, Wi-Fi - Native (No mobile browser)
Screenshots/Videos
Bug7009048_1763634049322.Search_field_missing_programmatic_role.mp4
Version Number: Production
Reproducible in staging?: NA
Reproducible in production?: Yes
Email or phone of affected tester (no customers): No
Logs: https://stackoverflow.com/c/expensify/questions/4856 NA
Notes/Photos/Videos: Any additional supporting documentation Yes
Expensify/Expensify Issue URL: https://platform.applause.com/company/12102/products/36628/community-issues/7009048
Issue reported by: NA
Slack conversation: NA
Action Performed:
Precondition: User is logged in
This is a global issue affecting all screens with the Search field
Examples:
Expected Result:
The field should be announced with a search field role, e.g.:
Actual Result:
The search field is currently announced only with its label and is missing its programmatic role:
Area issue was found in:
Search
Failed WCAG checkpoints
WCAG 4.1.2 Name, Role, Value
https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
User impact:
Providing role, state, and value information on all user interface components enables compatibility with assistive technology, such as screen readers, screen magnifiers, and speech recognition software, used by people with disabilities.
Suggested resolution:
Ensure the search field is implemented using a proper TextInput element. Do not wrap the TextInput in a container that overrides or blocks the announcement of the role.
https://appt.org/en/docs/react-native/samples/accessibility-role
https://reactnative.dev/docs/textinput
Environment:
Apple iPhone 14 Pro - iOS 18.7.1, Wi-Fi - Native (No mobile browser)
Screenshots/Videos
Bug7009048_1763634049322.Search_field_missing_programmatic_role.mp4
Version Number: Production
Reproducible in staging?: NA
Reproducible in production?: Yes
Email or phone of affected tester (no customers): No
Logs: https://stackoverflow.com/c/expensify/questions/4856 NA
Notes/Photos/Videos: Any additional supporting documentation Yes
Expensify/Expensify Issue URL: https://platform.applause.com/company/12102/products/36628/community-issues/7009048
Issue reported by: NA
Slack conversation: NA