[a11y] Restructure WalletTable
component
#10034
Replies: 6 comments 3 replies
-
Just for convenience and easy access, this is the page using the Wow @TylerAPfledderer I think this would be really great to have! This page is also one of the most visited pages we have on the website so I can see that a lot of people will benefit from this. I totally agree in terms of the a11y improvements. Regardless that having nested tables is allowed and correct, it is not recommended for screen readers. Now that we have Chakra on our toolbox, it might be a good time to leverage on top of that and use the
That would be a really good improvement. Are you thinking about having something like a hidden text next to each icon? Re: the interactive approach Would be great to have something like that. I'd suggest adding a Skipnav (probably on the sidebar) to jump straight to the results. Something like: "Skip to the results". Just out of curiosity, do you see any benefit that we will lose from not using a table? |
Beta Was this translation helpful? Give feedback.
-
Strongly in favor of this. A refactor using chakra first implementation instead of just refactoring would be great here. Same question @pettinarip has about potential lost benefit. However, even if we are losing something, I do imagine the pros of this new approach will outweigh any cons. |
Beta Was this translation helpful? Give feedback.
-
If we put each "comparison result" as hidden text with the respective icon, it should still reach the screen reader on readout at initial focus of the accordion item.
Yes. Since there are two separate sections of options, maybe if user reaches the filter, they could have two skip nav options to either skip to the comparison options or to the results. What might get lost (kinda) is some of the content in what would be called the accordion item "header". There are the social icon links that would still be clickable -- though clicking one would also trigger expanding content as it is now -- and you could still tab to it. But the readout will mention both that a link or two exists and then at the end would say something like Example: <h2>
<AccordionButton>
<Box as="span" flex='1' textAlign='left'>
Section 1 title
<a href="#">Link</a>
</Box>
<AccordionIcon />
</AccordionButton>
</h2> In NVDA, on focus of this button, it will read out as
|
Beta Was this translation helpful? Give feedback.
-
I'd say so. Reading the title + 3 links + the rest, might be too much. Not saying this is a blocker but would be a nice to have solution. Idea: could we |
Beta Was this translation helpful? Give feedback.
-
Now with PR #10032 merged, are there any other outstanding thoughts here with this component for a11y? |
Beta Was this translation helpful? Give feedback.
-
3 months ago I was so devastated when my withdrawal request was declined , then I realized I had been ripped off like over 200k of my bitcoin investment funds . |
Beta Was this translation helpful? Give feedback.
-
Proposal
This issue is to propose structural improvements to the
WalletTable
component, in post-completion of its migration to Chakra UI (see #9982).I would argue that for accessibility purposes it should be an accordion list and not a table.
Firstly, the structure of the component in its current state is rendering nested Tables; essentially, each wallet item row is a
table
element wrapping atr
element.Visually speaking, it behaves more like an accordion, with each Wallet listing having a clickable header that reveals more details.
Even if I were to fix the structure to not have the nested tables, I see two issues:
As to No. 2, I would want to look for an efficient way to provide dynamic info to a screen reader only to give information to a user about their three comparative selections for each wallet item. Currently the comparisons are only through visual indicators of icons (the check and 'X' marks). And a table cell at least in the current state would not provide enough information to minimize cognitive load to identify which Icon is for which selection. It also would take a long time for the user to reach the arrow to toggle the dropdown of more content and might forget that it's there.
In short: I think there a too many pieces of functionality clashing along with the improper rendering of HTML structure that compromise accessibility.
I'm thinking of this interactive approach:
cc @pettinarip, @corwintines, @minimalsm for thoughts and discussion, recognizing the original implementation comes from PR #6457
Beta Was this translation helpful? Give feedback.
All reactions