Repository navigation
Description
Action Performed:
Prerequisites:
- the user is not signed in
- Using iOS VoiceOver, open the Expensify app
- Swipe to the 'Phone or email' input field and type the value
- Swipe to refocus the input field
- Listen to the VoiceOver announcement
Other Occurrences:
- Onboarding: all fields in the flow
- On Inbox: the field 'Enter your boss's email'
- On Status: the field 'Message'
- On Status - Vacation Delegate
- On Profile - Display Name
- On Profile - Address
- On Profile - Legal Name
- On Security - Close Account
- On Wallet - Add Bank Account
- On Save the World - I know a teacher
- On Filters
- On Create Workspace
Expected Result:
The focused field should be announced with its role, name and entered value.
Actual Result:
When a VoiceOver user focuses on an input field, VoiceOver announces the field's label and role, but does not announce the value the user has already typed. If the user navigates away and then returns to the field, they cannot easily confirm that their input is still correct without checking each character individually, which is inefficient.
Area issue was found in:
Sign in
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:
Use accessibilityLabel + accessibilityValue on TextInput to ensure the control is announced with its name, role, and entered value.
https://reactnative.dev/docs/textinput
https://reactnative.dev/docs/accessibility#accessibilitylabel
Environment:
Apple iPhone 11 - iOS 17.5.1, H0T Mobile - Native (No mobile browser)
Screenshots/Videos
Bug7005388_1763270810663.The__Phone_or_email__input_field_is_announced_without_entered_value.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/7005388
Issue reported by: NA
Slack conversation: NA
Upwork Automation - Do Not Edit
- Upwork Job URL: https://www.upwork.com/jobs/~022013861677507975993
- Upwork Job ID: 2013861677507975993
- Last Price Increase: 2026-02-11
Activity
melvin-bot commentedon Dec 12, 2025
📣 @olenamihno! 📣
Please report bugs or suggest features in the #expensify-open-source Slack channel, don't directly open issues in this repo!
Instructions here to join the channel 📖
Fix Expensify#77547: Add label and value to native text input
[-]Screen Reader: Many Pages: The input field is announced without entered value[/-][+][$250] Screen Reader: Many Pages: The input field is announced without entered value[/+]58 remaining items
melvin-bot commentedon Mar 23, 2026
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.3.41-4 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:
If no regressions arise, payment will be issued on 2026-03-30. 🎊
For reference, here are some details about the assignees on this issue:
[-][$250] Screen Reader: Many Pages: The input field is announced without entered value[/-][+][Due for payment 2026-03-30] [$250] Screen Reader: Many Pages: The input field is announced without entered value[/+]melvin-bot commentedon Mar 23, 2026
@Ollyws @mallenexpensify The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]
mallenexpensify commentedon Mar 30, 2026
Payment Summary
Contributor: @daledah due $250 via NewDot
Contributor+: @Ollyws due $250 via NewDot
Thx
Ollyws commentedon Mar 31, 2026
Requested on ND.
trjExpensify commentedon Apr 1, 2026
approved $250 for @Ollyws
quinthar commentedon May 12, 2026
Approved $250 for @daledah
Guard accessibilityValue by platform in BaseTextInput