Closed joshkimux closed 1 year ago
@jerekshoe if you have time I'd love to sync with you on this! Just talked to the design team and determined that we probably won't be able to do any deeper fixes until later, so we should focus on temporary fixes in the meantime 😄
Action items for me:
Update for folks here @jerekshoe and @skylerschain for awareness. We've decided to go with the latter fix of removing the tab styling and role from this pattern (essentially turning them into a straightforward list of links). Important note here that this is still meant to be an intermediary fix. We may need to change this later after more research is conducted. I'll update the acceptance criteria to match this in a bit.
After reviewing this in more detail, I think I'll want to spend more time outlining the necessary changes. Using a link list in this instance will require more design, content, and IA changes including, but not limited to:
title
s and breadcrumbsnav
landmarkOn the flip side, introducing keyboard navigation to the existing a
elements will:
a
elements respond to the space
key or having button
elements rout to new pages)After talking with @skylerschain we've decided to hold off on this until more technical discovery is done here 😄
@joshkim I actually did find something interesting while looking at the code for the tabs. It turns out that you can switch between these via keyboard input. It probably doesn't work the way that it should, but currently on mac if you use option+1, 2, or 3, it switches between the tabs
@jerekshoe nice find! I tested on Chrome the other day and they seemed to work, so I'll see if I can dig a bit deeper into why it's not working on mac/safari/voiceover given it works the way it should on MDN's demo.
@jerekshoe tested again this morning on both CST tab panel and MDN's tab panel; seems like this is an issue that's universal to most screen reader browser combinations.
If it's not too much of a lift and doesn't feel like too much of a hack (we'll need to document this either way), we could resolve this ticket in the meantime if:
space
(they're coded as links a
, not buttons, which is against best practice... but also likely due to confusion as to if these are meant to be distinct pages or sections of a page)Alternatively, if @RLHecht and @jsokohl are both confident that these are meant to be separate pages (and not sections of a page), we could look into removing the tab panel functionality all together in favor of pure, semantic links. This could mean introducing a new pattern for the design system and could likely require a collab cycle review.
And alternatively to that, neither may even be required if a wholesale redesign is done to CST where the concept of a panel may not be needed at all (e.g. the former team's redesign concept featured accordions).
That all being said, @skylerschain and I agreed to hold off on solutioning until more research was done given how complex we anticipated all of the above could be 😆
space
doesn't work)space
doesn't work)tab
only, space
doesn't work)space
doesn't work)@joshkimux Just to provide a bit more context, as far as the code is concerned, the different tabs are separate pages. They each have their own entry in the router and clicking one of the tabs goes to a different route, we are not utilizing hashes.
That's awesome context, thanks @jerekshoe ! These should be full fledged links then (without the tab role) which means we'll need to do alot of work to get them (and their surroundings) back into accessible shape
This would become a default level 3 if the left and right arrow keys worked to switch focus between tabs. And make sure space key selects the link.
We are looking at addressing this defect with some design changes to CST part of a future release. @joshkimux . We haven't forgot about it.
@joshkimux since we are currently working on fixing this in the new CST Designs, is there anything left to do for this ticket or can we close it out?
@HeatherWidmont great question! We can close this out once it is in production. I'll need to test it one more time on staging when it's implemented to ensure the fix has been done.
508-defect-2 [KEYBOARD, COGNITION] Tablist on compensation claims are links styled as a tablist without keyboard functionality
Feedback framework
Definition of done
Point of Contact
VFS Point of Contact: Josh
Details
Avoiding tab styles for navigation, Adam Silver (gov.uk)
Current experience
https://user-images.githubusercontent.com/14154792/168847941-dda1f857-a82c-4b14-9433-02e5108b97bb.mov
Left and right arrow keys navigates characters , not tabs
Expected experience
https://user-images.githubusercontent.com/14154792/168848450-bf222124-4ccf-47ea-b242-516218640877.mov
Left and right arrow keys navigate between tabs OR these are written and styled as links.
Testing
Edge / Windows (Keyboard only)
space
doesn't work)JAWs / Edge / Windows
space
doesn't work)Chrome / Windows (Keyboard only)
tab
only,space
doesn't work)NVDA / Chrome / Windows
space
doesn't work)Next steps
Steps to Recreate
https://staging.va.gov/track-claims/your-claims/600219085/files
in browserTab List
Reference MDN doc to add keyboard functionality
Link List
Visual design
Before
After
Code
Before
After
Interaction
WCAG or Vendor Guidance (optional)
MDN Tab Role Avoiding tab styles for navigation, Adam Silver (gov.uk)