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

List/Tree: Add option to use role=form, explore others (support input elements, single 'level') #57315

Closed
cleidigh opened this issue Aug 28, 2018 · 1 comment
Assignees
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues feature-request Request for new features or functionality list-widget List widget issues *out-of-scope Posted issue is not in scope of VS Code tree-widget Tree widget issues
Milestone

Comments

@cleidigh
Copy link
Contributor

cleidigh commented Aug 28, 2018

The tree and list widgets use aria role=tree which has two issues:

  • Several tree users quick open, select box and now the new settings editor
    are not multilevel trees, screen readers always present them as such levels branches et cetera
  • ARIA tree does not seem to explicitly support editable elements within the tree.
    Some specification references site a tree has read-only.

It it appears readers attempt to do their best, but for example these input elements
are not interpreted in the accessibility tree correctly with Electron 2.x and NVDA and voiceover
While Electron 3 beta with updated chromium does do better (see @joaomoreno comments on buttons) , also according to my experiments it is still not clear it is valid ARIA structure to have editable elements in a tree.

Debug Output:
NVDA initialized
INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (15:36:12.450):
Developer info for navigator object:
name: u'Files Auto Save Delay, Setting'
role: ROLE_TREEVIEWITEM
states: STATE_SELECTABLE, STATE_FOCUSED
IAccessible accRole: ROLE_SYSTEM_OUTLINEITEM
IAccessible accState: STATE_SYSTEM_SELECTABLE, STATE_SYSTEM_FOCUSED, STATE_SYSTEM_VALID (2097156)

Input under form: (normal system editable state)

NVDA initialized
INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (15:32:36.880):
Developer info for navigator object:
name: u'Files Auto Save Delay, Setting'
role: ROLE_EDITABLETEXT
states: STATE_FOCUSABLE, STATE_EDITABLE, STATE_FOCUSED
IAccessible2 role: ROLE_SYSTEM_TEXT
IAccessible2 states: IA2_STATE_SELECTABLE_TEXT, IA2_STATE_OPAQUE, IA2_STATE_EDITABLE, IA2_STATE_SINGLE_LINE (13320)

For the settings editor to work correctly with the screen reader I had to users
role=form and set the individual elements roles in certain cases. Experimentally
I also suppressed the aria attributes for trees level, position et cetera.

Proposal:

  • add option to tree to use role = form
  • remove tree oriented attributes when the form is used

Subsequently I think we should explore options for treegrid, grid and listbox

Related:
#57274 - lists with one levels
#53923 - aria-selected for list
#52682 - labeling on buttons in tree
#54836 - labeling within tree
#52390 - button roles within tree

@cleidigh cleidigh added accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues error-list Problems view tree-widget Tree widget issues list-widget List widget issues and removed error-list Problems view labels Aug 28, 2018
@cleidigh cleidigh self-assigned this Aug 28, 2018
@cleidigh cleidigh added the under-discussion Issue is under discussion for relevance, priority, approach label Aug 28, 2018
@cleidigh cleidigh changed the title List/Tree: Add option to use role=form (support input elements) List/Tree: Add option to use role=form, explore others (support input elements, single 'level') Aug 28, 2018
@joaomoreno joaomoreno added this to the Backlog milestone Aug 28, 2018
@joaomoreno joaomoreno added feature-request Request for new features or functionality *out-of-scope Posted issue is not in scope of VS Code and removed under-discussion Issue is under discussion for relevance, priority, approach labels Oct 9, 2019
@vscodebot
Copy link

vscodebot bot commented Oct 9, 2019

This issue is being closed to keep the number of issues in our inbox on a manageable level, we are closing issues that are not going to be addressed in the foreseeable future: We look at the number of votes the issue has received and the number of duplicate issues filed. More details here. If you disagree and feel that this issue is crucial: We are happy to listen and to reconsider.

If you wonder what we are up to, please see our roadmap and issue reporting guidelines.

Thanks for your understanding and happy coding!

@vscodebot vscodebot bot closed this as completed Oct 9, 2019
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 feature-request Request for new features or functionality list-widget List widget issues *out-of-scope Posted issue is not in scope of VS Code tree-widget Tree widget issues
Projects
None yet
Development

No branches or pull requests

2 participants