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

Stepper and Stepper Item - Ensure custom controls provide proper textual name, role, and state information - (2036570226) #5602

Closed
Tracked by #4599
dqateam opened this issue Oct 25, 2022 · 3 comments
Assignees
Labels
4 - verified Issues that have been released and confirmed resolved. a11y Issues related to Accessibility fixes or improvements. bug Bug reports for broken functionality. Issues should include a reproduction of the bug. c-stepper Issues that pertain to the calcite-stepper component estimate - 5 A few days of work, definitely requires updates to tests. p - high Issue should be addressed in the current milestone, impacts component or core functionality

Comments

@dqateam
Copy link
Collaborator

dqateam commented Oct 25, 2022

Module:

31 Stepper and Stepper Item

Violation:

Ensure custom controls provide proper textual name, role, and state information

image

WCAG Reference:

Instance ID:

2036570226

Severity:

7

Description:

[Issue]
The current step information is not communicated to JAWS users

[User Impact]
Screen reader users will have difficulty determining the purpose and state of these controls.

[Code Reference]

<calcite-stepper-item item-title="Error property" error="" aria-expanded="true" layout="horizontal" scale="m" tabindex="0" calcite-hydrated="" active="">Step 2 contains an "error" property.</calcite-stepper-item>

Note:

[Suggestion]
Ensure custom controls provide proper textual name, role, and state information.

A control's state indicates several possible pieces of information. Common states include expanded, current, selected, checked, and disabled. Most are indicated with similarly named ARIA attributes. Certain states can only be used with certain roles. For a list of roles and their allowed states, see the ARIA specification: https://www.w3.org/TR/wai-aria/#role_definitions

A proper ordered list can also be used with a list item that includes every step and it's respective text. Visually hidden text can be used to indicate the current and completed steps.

[Compliant Code Example]

<calcite-stepper-item error="" aria-expanded="true" layout="horizontal" scale="m" tabindex="0" calcite-hydrated="" active="">
<span class="visuallyhidden">Current: </span>
Step 2 contains an "error" property.
</calcite-stepper-item>


[Recommended Reading]
More information on how to indicate progress, reference approach 4 in "Multi-page forms" best practices:
https://www.w3.org/WAI/tutorials/forms/multi-page/

More information about the correct use of ARIA states, roles and properties can be found on the Level Access website:

https://www.levelaccess.com/how-not-to-misuse-aria-states-properties-and-roles/

Media Type:

Custom Controls

Additional Resources:

  • Report Source: Product accessibility evaluation conducted on the Calcite Design System in August, 2022.
@dqateam dqateam added 0 - new New issues that need assignment. a11y Issues related to Accessibility fixes or improvements. bug Bug reports for broken functionality. Issues should include a reproduction of the bug. needs triage Planning workflow - pending design/dev review. labels Oct 25, 2022
@geospatialem
Copy link
Member

geospatialem commented Nov 18, 2022

cc #5603, #5604

@geospatialem geospatialem added the estimate - 5 A few days of work, definitely requires updates to tests. label Feb 6, 2023
@geospatialem geospatialem added p - medium Issue is non core or affecting less that 60% of people using the library and removed needs triage Planning workflow - pending design/dev review. labels Feb 27, 2023
@geospatialem geospatialem added this to the 2023 June Priorities milestone Feb 27, 2023
@geospatialem geospatialem added p - high Issue should be addressed in the current milestone, impacts component or core functionality and removed p - medium Issue is non core or affecting less that 60% of people using the library labels Jun 27, 2023
@anveshmekala anveshmekala self-assigned this Aug 25, 2023
@geospatialem geospatialem added 1 - assigned Issues that are assigned to a sprint and a team member. and removed 0 - new New issues that need assignment. labels Aug 30, 2023
@anveshmekala anveshmekala added c-stepper Issues that pertain to the calcite-stepper component 2 - in development Issues that are actively being worked on. labels Sep 7, 2023
@brittneytewks brittneytewks removed the 1 - assigned Issues that are assigned to a sprint and a team member. label Sep 18, 2023
anveshmekala added a commit that referenced this issue Sep 19, 2023
**Related Issue:** #5602 

## Summary

Provides context of `stepper-item` component state and the current
focused step in `stepper` with screen readers.
@anveshmekala anveshmekala added 3 - installed Issues that have been merged to master branch and are ready for final confirmation. and removed 2 - in development Issues that are actively being worked on. labels Sep 19, 2023
@github-actions
Copy link
Contributor

Installed and assigned for verification.

@geospatialem geospatialem added 4 - verified Issues that have been released and confirmed resolved. and removed 3 - installed Issues that have been merged to master branch and are ready for final confirmation. labels Sep 20, 2023
@geospatialem
Copy link
Member

Verified on the main branch with NVDA (provides current step and completed step) and JAWS (provides current step).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4 - verified Issues that have been released and confirmed resolved. a11y Issues related to Accessibility fixes or improvements. bug Bug reports for broken functionality. Issues should include a reproduction of the bug. c-stepper Issues that pertain to the calcite-stepper component estimate - 5 A few days of work, definitely requires updates to tests. p - high Issue should be addressed in the current milestone, impacts component or core functionality
Projects
None yet
Development

No branches or pull requests

5 participants