[pm-41938] fix: Bank Account accessibility fixes - #2985
Draft
morganzellers-bw wants to merge 6 commits into
Draft
Conversation
…unt view toggles VoiceOver announced the Account Number, PIN, and IBAN reveal toggles on the Bank Account view screen with a generic "button" label because PasswordVisibilityButton accepted an accessibilityLabel but never applied it. Wires up field-specific announcements (e.g. "Account number is not visible, tap to show.") for each toggle.
…unt add/edit toggles VoiceOver announced the Account Number, PIN, and IBAN reveal toggles on the Bank Account add/edit screen with the same generic "Password is/is not visible" wording regardless of which field was being toggled. Adds an optional field-name parameter to BitwardenTextField so these three fields announce their own name (e.g. "PIN is visible, tap to hide.") while every other password-style field in the app keeps its existing generic wording.
…o VoiceOver VoiceOver was reading the Account Number, Routing Number, Branch Number, PIN, SWIFT Code, and IBAN values on the Bank Account view screen as whole numbers or words instead of spelling out each character, since no explicit accessibilityValue was set for these fields. Adds an opt-in spellOutAccessibilityValue flag to PasswordText and BitwardenTextValueField, backed by a new String.spellingOutCharacters() helper, and wires it up only for the six affected Bank Account fields so other consumers of these shared components are unaffected.
…ows to VoiceOver The row's more options button was visually tappable but unreachable by VoiceOver because the row combines its content into a single accessibility element, which swallows the nested button's own announcement and activation. Adds a named accessibility action so the overflow menu remains announced and accessible, matching the pattern already used for PasswordHistoryListView's combined row.
…o icon to VoiceOver The info button was nested inside BitwardenToggle's title content, so VoiceOver collapsed the whole row into one element and swallowed the button's own label and tap target. Move it into BitwardenToggle's accessory slot, which keeps it independently reachable, and add an "External link" hint, mirroring the Fill Assist toggle fix (PM-41097).
.accessibilityValue(value.spellingOutCharacters()) was being added on
top of a Text whose own content is already exposed as its
accessibility label, so VoiceOver would likely announce the value
twice: once normally, once spelled out. Use speechSpellsOutCharacters
instead, which tells VoiceOver to spell out the label itself rather
than adding a redundant value. Drops the now-unused
String.spellingOutCharacters() helper.
Also replaces a hand-rolled Task { await ... } in an
accessibilityAction with the existing accessibilityAsyncAction helper
for consistency.
ViewInspector can't inspect speechSpellsOutCharacters directly, so the
affected tests now verify the flag is passed through to PasswordText/
BitwardenTextValueField instead of the rendered accessibility value;
the actual VoiceOver announcement should be confirmed on-device.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## pm-41934-bank-account-behavior-fixes #2985 +/- ##
=====================================================================
Coverage 79.51% 79.51%
=====================================================================
Files 1170 1170
Lines 75217 75261 +44
=====================================================================
+ Hits 59807 59844 +37
- Misses 15410 15417 +7 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎟️ Tracking
📔 Objective
Adds a batch of accessibility bug fixes under the Bank Account item type
📸 Screenshots