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 readers should speak the line landed on when navigating with f3, f8, etc #89111

Closed
mehgcap opened this issue Jan 22, 2020 · 15 comments
Closed
Assignees
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues feature-request Request for new features or functionality verification-needed Verification of issue is requested verified Verification succeeded
Milestone

Comments

@mehgcap
Copy link

mehgcap commented Jan 22, 2020

Issue Type: Feature Request

Please consider adding a way for screen readers to speak the lin landed on when navigating with keyboard commands. For instance, you press ctrl-f, type, then press escape. Now, as you press f3 and shift-f3, you move from search result to search result. It would be helpful to hear the full line spoken that contains the result that gets focus. This holds for other navigation keys, such as moving by change, problem, breakpoint, etc.

VS Code version: Code 1.41.1 (26076a4, 2019-12-18T14:58:56.166Z)
OS version: Windows_NT x64 10.0.18362
Remote OS version: Linux x64 3.16.0-4-amd64

@sbatten sbatten assigned rebornix and isidorn and unassigned rebornix Jan 22, 2020
@isidorn
Copy link
Contributor

isidorn commented Jan 23, 2020

Hi Alex,

Thanks for filling the issue and I think this makes perfect sense.

We already do this when a breakpoint gets hit. Code pointer for reference.
Or did you mean when you press on a breakpoint from the breakpoints view?

We need to do the same thing for:

Assigning this to next milestone so we look into adding this.

There might be a chance that all these use cases use the same underlying EditorService api and that we can maybe tackle it on that level.
@rebornix @sandy081 let me know if you do not have time and I can look into your areas. Just provide pointers.

@isidorn isidorn added accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues feature-request Request for new features or functionality labels Jan 23, 2020
@isidorn isidorn added this to the February 2020 milestone Jan 23, 2020
@joaomoreno joaomoreno removed their assignment Jan 23, 2020
@rebornix
Copy link
Member

rebornix commented Jan 27, 2020

Just in case I don't have enough capacity next month for this task, here are some code pointers:

@mehgcap
Copy link
Author

mehgcap commented Feb 5, 2020 via email

@isidorn
Copy link
Contributor

isidorn commented Feb 5, 2020

@mehgcap thanks for feedback, yes that makes sense to me.
@rebornix thanks for pointers I might look into this right now.

@isidorn
Copy link
Contributor

isidorn commented Feb 5, 2020

@mehgcap I have some questions:

  1. Find widget: for me it currently nicely reads out "1 of 4 found for SEARCH_TERM at LINE:COLUMN". So for example "1 of 4 found for hello at 7:3" do you not hear this, or just just think this message should be improved to be what you proposed?
  2. Problems: how do you navigate problems. Currently we designed this to be via F8 and shift + F8. Once you navigate on a line with error we simply read that error. Reading the content of that line also might be confusing. How do you suggest we improve this? Or do you navigate problems differently?
  3. Move to next change does not read the whole line nicely, are you using the F7, shift + F7 experience for this? If yes we plan to improve that as part of Using the file compare tool with screen readers needs some attention #88695

@mehgcap
Copy link
Author

mehgcap commented Feb 5, 2020

  1. I hear the message, and would like my suggestion prepended to the existing announcement.

echo "Hello world!"; hello found at line 9 column 6, 1, of 1

or something similar.

  1. Similar to above, though a setting to let the user control whether the line or problem is spoken first would be great.

doStuff(); error, undeclared function "doStuff" at line 7, column 1

or

error, undeclared function "doStuff" at line 7, column 1. doStuff();

  1. Yes, the interface for that is very different. I originally thought f7 would act like f3 or f8, not realizing it would bring up a whole separate list. If that UI is the one that will continue to be used, it wouldn't make sense to apply the idea in this issue to that.

@zersiax
Copy link

zersiax commented Feb 5, 2020

I agree with @mehgcap here. The reason is really because on it's own, just knowing the line and column name, while useful, doesn't give context unless you can either:

  • See your cursor, in which case reading out the line might seem overly verbose
  • know the entire file by heart , which is unlikely.

That is where Find is concerned, in any case. Ditto for the problems view, just knowing the error message is useful, but unless you know where you are in the file, which at this point you don't because you were just jumped, you won't know the context you're in that can help debug the error.
The first thing someone is going to do in that instance is up arrow down arrow to read the current line they're on. If we automate that, that would save the user a step and make the info we're already providing a lot more useful.

@isidorn
Copy link
Contributor

isidorn commented Feb 6, 2020

@mehgcap Ok, we changed the find to pronunce the following for your example from above

echo "Hello world!"; 1 of 1 found for 'Hello' at 1:2

Please note the following details:
1 )there are no commas, dotas or anything except a whitespace between the line content and the find result. Do you think we should have something here? Is there some general rule we should follow we merging different parts of tha aria label together?
2) I did not use the word "result", "line" and "column" to make it less verbose per previous feedback from users.

We can of course tune this so please provide feedback.
Next week vscode insiders will have this changes so it would be great if you could try them out and let us know how it behaves now.

So for the diff editor let's stick with #88695
Still keeping this issue open for the go to error widget. We will also look into improving that based on your feedback.

@rebornix you can checkout my changes if you would like, you can see them in the attached commit.

Thanks a lot!

@mehgcap
Copy link
Author

mehgcap commented Feb 6, 2020 via email

isidorn added a commit that referenced this issue Feb 6, 2020
@isidorn
Copy link
Contributor

isidorn commented Feb 6, 2020

@mehgcap that makes perfect sense. I have added commas. As for the setting, we usually only add settings if there are conflicting opinions from users. I believe the current soution might work for everybody and I would only consider adding a setting in the future if users come with good reasons why the current annoucment does not work for them.

@sandy081 leaving this item assigned to you. So it would great if the goToErrorWidget pronunces the following
LINE_CONTENT, ERROR at LINE:COLUMN
or the other way around, whatever you prefer
ERROR at LINE:COLUMN, LINE_CONTENT

@rebornix
Copy link
Member

@isidorn thanks for the ping, your changes look pretty good.

@isidorn isidorn removed their assignment Feb 14, 2020
@sandy081
Copy link
Member

Following is read when navigated to problems using goto problems

${LINE_CONTENT}, Error/Warning/Info/Hint at ${LINE:COLUMN}. ${problemMessage}

Example:
image

Open to do changes if there are suggestions.

@sandy081 sandy081 added the verification-needed Verification of issue is requested label Feb 23, 2020
@isidorn
Copy link
Contributor

isidorn commented Feb 25, 2020

That makes sense to me. Thanks for doing this!

@JacksonKearl JacksonKearl added the verified Verification succeeded label Feb 27, 2020
@JacksonKearl
Copy link
Contributor

@sandy081 PROBLEM_NUMBER of TOTAL_PROBLEM_COUNT would be helpful.

we also should do this for

@JacksonKearl JacksonKearl reopened this Feb 27, 2020
@JacksonKearl JacksonKearl added verification-found Issue verification failed and removed verified Verification succeeded labels Feb 27, 2020
@sandy081 sandy081 removed their assignment Feb 27, 2020
@isidorn
Copy link
Contributor

isidorn commented Feb 27, 2020

@JacksonKearl this all makes perfect sense. However please file a new issue. Closing this.

@isidorn isidorn closed this as completed Feb 27, 2020
@JacksonKearl JacksonKearl added verified Verification succeeded and removed verification-found Issue verification failed labels Feb 27, 2020
@github-actions github-actions bot locked and limited conversation to collaborators Apr 12, 2020
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 feature-request Request for new features or functionality verification-needed Verification of issue is requested verified Verification succeeded
Projects
None yet
Development

No branches or pull requests

7 participants