usablica / intro.js

Lightweight, user-friendly onboarding tour library
http://introjs.com
Other
22.8k stars 2.59k forks source link

No accessible name for bullet (data-step) lists #1646

Open digilou opened 2 years ago

digilou commented 2 years ago

Description

The unordered list of links to navigate from one tour step to the next doesn't create an accessible name for each link.

Expected Behavior

An interactive component (i.e. hyperlinks, buttons) should have a role and name, according to WCAG 4.1.2. Accessibility expectations:

Actual Behavior

The links have been given the role of button. But no name (description of what this component does) isn't present (nor accessible). Testing with VoiceOver on macOS alerted me that the accessible name is missing.

Errors and Screenshots (optional)

Visual of tour steps from a project under development:

2 steps (gray dots) are visible and centered above the Back and Next buttons

Example rendered code in a project under development:

<div class="introjs-bullets">
  <ul role="tablist">
    <li role="presentation">
      <a role="button" class="" tabindex="0" data-step-number="1">&nbsp;</a>
    </li>
    <li role="presentation">
      <a role="button" tabindex="0" data-step-number="2" class="active">&nbsp;</a>
    </li>
  </ul>
</div>

Example (recommended)

The project I'm working on is currently under development.

However, this can be tested even on intro.js docs example page

Environment (optional)

Tech Spec
Browser Firefox 99.0.1
OS macOS 12.3.1
Version 5.1.0
Frameworks Rails, jQuery
stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.