Megabit / Blazorise

Blazorise is a component library built on top of Blazor with support for CSS frameworks like Bootstrap, Tailwind, Bulma, AntDesign, and Material.
https://blazorise.com/
Other
3.29k stars 532 forks source link

Screen Reader Inaccessibility (Sighted Amateur Analysis) #5444

Open arazni opened 7 months ago

arazni commented 7 months ago

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:

I 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)

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)

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.

stsrki commented 7 months ago

Thank you, @arazni, for this very detailed report. It will significantly help me once I start work on accessibility improvements.

ddjerqq commented 3 months ago

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

stsrki commented 2 months ago

We are putting this on hold for the time being.