Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AVT 3 - Progress Indicator has several screen reader issues #4246

Closed
snidersd opened this issue Oct 7, 2019 · 1 comment · Fixed by #5125
Closed

AVT 3 - Progress Indicator has several screen reader issues #4246

snidersd opened this issue Oct 7, 2019 · 1 comment · Fixed by #5125

Comments

@snidersd
Copy link

snidersd commented Oct 7, 2019

Environment

macOS Mojave version 10.14.6
Chrome Version Version 77.0.3865.90
Carbon v10 - React

Detailed Description

  1. Go to the Progress Indicator Default Component
  2. Start VoiceOver
  3. Control-Option-Shift to enter the Web area. VoiceOver announces you are in a list with 5 items.
  4. All items in the list are read as buttons, but only steps 2 & 3 are in the tab order.

Expected Result:

  1. All buttons should be in the tab order and the user advised that its a link.
  2. The state of the first button would indicate that it is complete.
  3. The state of the second button would indicate it is the current step.
  4. The state of the third step as not started or incomplete.
  5. The fifth button should let the user know that it is disabled when read.
@snidersd snidersd added this to the Progress Indicator - A11y Project Team milestone Oct 7, 2019
@dakahn dakahn added the severity: 1 https://ibm.biz/carbon-severity label Oct 15, 2019
@dakahn dakahn modified the milestones: Progress Indicator - A11y Project Team, Carbon WCAG Compliance Nov 21, 2019
@joshblack
Copy link
Contributor

joshblack commented Nov 22, 2019

It seems like the idea here would be:

  • Progress Indicator is implemented as a <ol> because the step order matters
  • Steps could be implemented as a <button> or as a <a>, depending on if steps are local or tied to a route
  • "Status" could be communicate through a visually hidden <span> before the step name and would communicate:
    • Complete
    • In progress / current
    • Incomplete
    • Disabled

Questions:

  • If the steps are tied to routes, would <nav> or navigation be appropriate? Similarly, aria-current for the exact route
  • If a button is disabled, should it be in tab order sequence?
  • What should happen if a user backtracks through the wizard? Is there an interruptor around losing work? How is this transition communicated?

cc @dakahn

Examples & Resources

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

Successfully merging a pull request may close this issue.

4 participants