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

Screenreader should read gear button shortcut #57378

Closed
chrmarti opened this issue Aug 28, 2018 · 15 comments
Closed

Screenreader should read gear button shortcut #57378

chrmarti opened this issue Aug 28, 2018 · 15 comments
Assignees
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues bug Issue identified by VS Code Team member as probable bug settings-editor VS Code settings editor issues verified Verification succeeded

Comments

@chrmarti
Copy link
Collaborator

chrmarti commented Aug 28, 2018

Issue Type: Bug

Testing #57304

I couldn't find a way to navigate to the gear menu using the keyboard:

image

VS Code version: Code - Insiders 1.27.0-insider (43676d0, 2018-08-28T05:12:24.162Z)
OS version: Darwin x64 17.7.0

System Info
Item Value
CPUs Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz (8 x 2200)
GPU Status 2d_canvas: enabled
checker_imaging: disabled_off
flash_3d: enabled
flash_stage3d: enabled
flash_stage3d_baseline: enabled
gpu_compositing: enabled
multiple_raster_threads: enabled_on
native_gpu_memory_buffers: enabled
rasterization: enabled
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled
Load (avg) 2, 2, 2
Memory (System) 16.00GB (0.04GB free)
Process Argv /Applications/Visual Studio Code - Insiders.app/Contents/MacOS/Electron --user-data-dir /Users/chrmarti/Development/repos/tmp/user2 --extensions-dir /Users/chrmarti/Development/repos/tmp/ext2
Screen Reader no
VM 33%
Extensions: none
@roblourens
Copy link
Member

There is a keyboard shortcut, but we thought that it's not natural to have all of them as tab targets.

The keyboard shortcut needs to be read in the aria-label, which I haven't done yet...

@roblourens roblourens added bug Issue identified by VS Code Team member as probable bug settings-editor VS Code settings editor issues labels Aug 28, 2018
@roblourens roblourens added this to the August 2018 milestone Aug 28, 2018
@cleidigh
Copy link
Contributor

@roblourens
Are you thinking of having "Press alt-F9 for settings options" or something similar?
that's gonna be a lot of extra stuff, no?

@roblourens
Copy link
Member

Yeah exactly, I'm not sure how that will work, but if it's not a tab target I think it needs to be more discoverable to keyboard users.

@cleidigh
Copy link
Contributor

but I think we agree there are already too many tab targets
I wonder if one time announcement when arriving on the settings page would do it
the last thing an accessibility user needs is repetition of a behavior indicator that doesn't change

@roblourens
Copy link
Member

the last thing an accessibility user needs is repetition of a behavior indicator that doesn't change

One existing precedent I thought of is in the extension viewlet, aria-label for every item includes "Press enter for extension details". It's annoying but I'm not sure what else to do.

@roblourens roblourens added the accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues label Sep 5, 2018
@roblourens
Copy link
Member

I'm actually not sure how to have the screenreader read that, because it should go after the description, but that's not an aria-label, it's the actual text of an element via aria-describedby. For now, I put the keybinding in the button title.

@cleidigh
Copy link
Contributor

cleidigh commented Sep 6, 2018

do you want me to look at this?

@roblourens
Copy link
Member

Sure, if you have any ideas

@cleidigh
Copy link
Contributor

cleidigh commented Sep 6, 2018

I'm trying to understand exactly what you mean by your above statement 'element with describedby'
I'm rusty on the thread

@roblourens
Copy link
Member

You use describedby to point at the description, which is how the description is read, right?

@cleidigh
Copy link
Contributor

cleidigh commented Sep 6, 2018

correct
I'm not clear on the latest problem. Do you need a multiple component reader label? Not ideally the title?

@roblourens roblourens changed the title Settings editor: Cannot tab to gear menu Screenreader should read gear button shortcut Sep 6, 2018
@roblourens
Copy link
Member

I think the screenreader should read the keyboard shortcut for the gear button after it reads the name and description of the setting, if that's possible.

@cleidigh
Copy link
Contributor

cleidigh commented Sep 6, 2018

So:

"File Auto Save" + "files autosave blah blob" + "More Actions, Press" + "{$kbd_shortcut}"

for something like that we use describedby= 'id_name id_description id_map id_ks'
or whatever combination. actually id_name would actually be the label, but you get the idea.

key making it work is any dynamic text should be in the DOM usually a hidden div
I had to deal with similar issues for the enum descriptions but I haven't committed that yet.

@roblourens
Copy link
Member

Oh, you can set multiple ids in describedby and it will read all of them? Sounds perfect.

@cleidigh
Copy link
Contributor

cleidigh commented Sep 6, 2018

yup, so can aria-labeledby !

targets have to be static, what I did is to add a div to to the option template with no content
but the aria-label attribute this division pointed to by the option element and its location in the DOM
is irelevant

@mjbvz mjbvz added the verified Verification succeeded label Sep 27, 2018
@vscodebot vscodebot bot locked and limited conversation to collaborators Oct 27, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues 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