Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUG - sev-2 - iOS - Some assistive tech can't get 'into'/'onto' screens where the only actionable items are initially offscreen #9461

Open
5 tasks
TKDickson opened this issue Aug 26, 2024 · 10 comments
Assignees
Labels
accessibility Accessibility awareness or needs for the ticket bug Used to identify a bug ticket that will be worked through the bug process front-end Ticket requires front-end work global Issues for the global team QA Tickets require QA work / review scrubbed Added to newly-written bug tickets after QA has reviewed them for clarity and completeness sev-2 Mid-tier bug severity level based on QA bug severity scale - QA to assign this

Comments

@TKDickson
Copy link
Contributor

TKDickson commented Aug 26, 2024

What happened?

Screens where the only actionable items are below the fold are inaccessible to keyboard-only navigation and invisible to switch control (when set to automatically rotate through actionable items). (With sufficiently-large font size, "screens where actionable items initial load offscreen" can be a LOT of screens).

One example is the BSSV letter selection screen - on this screen, a keyboard user would get the 'review letters' back button at the top, and then all of the nav at the bottom of the screen, but would not be able to get 'into' the screen to select which info to include, or generate their letter. Here's the targets for switch and keyboard.

Image

On Android, users can get to the action items further down the screen (even when initially offscreen). On iOS, users can get to action items 'below the fold' with a keyboard, as long as at least one action item is in the 'content area' of the screen when it first loads.

Specs:

  • Device:
  • OS:
  • User Account:
  • Accessibility State: Depending on device, may need to have text resized (to replicate the condition under which there's nothing 'actionable' onscreen at first).
  • Also turn on either switch control, or keyboard-only access,

Steps to Reproduce

If you haven't navigated the app with a keyboard before - connect any bluetooth keyboard to your device. Then in your device's settings, go to Accessibility, then Keyboards (it's in the physical and motor section), and toggle "Full Keyboard Access" on. You should be able to start using your keyboard at this point - and common commands are helpfully listed onscreen (feel free to remap in the commands section if desired)

Then, use your keyboard navigation to go to Home > Benefits > VA letters and documents > review letters > Benefits summary and service verification. Notice how on iOS you cannot go further on the screen/can't get to content offscreen, if all actionable items initially loaded offscreen. ('actionable' includes the rows in the 'military service information' section, even though those rows are not in fact actionable items)

Desired behavior

Should be able to navigate to actionable content with keyboard navigation only, no matter if it's initially onscreen or not

Acceptance Criteria

Bug Severity - BE SURE TO ADD THE SEVERITY LABEL

See Bug Tracking for details on severity levels

  • Impact: High Low
  • Frequency: High Low
  • 3 - Low
  • 2 - High
  • 1 - Critical

Linked to Story

Screen shot(s) and additional information

Full JSON response for services related to issue (expand/collapse)

Ticket Checklist

  • Steps to reproduce are defined
  • Desired behavior is added
  • Labels added (front-end, back-end, global, Health, relevant feature, accessibility, etc)
  • Estimate of 1 added (for front-end tickets)
  • Added either to the relevant feature epic (if found during new feature implementation), or the relevant team's bug epic (Global, Health & Benefits, API, QART)
@TKDickson TKDickson added accessibility Accessibility awareness or needs for the ticket bug Used to identify a bug ticket that will be worked through the bug process global Issues for the global team QA Tickets require QA work / review sev-2 Mid-tier bug severity level based on QA bug severity scale - QA to assign this labels Aug 26, 2024
@TKDickson TKDickson changed the title BUG - sev-2 - iOS - Keyboard-only navigation can't get 'into'/'onto' screens where the only actionable items are initially offscreen BUG - sev-2 - iOS - Some assistive tech can't get 'into'/'onto' screens where the only actionable items are initially offscreen Aug 26, 2024
@TKDickson TKDickson removed their assignment Sep 6, 2024
@alexandec
Copy link
Contributor

This appears to be resolved in iOS 18. Non-actionable items are focusable with Full Keyboard Access. I can scroll up and down through them using the arrow keys. Here's an example using only the keyboard to navigate:

fka-letter-navigation.mov

@alexandec alexandec assigned alexandec and unassigned alexandec Sep 17, 2024
@alexandec
Copy link
Contributor

Okay, I tested with FKA turned on and larger text. This problem still exists with larger text sizes.

@TKDickson TKDickson added the scrubbed Added to newly-written bug tickets after QA has reviewed them for clarity and completeness label Sep 30, 2024
@cadibemma cadibemma assigned cadibemma and unassigned cadibemma Oct 11, 2024
@TKDickson TKDickson added the front-end Ticket requires front-end work label Oct 24, 2024
@alexandec
Copy link
Contributor

Some background info on keyboard navigation:

  • It's possible for VoiceOver/TalkBack focus to work fine, but for keyboard navigation the focus may not work correctly on the same elements due to a difference in implementation between screen reader and keyboard navigation
  • We can't detect whether the user has FKA (Full Keyboard Access) enabled on iOS so we can't enable a workaround only for FKA
  • Any keyboard navigation workarounds must be carefully tested with screen readers to ensure they don't introduce regressions
  • See the comments on #9474 for additional investigation and info on keyboard navigation

@jennb33
Copy link

jennb33 commented Dec 11, 2024

12/11/2024 - @kellylein @timwright12 @oddballpete @Eallan919 @ATeal @TKDickson The MFS team will be taking this ticket into Sprint 7, (12/14/2024-12/27/2024)

@TKDickson
Copy link
Contributor Author

@matt-guest-wilcore the image files are just going to be lost as part of the zenhub -> github projects transition. I was able to copy it over today because zenhub is still active, but that option will quickly disappear.

video file of the bug from my original writeup: https://github.com/user-attachments/assets/65430b9f-03d4-4d1a-926e-edc7d7b87d16

@matt-guest-wilcore
Copy link
Contributor

matt-guest-wilcore commented Dec 18, 2024

As mentioned, iOS requires at least one actionable item on-screen at load to access elements further down, unlike Android, which allows navigation to offscreen items. This is just how the platforms work.

To address this, I propose making an initially visible element (ex: title, header) accessible on affected screens (I'll need to document/test all relevant screens). I’ve tested this solution and it works, here's a video of my implementation.

9461.proposed.solution.video.mp4

@jennb33
Copy link

jennb33 commented Dec 18, 2024

12/18/2024 - @matt-guest-wilcore is implementing his strategy. He's going to start making some elements accessible that were not accessible before, which will allow deeper discovery.

@jennb33
Copy link

jennb33 commented Dec 20, 2024

12/20/2024 - Ticket sent to @donmccaughey for PR review

@DonMcCaugheyUSDS
Copy link
Contributor

@matt-guest-wilcore approved

As noted in the PR, we should thoroughly test the affected views as part of QA for the next release.

Here's a list of affected screens I found:

Health Tab > Messages > Inbox > Select a Message (Some messages have the issue)
Health Tab > Messages > Folders > Sent > Select a Message (Some messages have the issue)
Benefits > VA letters and documents > Review Letters > Items 1, 2, 4 & 6 are affected

@jennb33
Copy link

jennb33 commented Jan 2, 2025

@matt-guest-wilcore this ticket has been approved by Don and can be readied for the next release (it will go to the App Stores on 1/22/2025)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accessibility Accessibility awareness or needs for the ticket bug Used to identify a bug ticket that will be worked through the bug process front-end Ticket requires front-end work global Issues for the global team QA Tickets require QA work / review scrubbed Added to newly-written bug tickets after QA has reviewed them for clarity and completeness sev-2 Mid-tier bug severity level based on QA bug severity scale - QA to assign this
Projects
None yet
Development

No branches or pull requests

12 participants
@alexandec @cadibemma @jennb33 @TKDickson @DonMcCaugheyUSDS @matt-guest-wilcore and others