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

Incorrect role is defined for menuitems "User", "Workspace" and "Remote[Azure ML: v-...]" as checkboxes.: A11y_VS Code Client_Settings_AI4D #214227

Closed
kupatkar99 opened this issue Jun 4, 2024 · 5 comments
Assignees
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues accessibility-sla Accessibility issue which have to be fixed or lowered severity based on process bug Issue identified by VS Code Team member as probable bug settings-editor VS Code settings editor issues verified Verification succeeded
Milestone

Comments

@kupatkar99
Copy link

"Check out Accessibility Insights! - Identify accessibility bugs before check-in and make bug fixing faster and easier."

GitHub Tags

#A11yTCS; #A11ySev2; #WCAG4.1.2; #BM-VisualStudioCodeClient-Win32-Jan2024; #DesktopApp; #Visual Studio Code Client; #A11yMAS; #Name Role Value; #AILimited; #Win11; #AI4D;

Environment Details:

Application Name: Visual Studio Code Client
Visual Studio Code: Version 1.89.1(User setup)

Repro Steps:

  1. Install VS Code
  2. Install the Azure Machine Learning extension and sign in with appropriate Credentials.
  3. Open the Command Palette via the keyboard command Ctrl+Shift+P (or Command+Shift+P for MacOS)
  4. Type "Open User Settings" and select the option from the dropdown list called "Preferences: Open User Settings") and press enter
  5. In the search box, type "Azure Machine Learning"
  6. Tab until the list of settings is active
  7. Use the up/down arrows to navigate between settings
  8. Tab till "User" menuitem and Verify whether the correct role is defined for "User", "Workspace" and "Remote[Azure ML: v-...]" or not.

Actual Result:

Incorrect role is defined for menuitems "User", "Workspace" and "Remote[Azure ML: v-...]" as checkboxes

Expected Result:

Correct role should be defined for "User", "Workspace" and "Remote[Azure ML: v-...]" as menuitems.

User Impact:

Screen reader users will face difficulty in accessing the control if the correct control type is not defined for the controls.

Attachment:

image

@meganrogge
Copy link
Contributor

I'll leave this with @rzhao271 - IMO, the checkboxes make sense because the menu is either active or not.

@meganrogge meganrogge assigned rzhao271 and unassigned meganrogge Jun 4, 2024
@tbombach
Copy link
Member

tbombach commented Jun 5, 2024

I found this previous discussion of the role for [User, Workspace, etc] items in the Settings Scope Switcher: #97068

I think the recommendation in that discussion suggested that checkboxes can be confusing since it implies that multiple scopes can be active at the same time (i.e. multiple items with checked=true). But since User/Workspace/etc are mutually exclusive in the UI, maybe radio buttons or tablist/tab might be better suited for the role.

If I'm finding the right place in the code, it looks like the Scope Switcher is an ActionBar:

this.settingsSwitcherBar = this._register(new ActionBar(settingsTabsWidget, {
which could take an override for the ariaRole in the IActionBarOptions it passes for instantiation

It looks like the ActionViewItem in the container get set as role="checkbox" when they get checked/unchecked:

this.label.setAttribute('role', 'checkbox');

@rzhao271 rzhao271 added accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues settings-editor VS Code settings editor issues under-discussion Issue is under discussion for relevance, priority, approach labels Jul 17, 2024
@rzhao271 rzhao271 added this to the July 2024 milestone Jul 17, 2024
@rzhao271
Copy link
Contributor

I confirmed this issue comes from https://github.com/microsoft/vscode/pull/182647/files#diff-b3cf600b1f7d2ffd25e21b29191fc6a7d65a8b636b6d8de2858ecafafb3fd966R416

Therefore, we are using the checked property to determine whether an ActionViewItem is "selected" or "checked".
However, the menuitems in the Settings editor represent tabs, and there is another approach to annotate tabs:

Considering this issue a bug @meganrogge

@rzhao271 rzhao271 added bug Issue identified by VS Code Team member as probable bug accessibility-sla Accessibility issue which have to be fixed or lowered severity based on process and removed under-discussion Issue is under discussion for relevance, priority, approach labels Jul 17, 2024
@rzhao271
Copy link
Contributor

The change should now be in the latest VS Code Insiders.
@kupatkar99 could you verify the issue is now fixed using VS Code Insiders?

@rzhao271 rzhao271 modified the milestones: July 2024, August 2024 Jul 23, 2024
@tbombach
Copy link
Member

tbombach commented Jul 23, 2024

Hi @rzhao271! @kupatkar99 closed the downstream issue in our Azure ML Extension repository where this issue was originally found during accessibility testing: microsoft/vscode-tools-for-ai#2376. The issue was closed as fixed with your changes in insiders, so I think this issue in VS Code repo can be closed too. Here is the comment: microsoft/vscode-tools-for-ai#2376 (comment)

Thank you so much for your work fixing this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues accessibility-sla Accessibility issue which have to be fixed or lowered severity based on process bug Issue identified by VS Code Team member as probable bug settings-editor VS Code settings editor issues verified Verification succeeded
Projects
None yet
Development

No branches or pull requests

4 participants