-
-
Notifications
You must be signed in to change notification settings - Fork 650
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
windows terminal: NVDA reads invisible lines when using pagers such as less and more #13157
Comments
Tested, the issue does not occur with NVDA 2021.2 |
@codeofdusk could we please make it configurable? Not being able to reliably jump to the top of visible area to review the output line by line breaks experience when using terminal-based programs a lot. e.g. imagine reading git log page by page, however when one switches to the next page they can not review content of that page from top to bottom, since NVDA treats the output as a whole. the same can be said for using |
As an idea, see the visi-range-commands branch on my fork. I've added (global for now) scripts to jump to the first/last visible line in UIA text controls. Does this help/is this the right approach? Cc @LeonarddeR, @seanbudd, @carlos-zamora. |
@codeofdusk Thank you for considering approaches to address the issue! I am not sure that adding a separate commands for this is the best experience. It suggests that we assume by default the user wants to jump to the top/bottom without taking into account visible range, which is not necessarily the case. It might be subjective, but I can't imagine good workflow examples from top of my head where I might prefer such a behavior by default when using terminal, while I use it everyday for years. A couple ideas:
In any scenario, we might also allow the user to navigate out of the visible range by using next/previous line/word/character commands. This way we:
|
I think the problem with both of these ideas is that they cause terminals to have different behaviour from the rest of NVDA, which has caused user confusion. With upstream changes to the terminal, this differentiation is no longer necessary, so #12669 brings newer UIA terminals in line with other UIA controls. The original reason for bounding to start with was that older ( One approach for idea 1 could be to bring back a For idea 2, do scripts on the object level override CC @michaelDCurran. |
Thanks for references, now I see that we had an approach in the past to address the issue by making bounding configurable with a global gesture. I'd argue that #12669 reasoning is not 100% precise regarding bringing the console review in precedent with the rest of NVDA. In word and web documents there is an independent cursor which does not lose its position when navigating down (as is the case when using pagers in the terminal); there also exists commands to move up and down by pages (again not the case with the terminal). I see that @michaelDCurran was in favor of the global gesture so he clearly recognized the problem, let's wait what he has to say for this as well. |
As a linux user who rarely uses windows, I would like to say that this change really makes it difficult to use the terminal as conveniently as I do on linux. when windows received a normal terminal, I was very happy, but since recently, when this change has appeared, working in the windows terminal causes me only discomfort. |
…MATTED consoles. The ability for users to explore all console text enabled by nvaccess#12669 has been well appreciated, but it poses problems in paginated output (less, more, etc.) as the review cursor jump to top/bottom commands are relative to the entire buffer, which can grow quite large. To ease review of paginated output, make these commands jump relative to visible (not full) text. Note that it is now impossible to jump quickly to the top/bottom of the entire buffer. Closes nvaccess#13157.
…MATTED consoles. The ability for users to explore all console text enabled by nvaccess#12669 has been well appreciated, but it poses problems in paginated output (less, more, etc.) as the review cursor jump to top/bottom commands are relative to the entire buffer, which can grow quite large. To ease review of paginated output, make these commands jump relative to visible (not full) text. Note that it is now impossible to jump quickly to the top/bottom of the entire buffer. Closes nvaccess#13157.
…MATTED consoles. The ability for users to explore all console text enabled by nvaccess#12669 has been well appreciated, but it poses problems in paginated output (less, more, etc.) as the review cursor jump to top/bottom commands are relative to the entire buffer, which can grow quite large. To ease review of paginated output, make these commands jump relative to visible (not full) text. Note that it is now impossible to jump quickly to the top/bottom of the entire buffer. Closes nvaccess#13157.
Closes #13157 (given microsoft/terminal#13756). Supercedes #13671. Summary of the issue: There is no way to move the review cursor by page. This is especially useful in terminals as a "page" can be defined as a screenful of text, solving #13157 without violating any other assumptions in NVDA and still permitting easy jump to the absolute top/bottom of the terminal buffer using the currently existing scripts. Description of how this pull request fixes the issue: Added new scripts (bound to NVDA+pageUp/NVDA+pageDown on desktop and NVDA+Shift+pageUp/NVDA+Shift+pageDown on laptop) to move to previous/next page respectively.
To clarify:
|
@codeofdusk, shall this be reopoened? I just checked with my Windows 11 terminal and I can still reproduce this issue: Shift+7 takes me to the very beginning of the buffer instead of the first visible line. From what I can see:
Or am I missing anything? |
Is there any progress on this? I must admit I don't understand why a screen reader would, by default, read content that isn't on the screen and provide no way to navigate to the top of the visible content. It makes using a pager, or any full screen text UI very difficult. Are there any alternative terminals for windows that don't have this problem? I use teraterm for remote ssh connections. |
@RDMurray |
FWIW I just released Console Toolkit v1.3 add-on where I implemented a workaround for this issue. In UIA terminals it overrides |
Thanks @mltony |
Thanks @mltony that will make the terminal usable again. I really hope a similar solution can be included in NVDA; it is essential to be able to navigate to the top of the visible window when working in a terminal. |
The change is quite straightforward from technical point of view. The challenging part would be to get an agreement on what should be the UI for this change. IIRC Sean had concerns of this behavior for |
I also have concerns about this behaviour, and agree that a "jump to first visible"/"jump to last visible" is needed. @carlos-zamora do you have any updates on microsoft/terminal#13756? |
Have you also implemented this for users using laptop layout. |
|
Steps to reproduce:
man test
Actual behavior:
NVDA reads the command output from the very beginning, as if no pagination appeared: "TEST(1) User Commands TEST(1)"
Expected behavior:
NVDA should read only the last page displayed. It worked like that before and it also works like that when using wsl in windows console (without the new windows terminal)
System configuration
NVDA installed/portable/running from source:
Installed
NVDA version:
2021.3
Windows version:
windows 10 21H1 (os build 19043.1348)
Name and version of other software in use when reproducing the issue:
Microsoft windows terminal 1.11.2921.0
Other information about your system:
Other questions
Does the issue still occur after restarting your computer?
Yes
Have you tried any other versions of NVDA? If so, please report their behaviors.
I think it worked in 2020.4
If NVDA add-ons are disabled, is your problem still occurring?
N/A
Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?
N/A
The text was updated successfully, but these errors were encountered: