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

Accordion and Accordion Item - Ensure custom controls provide proper textual name, role, and state information - (2036569668) #5553

Closed
Tracked by #4599
dqateam opened this issue Oct 25, 2022 · 5 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. estimate - 2 Small fix or update, may require updates to tests. p - medium Issue is non core or affecting less that 60% of people using the library

Comments

@dqateam
Copy link
Collaborator

dqateam commented Oct 25, 2022

Module:

03 Accordion and Accordion Item

Violation:

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

image

WCAG Reference:

Instance ID:

2036569668

Severity:

7

Description:

[Issue]
Accordions lack full implementation, missing some roles and/or states information.

[User Impact]
Screen reader users will be unable to determine that these controls expand and collapse content. They will also have difficulty determining whether the controls are currently expanded or collapsed.

[Code Reference]

<calcite-accordion appearance="default" icon-position="end" icon-type="chevron" scale="m" selection-mode="single" calcite-hydrated=""> ... </calcite-accordion>

Note:

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

For accordions, the following information is expected:

  • Each accordion header must be enclosed in a <button> element.
  • Each of these buttons must be enclosed in a heading element of an appropriate level. The <button> element must be the only child of this heading element.
  • When the panel is visible, the header button must have aria-expanded="true". When it is hidden, the header button must have aria-expanded="false".
  • The button must have aria-controls set to the ID of the panel container.
  • If a panel is visible and locked in the expanded state, its header button must have aria-disabled="true".

In addition, it is recommended that container elements have a region role as it greatly increases accessibility for non-visual users. This is not required though. More information in the link below.

[Recommended Reading]
For more information about creating accessible accordions, please see the W3C Web Accessibility Initiative's ARIA Authoring Practices Guide: https://www.w3.org/WAI/ARIA/apg/patterns/accordion/

Media Type:

Custom Controls

Additional Resources:

  • Report Source: Product accessibility evaluation conducted on the Calcite Design System in August, 2022.
@dqateam dqateam added 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. 0-new labels Oct 25, 2022
@github-actions
Copy link
Contributor

It looks like this issue is missing some information:

  • A codepen, codesandbox, or jsbin that reproduces the issue. Alternatively, a documentation sample can be used if the issue is reproducible. If you are experiencing build or Node related errors, please provide a GitHub repo for the sample.

Issues without reproduction samples may not be prioritized. If you were unable to create a sample, please try to answer any questions that arise once development begins. Thanks for your understanding.

@github-actions github-actions bot added the incomplete issue report New issues missing important information, and unless provided, they will be closed after 5 days. label Oct 25, 2022
@geospatialem geospatialem added 0 - new New issues that need assignment. and removed incomplete issue report New issues missing important information, and unless provided, they will be closed after 5 days. 0-new labels Oct 25, 2022
@geospatialem
Copy link
Member

The content isn't easily read back to assistive technology (AT). We should make sure when expanded/collapsed content can be accessed by AT.

@geospatialem geospatialem added p - high Issue should be addressed in the current milestone, impacts component or core functionality research Issues that require more in-depth research or multiple team members to resolve or make decision. estimate - 8 Requires input from team, consider smaller steps. labels Feb 6, 2023
@brittneytewks brittneytewks added needs triage Planning workflow - pending design/dev review. and removed needs triage Planning workflow - pending design/dev review. labels Feb 27, 2023
@geospatialem geospatialem removed the needs triage Planning workflow - pending design/dev review. label Feb 27, 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 May 1, 2023
@geospatialem geospatialem self-assigned this May 1, 2023
@geospatialem
Copy link
Member

Similar to https://codepen.io/geospatialem/pen/gOBveyL, to ensure AT users are able to receive context upon expansion/collapsing of accordion-item, we should add the following to the component:

@geospatialem geospatialem added p - medium Issue is non core or affecting less that 60% of people using the library and removed p - high Issue should be addressed in the current milestone, impacts component or core functionality research Issues that require more in-depth research or multiple team members to resolve or make decision. labels Jul 27, 2023
@geospatialem geospatialem removed their assignment Jul 27, 2023
@geospatialem geospatialem added estimate - 2 Small fix or update, may require updates to tests. and removed estimate - 8 Requires input from team, consider smaller steps. labels Jul 27, 2023
@jcfranco jcfranco self-assigned this Aug 21, 2023
@jcfranco jcfranco added 2 - in development Issues that are actively being worked on. and removed 1 - assigned Issues that are assigned to a sprint and a team member. labels Aug 21, 2023
jcfranco added a commit that referenced this issue Aug 31, 2023
**Related Issue:** #5553 

## Summary

Updated HTML to improve a11y.
@jcfranco jcfranco 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 Aug 31, 2023
@github-actions github-actions bot assigned geospatialem and unassigned jcfranco Aug 31, 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 Aug 31, 2023
@geospatialem
Copy link
Member

Verified on the main branch.

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. estimate - 2 Small fix or update, may require updates to tests. p - medium Issue is non core or affecting less that 60% of people using the library
Projects
None yet
Development

No branches or pull requests

5 participants