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
Feature Request: Add word navigation to NVDA #16237
Comments
These cases are probably beneficial to most users, so I'd like to see this feature in NVDA. |
I second this. It would also solve problems where applications don‘t handle words in a propper way such as numbers with separators in Libreoffice. This could be a setting in the document navigation settings category, same as we did with ctrl+up and down arrow paragraph handling. |
I would be happy to work on this, but this would be blocked by this Chromium bug. I reported it to Google three years ago, but looks like no one from Google has looked into this so far. |
Cc: @aleventhal |
I also would like to have this function be included in nvda, which can help me in editing work. |
Hi @mltony I'll see what can be done to move this issue forward. Also cc @derekriemer Thanks |
Fully agree with a setting in document navigation panel. Even if very useful, the differentiation of left/right control and/or combined with Windows key as offered by the add-on could be implemented in a second time if needed by people; it's probably more impacting. What is missing in the add-on and that would be required to integrate this feature in NVDA are the shift+control+arrow commands. Using the add-on, the mismatch between shifted (selection) commands and unshifted (move) commands is sometimes undesirable. |
I am totally aligned on implementing word selection commands - I'd think that should be relatively easy to do, but I am reluctant to spend more time on this unless that egregious chromium bug is fixed. As long as the bug is there - I don't think NVAccess would accept hacky implementation and this whole direction would be a dead end. |
just two points to add
|
Given this is developer centric and the UX/implementation is unclear we think this is best suited for an add-on for now. |
@seanbudd,
As for your other argument:
Not sure what do you mean by that. WordNav add-on has some UX that is well defined and its implementation is clear, with the exception of that Chromium bug that I mentioned before. It is true that for each feature request people come and throw many ideas, but this happens with each feature request and all of this can definitely be sorted out. |
Sean could you please elaborate how you come to this opinion? This is not developer centered at all. Numbers are also words, and this helps in lots of use cases.If you have this opinion, then why did you accept paragraph navigation in document navigation settings at all?Sorry but we repeat such discussions in several places again and again. In my view this doesn’t serve our motivation to improve accessibility.Let us please exchange opinions and arguments in a more professional way, accessibility for blind people is a quite complex matter and we need more details when you guys come to such opinions. Otherwise such comments can really demotivate people who put really a lot of energy in developing solutions for problems which exist since years.uVon meinem iPhone gesendetAm 05.03.2024 um 02:00 schrieb Sean Budd ***@***.***>:
Given this is developer centric and the UX/implementation is unclear we think this is best suited for an add-on for now.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
And even if it was developer centered, why is this at all an impediment when accepting things into the core? Why did you guys then decide to accept improvements to the Windows terminal via UIA, diffmatch patch etc. into the core, see i.e. Pull requests by Bill Dangler? |
I'm interested in the use case for Chinese users - my understanding is this is due to poor implementation in applications - is this correct? Adhering to app-specific word movement behaviour is currently the intended behaviour. @Adriani90 - the main use cases described here are targeted towards developers, with developer centric ideas such as snake case and pascal case. I'm not sure I understand your frustration here, the issue hasn't been closed, and the discussion is continuing. To avoid people wasting time, we have a process of triaging issues before encouraging pull requests. We have extremely limited developer time - we cannot respond to everything, and we certainly cannot respond to everything in thorough detail. Please see my message here in regards to our primary focuses and concerns of scope creep #16230 (comment). There is clear benefit to paragraph navigation for non-developers. Ensuring people can use packaged windows applications such as terminal is clearly in scope of a screen reader. |
As stated in the other issue, even this proposal coems from a developer, the implementation is not done in an appmodule, so it is a global proposal in the end which impacts all kinds of application. I would understand this argument if the implementation is on an appmodule basis. The use cases where this helps are as follows:
This was not the argument when including paragraph handling in NVDA core. Note that word definitions are very different between applications and the developers of many applications did not define a word with accessibility design in mind. Having such a philosophy in NVDA would mean we accept inaccessible design and this in my view is a very bad signal. Even if there are standards in how to define a word, they are not focused on accessibility and many application still do not follow the standards. |
Other use case is already described in the issue description: |
I can confirm that @mltony's word navigation add-on does help a lot with reading Chinese. |
I completely agree with @Adriani90's argument in the comment above. |
Hi @seanbudd I try to clarify the use case for Chinese users, hope it makes it clear. Chinese word segmentation is the process of dividing continuous Chinese text into individual words. Since there are no spaces between words in Chinese, as there are in English, word segmentation is a fundamental and crucial step in Chinese natural language processing. This is also what I mentioned in the original description, one reason why Chinese users cannot navigate through Chinese words using Ctrl+left/right arrow. It must be noted that word navigation is possible in Word, but this is very limited. In virtual documents based on browsers or normal notepad, this is impossible. However, the add-on by @mltony provides various rules for splitting Chinese sentences by punctuation, which allows me to quickly navigate to the part I'm interested in reading for longer Chinese sentences. This undoubtedly helps greatly in reading Chinese content, and it's a real efficiency boost. Thanks |
@cary-rowen trying to understand the Chinese text reading use case:
But in this example words are just single characters. Thus you do not need anything more than character navigation.
Why do you consider splitting sentence by punctuation related to word navigation? To me it seems more related to sentence or phrase navigation as implemented in SentenceNav add-on. Using |
Totally agreed with @cary-rowen |
I would list the following use case that are not only developer centric:
Regarding snakeCase, it is sometimes used outside of dev tasks, e.g. nicknames in forums. I acknowledge that it is not common. But on the other side, we should take into account that such word separation is visible at a glance for sighted users who can then put the cursor immediately with the mouse where they want. Word navigation is a facility to help positionning the cursor at the wanted position as soon as possible. And in my view, specific word navigation rules can help a blind person achieving this task more easily. The example of number reading in Libre Office is not very clear to me. Is it due to a lack of information provided to the screen reader from Libre Office, or to a bug in LO? If this is confirmed, we cannot expect NVDA to fix all the bugs of others apps, the more when the other apps are also free and open source and can be contributed directly. Regarding the UX, as stated before, my suggestion is to add only one option to define word navigation rule in the Documentation navigation panel as done for paragraphs, with the default value being "Defined by the application". This part of the UX seems the less controversial to me and would help clarify and progressing this issue. |
Hi @CyrilleB79
Sorry, this example is really not very good in the more general concept of "Chinese word segmentation". My attempt to explain using a single character will cause you to misunderstand. You are right. In Chinese, if "I love forest" is word-split, it will be split into three parts. If I use the default ctrl+Left/Right word navigation behavior, I can only navigate by character, which is no different than if I press Left/Right. The above sentence will be divided into four parts.
There is no doubt that Sentence-nav is also a benefit for Chinese users, but Word-nav’s multiple rules cover more cases, There is a rule called "Fine word navigation - good for programming":
Because the add-on can customize gestures for different rules, this allows me to choose the appropriate rule for the situation without having to go to the options to switch rules. |
Thanks for this new more representative example. And how does WordNav add-on help in splitting correctly this sentence into words? Which navigation rule of the add-on are you using to achieve such word navigation?
Sorry, my question are just to understand the benefit of WordNav add-on for Chinese reading, not for other use case such as programming which are more obvious to me.
Is it the same concept than "a" not having the same sound when dealing with the letter "a", such in "a, b, c" than when dealing with the word "a" such as in "a cat"? If yes, isn't the normal word navigation not enough. Could you illustrate with and without the add-on what happens when you navigate by word in an exemple sentence such as "I love the forrest"? Thanks. |
Sorry, I accidentally introduced the concept of "Chinese word segmentation", I want to clarify some points.
I'll give a specific example below to illustrate the advantages of this add-on over the default behavior of Ctrl+Left/Right. try itEnter the following Chinese sentence in windows10 legacy notepad.
Some conclusions:
|
@cary-rowen, many thanks for this clear example. It's a very good illustration of the issues encountered when reading Chinese that helps a lot non-Chinese speakers (like myself) to understand the workaround solution found by the Chinese community to read some text step by step. I would not call it a word navigation, rather a chunk navigation... This use case needs to be clearly documented in the User Guide (and even in the Change Log) to maximize its usefulness. |
Just want to mention that not only asian or arabic language speakers are impacted. For example for me working in a developing finance institution on projects in Asia and East Europe, it is really difficult to learn such languages properly. Given I am not allowed to use add-ons in a Citrix environment, but only on the local machine at work, it is even mostly impossible to read reports from the projects in these languages and it makes my job really difficult. It is just a small example, but I think in general blind people who want to learn these languages need any small aid that helps in navigating coresponding texts. |
@Adriani90 for now, only the Chinese use case has been explicitly explained here. The Arabic use case hasn't. And neither have the other languages which you are working with. If you know some languages with some specificity regarding word navigation, please provide a detailed example as done in #16237 (comment). Note that I am convinced myself of the benefit to include a word navigation customization feature in NVDA core. I am just inciting you and other people to provide more explicit example of use case to make your comments more convincing towards NV Access and the community in general. |
Thanks for the additional information - I think the cases described here are sufficient to demonstrate that this is useful for a wider group of users, particularly international users. |
@CyrilleB79 |
Glad my explanation was useful to the community and thanks @CyrilleB79 for the great question. |
Hi @mltony I tried pushing the status of this Chromium bug and its severity has been raised to S1. |
cary-rowen, |
We are still looking for feedback in the Chromium bug. The engineer working on it could not repro using the steps, and believes the issue was fixed way back in Chromium 102, which is a long time ago. If someone wants to add more feedback to that bug it will help move things along. |
Hi aleventhal, The bug is reproducible, I'm keeping a close eye on this and will update here if there is any further news. Best, |
According to my testing, this bug does behave as expected sometimes, but not always. |
That's helpful. Are you able to add that info to the Chromium bug? That way the engineer can ask more questions if necessary. |
Not exactly the same. The goal of #16237 is more like a request to merge @mltony's word-nav into NVDA core. It is similar to sentence navigation, and the common point is to use punctuation marks to achieve quick navigation of Chinese content. 该请求着重于让 NVDA 具有对中文内容的单词拆分能力,这将会影响 numpad4和numpad6。 I hope to resubmit an issue in the near future to elaborate on this matter |
I just found one more blocker for improved word navigation: setting caret position doesn't work in VSCode. I filed microsoft/vscode#210842. Looking at their last reply it seems they are not planning to fix this. CC: @isidorn, @meganrogge. |
Is your feature request related to a problem? Please describe.
The word navigation ability of Ctrl+left/right arrow brings convenience to users, but it is not enough.
Ctrl+Arrow obviously fails to navigate by word in the following situations:
Of course, it also includes Snake Case: "test_function".
In addition to being a visually impaired programmer, I am also an NVDA user using Chinese. For Chinese content, in some editing controls (such as Notepad), you cannot navigate by word.
Because each Chinese character is considered a word, this is no different from word-by-word navigation.
Describe the solution you'd like
I solved all the above problems using @mltony's Word-Nav add-on.
I can freely define the behavior of Ctrl+Arrow, Ctrl+Windows+Arrow, and the add-on can also differentiate left/right Ctrl/Windows which greatly expands the scope of what word navigation can be used for.
Since the add-on is left/right aware, this also does not conflict with Windows Virtual Desktop shortcut key.
For Chinese content, this add-on can split and enable navigation by punctuation, which will definitely help in understanding the exact meaning of the text
Describe alternatives you've considered
None
Additional context
None
The text was updated successfully, but these errors were encountered: