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

Web component: Mega Menu - "The essentials, Hybrid Cloud" are read as menu options for screen reader users. #5081

Closed
Praveen-sr opened this issue Feb 3, 2021 · 6 comments
Assignees
Labels
accessibility Has accessibility requirement adopter support bug Something isn't working dev Needs some dev work package: web components Work necessary for the IBM.com Library web components package severity 2 Affects major functionality, has a workaround Sprint Must Have
Milestone

Comments

@Praveen-sr
Copy link

Praveen-sr commented Feb 3, 2021

Detailed description

On JAWS FF
Issue:
Screen reader is not supposed to identify the mentioned texts (The essentials, Hybrid Cloud) as "menus". And if they are headings visually, They have to be identified as "heading" instead.

Additional information

image.png

@Praveen-sr Praveen-sr added accessibility Has accessibility requirement bug Something isn't working severity 2 Affects major functionality, has a workaround labels Feb 3, 2021
@RobertaJHahn RobertaJHahn added this to the Sprint 21-03 milestone Feb 3, 2021
@RobertaJHahn RobertaJHahn added the package: web components Work necessary for the IBM.com Library web components package label Feb 3, 2021
@annawen1
Copy link
Member

annawen1 commented Feb 8, 2021

@Praveen-sr can this be tested again? I'm tabbing through the menu and JAWS doesn't identify the "The essentials" or "Hybrid Cloud" text, should I be using some other keyboard command?

https://ibmdotcom-web-components-canary.mybluemix.net/?path=/story/components-masthead--with-custom-data

@Praveen-sr
Copy link
Author

@annawen1 Re tested this on web component, issue still exists
Steps to reproduce

  1. After expanding "Product and solutions"
  2. Use tab navigation to come to "what is hybrid cloud" link, then use up arrow keys to navigate through the text
    "The essentials", "Hybrid Cloud".
    Here "The essentials, Hybrid Cloud" are read as "menu" options for screen reader users.

@annawen1
Copy link
Member

annawen1 commented Feb 9, 2021

@Praveen-sr Ah ok, thank you for the detailed steps - will try that

@annawen1
Copy link
Member

annawen1 commented Feb 9, 2021

@Praveen-sr I tried the steps you mentioned, tabbing to the "what is hybrid cloud" link then using the arrows keys to navigate.

I am using a Virtual Machine and am trying to figure out how to enable audio but for now I have JAWS subtitles/captioning enabled and I do not see it mentioning "menu" when I navigate to the "The essentials" or "Hybrid cloud" text. I've posted a video. Please let me know if there is anything I'm missing or I should try.

JAWS.megamenu.test.mov

@annawen1
Copy link
Member

@Praveen-sr I tried with JAWS 2020 version on both Firefox and Chrome but still can't replicate the issue

Screen.Recording.2021-02-10.at.3.12.57.PM.mov

@Praveen-sr
Copy link
Author

@annawen1 Hi, Ram was not able to screen record JAWS audio, instead he is provided the JAWS speech history,

image.png

kodiakhq bot pushed a commit that referenced this issue Feb 12, 2021
### Related Ticket(s)

Web component: Mega Menu - "The essentials, Hybrid Cloud" are read as menu options for screen reader users. #5081

### Description

This PR removes the `role='menu'` from the `ul` as it is unnecessary and conflicts with the elements placed in the megamenu/dropdown.

PR here from carbon-for-ibm-dotcom where we removed the menu role from our own version of the header menu
#4624

The dropdown menu/megamenu shouldn't have the role="menu" applied as listed here:
Example Disclosure for Navigation Menus | WAI-ARIA Authoring Practices 1.1
https://www.w3.org/TR/wai-aria-practices/examples/disclosure/disclosure-navigation.html

<img width="950" alt="Screen Shot 2020-12-03 at 4 25 20 PM" src="https://user-images.githubusercontent.com/54281166/101090282-661c0680-3584-11eb-8dd0-b43ca6f9aa7e.png">

### Changelog

**Changed**

- grab the `bx--header-menu` element and remove the `role` attribute


<!-- React and Web Component deploy previews are enabled by default. -->
<!-- To enable additional available deploy previews, apply the following -->
<!-- labels for the corresponding package: -->
<!-- *** "package: services": Services -->
<!-- *** "package: utilities": Utilities -->
<!-- *** "package: styles": Carbon Expressive -->
<!-- *** "RTL": React / Web Components (RTL) -->
<!-- *** "feature flag": React / Web Components (experimental) -->
IgnacioBecerra pushed a commit to IgnacioBecerra/ibm-dotcom-library that referenced this issue Feb 22, 2021
…em#5160)

### Related Ticket(s)

Web component: Mega Menu - "The essentials, Hybrid Cloud" are read as menu options for screen reader users. carbon-design-system#5081

### Description

This PR removes the `role='menu'` from the `ul` as it is unnecessary and conflicts with the elements placed in the megamenu/dropdown.

PR here from carbon-for-ibm-dotcom where we removed the menu role from our own version of the header menu
carbon-design-system#4624

The dropdown menu/megamenu shouldn't have the role="menu" applied as listed here:
Example Disclosure for Navigation Menus | WAI-ARIA Authoring Practices 1.1
https://www.w3.org/TR/wai-aria-practices/examples/disclosure/disclosure-navigation.html

<img width="950" alt="Screen Shot 2020-12-03 at 4 25 20 PM" src="https://user-images.githubusercontent.com/54281166/101090282-661c0680-3584-11eb-8dd0-b43ca6f9aa7e.png">

### Changelog

**Changed**

- grab the `bx--header-menu` element and remove the `role` attribute


<!-- React and Web Component deploy previews are enabled by default. -->
<!-- To enable additional available deploy previews, apply the following -->
<!-- labels for the corresponding package: -->
<!-- *** "package: services": Services -->
<!-- *** "package: utilities": Utilities -->
<!-- *** "package: styles": Carbon Expressive -->
<!-- *** "RTL": React / Web Components (RTL) -->
<!-- *** "feature flag": React / Web Components (experimental) -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accessibility Has accessibility requirement adopter support bug Something isn't working dev Needs some dev work package: web components Work necessary for the IBM.com Library web components package severity 2 Affects major functionality, has a workaround Sprint Must Have
Projects
None yet
Development

No branches or pull requests

5 participants