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

[a11y]: Scrollable headers are not tabbable and cause an Accessibility Requirement 2.1.1 violation #5470

Open
1 task
JCreedon91 opened this issue Jun 11, 2024 · 4 comments · May be fixed by #6145
Open
1 task
Assignees
Labels
component: PageHeader role: dev Sev 3 Visible or noticeable to users but does not impede functionality. Has a workaround. type: a11y ♿ Issues not following accessibility standards type: bug 🐛 Something isn't working

Comments

@JCreedon91
Copy link

JCreedon91 commented Jun 11, 2024

Package

@carbon/ibm-products

Browser

Chrome

Operating System

MacOS

Package version

2.14.0

React version

No response

Automated testing tool and ruleset

IBM Equal Access Accessibility Checker

Assistive technology

No response

Description

I have seen many headers throughout both the IBM Cloud Manager and API Manager UI that allow users to scroll through the text if the browser window is too small to display the header text in full.

If I change the browser windows size to make the header scrollable and then use the accessibility checker, it results in the Accessibility Requirement 2.1.1 violation "The scrollable element <h1> with non-interactive content is not tabbable"

The relevant headers all have the same value for their class attribute, class="c4p--page-header__title c4p--page-header__title--fades"

I request that a tabindex attribute that equals 0 or higher be added to <h1> elements with class="c4p--page-header__title c4p--page-header__title--fades" in order to make these headers tabbable and remove the accessibility violation

WCAG 2.1 Violation

Success Criterion 2.1.1 Keyboard

Reproduction/example

https://codesandbox.io/p/devbox/accessibility-2-1-1-violation-2ys8p6?file=%2Fsrc%2FExample%2FExample.jsx%3A9%2C3-14%2C9

Steps to reproduce

  1. After accessing the codesandbox code with the link above, navigate to the URL the Page Header example is hosted on.

  2. The header should end in ellipses, if it doesn't adjust the size of the browser window to make it smaller.

  3. Run an Accessibility Checker on the webpage. The Acessibility Checker used to find this issue was the IBM Equal Access Accessibility Checker running on a Chrome browser: https://chromewebstore.google.com/detail/ibm-equal-access-accessib/lkcagbfjnkomcinoddgooolagloogehp

Code of Conduct

Tasks

@davidmenendez
Copy link
Contributor

davidmenendez commented Jul 11, 2024

REF #4565
REF #3985

@elycheea elycheea added the needs: design opinion Design question needs opinion from designer label Jul 11, 2024
@davidmenendez davidmenendez removed the type: a11y ♿ Issues not following accessibility standards label Jul 11, 2024
@elycheea elycheea added type: a11y ♿ Issues not following accessibility standards role: design role: dev labels Jul 11, 2024
@elycheea
Copy link
Contributor

Moving this back to design since the behavior to truncate automatically is based on the initial page header usage docs.

@oliviaflory
Copy link

oliviaflory commented Jul 11, 2024

Utilize the same logic as the tag overflow to address Header truncation.

@davidmenendez will add notes to Page Header v2 about text wrap / text overflow

@oliviaflory oliviaflory removed needs: design opinion Design question needs opinion from designer role: design labels Jul 11, 2024
@matthewgallo
Copy link
Member

@carbon/react tag overflow

@elycheea elycheea added the type: bug 🐛 Something isn't working label Sep 10, 2024
@elycheea elycheea added the Sev 3 Visible or noticeable to users but does not impede functionality. Has a workaround. label Sep 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: PageHeader role: dev Sev 3 Visible or noticeable to users but does not impede functionality. Has a workaround. type: a11y ♿ Issues not following accessibility standards type: bug 🐛 Something isn't working
Projects
Status: Needs review 👋
Development

Successfully merging a pull request may close this issue.

6 participants