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

Screen reader: Alt+Cursor in Suggest Widget reads line two times #4352

Closed
dbaeumer opened this issue Mar 17, 2016 · 6 comments
Closed

Screen reader: Alt+Cursor in Suggest Widget reads line two times #4352

dbaeumer opened this issue Mar 17, 2016 · 6 comments
Assignees
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues bug Issue identified by VS Code Team member as probable bug editor-contrib Editor collection of extras
Milestone

Comments

@dbaeumer
Copy link
Member

  • VSCode Version: 0.10.12-alpha
  • OS Version: Windows 10 / NVDA screen reader

Steps to Reproduce:

  1. enable NVDA
  2. open TS file
  3. open code complete
  4. Press Alt+Cursor+Down to navigate to next entry

Observe: screen reader reads entry two times (at least that is what I see in the Speech Viewer)

capture

@dbaeumer dbaeumer added the bug Issue identified by VS Code Team member as probable bug label Mar 17, 2016
@alexdima
Copy link
Member

This is unfortunate, but reflects reality.

The first time you choose an item, it is rendered without the details icon. The widget fires a request to the language service to ask if the item has details and then it repaints to show that it has details.

The aria alerts reflect what the widget paints. Most of the times, this request is so fast that you don't notice the flicker visually.

IMHO the data structures are flawed, they should have a boolean up front for each item that contains details. This would reduce spammy communication (the details could be resolved only when doing Ctrl+Space again to actually show details) and the fact that there are details would be known up front, instead of making a request on every selection change.

@alexdima alexdima assigned jrieken and unassigned alexdima Mar 17, 2016
@jrieken
Copy link
Member

jrieken commented Mar 24, 2016

For some language services the extra info is a second (and more expensive call) and the detail information isn't only loaded on the second Ctrl+Space but on focus (it shows more info). Since the backend cannot blindly fetch details for each and every item and since the backend doesn't know what item the UI will focus first it's not that easy.

@jrieken jrieken removed their assignment Mar 24, 2016
@dbaeumer
Copy link
Member Author

@alexandrudima assigning to you that it doesn't get lost.

Doesn't the screen reader reads the sentence on focus change in the complete widget?

@alexdima
Copy link
Member

@jrieken My suggestion is simple. The suggestions should contain a boolean field if they have details or not.

The backend does not need to fetch details for each and every item, but say that it has such details. In many ASTs I suppose that would be an if stmt on the node?

If a backend really does not know then it should say it has details for all suggestions and then fail when asked for those details (as it works today).

@jrieken
Copy link
Member

jrieken commented Mar 24, 2016

that's how it works. they never really know if there more data or not unless the provider doesn't offer the resolveDetails call - I can reflect that in the API

@alexdima alexdima added editor-contrib Editor collection of extras accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues labels Mar 1, 2017
@alexdima alexdima added this to the Backlog milestone Mar 1, 2017
@jrieken
Copy link
Member

jrieken commented Sep 8, 2017

We now only register the details-resolver when the provider actually supports it. I don't see the double request anymore. Closing.

@jrieken jrieken closed this as completed Sep 8, 2017
@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 17, 2017
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 editor-contrib Editor collection of extras
Projects
None yet
Development

No branches or pull requests

3 participants