-
Notifications
You must be signed in to change notification settings - Fork 217
All Products & filters accessibility improvements #1656
Conversation
This reverts commit 2c861bf.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested this in Safari (with VoiceOver) and these all look like good improvements to me.
With the Axe extension analyze the page and verify there are no errors
I ran audits in Axe and in Safari's accessibilty tools, and saw a few issues, but it looks like these are reported separately. We can follow up later to make sure we get them all (eventually).
Navigate the page with a screen reader and verify some texts are clearer now
Tested the ones mentioned and they sounded reasonable (note I did not compare against master).
In the Price Filter block, set the Price Range option to Input.
This was a little confusing (assuming Price Range: Editable
?). I confirmed that I couldn't tab-navigate to slider when the max/min text fields were displayed.
Observations when testing this (not blocking this PR):
- When using
Price Range: Text
, I found it hard to set a max/min price with keyboard only, so perhaps we recommendPrice Range: Editable
for maximum accessibility. - Generally found the block options UX tricky for this, took some experimentation to understand what the
Price Range
option does and why we have it.
In the Attributes Filter block, set the Query Type to And and Display Style > Dropdown.
I didn't reproduce the old buggy behaviour, but when I tested with voiceover/keyboard the block seemed to behave reasonably - I could select and apply/unapply attribute filters. I assume the bug was that there is a hidden text field for search/filtering attributes to select, and that this could be focused when not visible.
Another observation while here:
- Similar to above, I found the block options UX a bit confusing here. With
Query Type: AND
andStyle: Dropdown
do we allow multi select? I couldn't multi select in front end.
With a screen reader, enable/disable some filters and verify the number of results is announced.
Worked well :)
__( 'Go', 'woo-gutenberg-products-block' ) | ||
} | ||
screenReaderLabel={ __( | ||
'Apply filter', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could add "price" here to make it clearer, Apply price filter
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree! Done in 1ebef84.
Thanks for the review @haszari!
All issues remaining should be related to the theme or have an issue already filled in this repo. If that's not the case, it means I overlooked them. 🙂
Yes, sorry, that's what I meant!
Good catch. I'm unable to move the handles with the keyboard if I don't previously click on them with the mouse. I opened an issue for this: #1679.
Interesting, I think it might be good to open an issue if you think there is a way to improve the UX here? Currently it's based on the previous widgets in order to have feature-parity, but I guess any idea of potential improvements is welcome. 🙂
Right, we have an issue open to allow multi-select independently of the Query Type: #1311. |
Part of #1281.
This PR contains several small improvements to All Products and filter blocks accessibility.
For improvements that seemed more complex, I created issues with the label
scope: accessibility
:https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues?q=is%3Aissue+is%3Aopen+label%3A%22scope%3A+accessibility%22
Screenshots
How to test the changes in this Pull Request:
Sale
badge color contrast, that's Storefront specific and being fixed in All Products block: don't make sale badge transparent to avoid constrast issues storefront#1251).Changelog