Open arazni opened 7 months ago
Thank you, @arazni, for this very detailed report. It will significantly help me once I start work on accessibility improvements.
I would love to attend to this issue, to make blazorise fully accessible. this is a massive issue, so I think I will start small, shortly
We are putting this on hold for the time being.
Blazorise Version
Same as site's documentation
What Blazorise provider are you running on?
None
Link to minimal reproduction or a simple code snippet
Visit your documentation pages for components, e.g.: https://blazorise.com/docs/components/accordion
Steps to reproduce
I used NonVisual Desktop Access (NVDA) Version 2024.1.
I change the setting to use a visual sidebar so I can read what's being said instead of be spoken to. (The rapid robot speech is very overwhelming if you're not used to it).
I run the application and use some of the shortcuts to navigate, and it takes some practice to understand the different "modes" it uses. Some ones I use most:
h
: Scan to next header3
: Scan to next h3Down
/Up
keys: Read next/previous lineTab
: Go to next input/interactableShift
+ Shortcut Key: Scan in reverse directionInsert
+B
: Read modal/dialogue/popupI ran it against your documentation component pages to manually test.
What is expected?
All inputs should be clear and accessible when tab-navigating. All labels should be clearly associated with their fields, such that tabbing into a field should have the screen reader read the label to you as part of recognizing the component.
What is actually happening?
Components are presented in alphabetical order. Larger headings are used for worse components.
Accordion (Good)
Addon (Pitfall)
Alert (Good?)
Badge (Good?)
Bar (Pitfalls)
Breadcrumb (Mostly good)
Button (Mostly good)
Card (n/a)
Carousel (Pitfall)
Check (Good)
Close button (Good)
Color Edit (Good!)
Color Picker (Very bad)
Date Edit (Mostly good)
Date Picker (Very bad)
Divider (Good)
Drag and Drop (Bad, maybe expected)
Dropdown (Pitfall)
Field (Pitfalls)
Figure (Good)
File Edit (Good)
File Picker (Good)
Highlighter (Good)
Image (Good)
Jumbotron (n/a)
Link (Good)
List Group (Pitfall)
Mask (Pitfall)
"edit __-_______"
currently, which is helpful but doesn't indicate purpose without a label.Memo Edit (Pitfall?)
Modal (Good)
Offcanvas (Pitfall)
Numeric Edit (Pitfall)
Numeric Picker (Good-ish)
Pagination (Mostly usable)
Progress (Pitfall)
Radio (Pitfall and bugged?)
Rating (Invisible and Unusable)
Repeater (n/a)
Select (Mostly good, Pitfall: "Multiple" bad)
Slider (Good?)
Step (Mostly good, small pitfall)
Switch (Good)
Tab (Good)
Table (Grouping bad, otherwise good)
Time Edit (Good)
Time Picker (Very bad)
Toast (Great!)
Tooltip (Invisible)
Text Edit (Bad? Pitfall?)
Typography (Unsure)
Validation (Unsure)
The validation text is read when scanning the page, but not while tabbing through the fields, which could be a headache for screen reader users.
Unsure if validation can be made more discoverable to screen reader.
The validation text is read when scanning the page, but not while tabbing through the fields, which could be a headache for screen reader users.
Unsure if validation can be made more discoverable to screen reader.
What browsers do you see the problem on?
No response
Any additional comments?
Feel free to split this into individual issues.
When fixing for a screen reader, don't overthink the final output. As long as it covers the major things of "{Label} {Component} {Editable/Expanded/Collapsed} {Value}", or those pieces of information are obvious, it should be good. For example, your highlighted text thing may seem very jarring with how often it announces "start highlight" and "end highlight" (or in/out, something like that) but it seems like it is behaving correctly.