Skip to content
This repository has been archived by the owner on Oct 22, 2021. It is now read-only.

Create accessible progress bar #195

Open
stuartjnelson opened this issue Jan 15, 2018 · 6 comments
Open

Create accessible progress bar #195

stuartjnelson opened this issue Jan 15, 2018 · 6 comments
Labels

Comments

@stuartjnelson
Copy link

Issue

Create an accessible progress bar example using <progress> MDN page on progressbar role .

@scottaohara
Copy link
Contributor

Is this an issue for creating a native <progress> example, a custom role="progress", or both?

@stuartjnelson
Copy link
Author

stuartjnelson commented Jan 15, 2018 via email

@scottaohara
Copy link
Contributor

Sure, they could be useful.

Native progress bars have really good support, but for some of the more 'designed' progress bars I've seen (multiple progress levels indicated in a single bar), there could be a use case for an ARIA version.

@scottaohara
Copy link
Contributor

so...many months later.

My findings on styling native progress bars to help guide the decision here...

@scottaohara
Copy link
Contributor

Worth writing content to note the difference between a progress bar and a meter

@Malvoz
Copy link

Malvoz commented Jun 28, 2019

https://scottaohara.github.io/a11y_styled_form_controls/src/progress-bar/

Usage note:
Though the progress element is largely reporting the correct information to browsers, screen readers have quite a few kinks in how they announce the element to users.

At the time of testing, a styled progress bar won't be fully accessible in all screen reader and browser pairings. Instead it may be more appropriate to simply treat the progress bar as a visual decoration, hide it from screen readers, and provide visually hidden text as a means to consistently convey the information.

Because styling forms is (still) hard to get right; an alternative solution that wouldn't hurt to bring up, while I can not argue is any less of a hack would be to use <progress> but visually hide it using the .sr-only class and style a sibling element or perhaps its pseudo element(s).

The same approach is applicable to <meter>.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants