department-of-veterans-affairs / va.gov-team

Public resources for building on and in support of VA.gov. Visit complete Knowledge Hub:
https://depo-platform-documentation.scrollhelp.site/index.html
282 stars 202 forks source link

Staging Review finding: `aria-labelledby` on "Review your information now" may block voice users. #88999

Closed shiragoodman closed 2 months ago

shiragoodman commented 2 months ago

Need help? Please review how to read a Staging Review ticket. Tag @platform-governance-team-members on Slack if you need further assistance.

Product Information

Team: Modernized Check-in Product: Pre-Check-in & eCheck-in Feature: New Landing page design

Findings details

VA.gov Experience Standard - issue: User can't complete a necessary flow or hits a dead end. VA.gov Experience Standard - category: Usability Launch-blocking: No Design System review: No Collab Cycle Reviewer: @briandeconinck (Accessibility)

Description

On /appointment-pre-check-in/appointments, the "Review your information now" link has an aria-labelledby that points to the H3 heading on the card. This announces the link as identical to the heading: "Review your contact information for your [day, month, date, year, time] appointment."

For sighted voice command users (eg. Dragon NaturallySpeaking on Windows, Apple Voice Control on iOS or Mac, etc.), the common interaction pattern goes:

But voice command software looks for matches in the accessibility tree, where the aria-labelledby replaces the visible link text. When the link name in the accessibility tree is close to what's spoken, there's a decent chance of a partial match --- especially if what's spoken is word-for-word included in the name in the accessibility tree. But I think this is enough of a divergence here that most software wouldn't give you a match. (Tested with Dragon, was not able to get a match, and Dragon tends to be one of the better ones for this.)

There are usually other mechanisms available for clicking a link for voice command users, but this is a point of friction that should be easy to smooth out.

Link, screenshot or steps to recreate ![Card with heading "Review your contact information for your Saturday, July 20 8:30 a.m. appointment" and visible link text of "Review your information now."](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/working-with-vsp/vsp-collaboration-cycle/staging-review-images/Brian-53488-1.png?raw=true)

Recommended action

It's unclear from testing if users will ever have more than one appointment listed here. If not, no ARIA is needed --- if there's only ever one "Review your information now" link, no need to add anything extra to differentiate it from other identical links.

If you can have more than one appointment (which I'm assuming is true?) then I would recommend something like this instead:

<a data-testid="action-link" class="vads-c-action-link--green" href="/" aria-label="Review your information now for Saturday, July 20 8:30 a.m. appointment">Review your information now</a>

Or something similar, that uses date/time to differentiate it from other appointments. If appointments are always on the same day, you can probably drop the date and just do time.

References


Next Steps for the VFS Team

loripusey commented 2 months ago

Please add your planning poker estimate with Zenhub @brianseek

brianseek commented 2 months ago

This is ready to validate @loripusey @benbrasso-agile6 @zach-park @cgednalske its making its way to stage/prod now but can also been seen locally or in the following screenshot:

aria-labelledby
benbrasso-agile6 commented 2 months ago

Screenshot being silly and not loading for me

brianseek commented 2 months ago

@benbrasso-agile6 try again, I think it was zenhub shenanigans

benbrasso-agile6 commented 2 months ago

If I'm understanding the ticket, that's a screenshot for multiple appts for pre check in payload and therefore LGTM.

loripusey commented 2 months ago

LGTM closing