-
-
Notifications
You must be signed in to change notification settings - Fork 642
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
UI Automation in Windows Console and Windows Terminal: Make POSITION_FIRST and POSITION_LAST relative to visible text in FORMATTED consoles #13671
Conversation
0c3ceaa
to
819550a
Compare
Could @michaelDCurran please provide feedback on this approach? |
How does movement by the page unit behave in consoles? Wouldn't it be better and more consistent to add review commands to move the review cursor by page? |
It isn't defined. Also CC @carlos-zamora. |
Hmm. We (Console) probably should define it though. Scrolling by "page" is currently just scrolling by viewport height (at least in Windows Terminal). |
Can you elaborate on this with examples?
I think this is a blocker - would it be possible to cache the top and the bottom somehow? |
…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.
819550a
to
1b74b44
Compare
How might this help? |
@seanbudd, @michaelDCurran, @jcsteh any more thoughts on the approach here? This is becoming more relevant with #10964 and Windows Terminal eventually becoming the default console host. |
Just checking in again on this PR as I'll be out of time to work on it soon. CC @seanbudd. |
@codeofdusk - if you want a PR review with the approach as-is, please mark it as ready for review. If you would like a detailed investigation and general advice on solving #13157, we will need to schedule the work for later - there is no priority for this to jump the queue compared to other PRs. |
So I'm not quite sure what to do with this PR. Maybe @LeonarddeR or @michaelDCurran could give input? |
The risks you describe with this PR seems like something a detailed investigation requires, or extensive testing on alpha. I think #14021 is a safer approach. If it ends up not being comprehensive in fixing this issue, e.g. the muscle memory problem is too user hostile, we can look at the approach in this PR. |
I'm actually on the phone with @carlos-zamora right now! He agrees that #14021 makes more sense and is willing to implement the needed changes on the terminal side. Closing this PR in favour of that one. |
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.
Link to issue number:
Closes #13157. Alternative solution to #14021.
Summary of the issue:
The ability for users to explore all console text enabled by #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.Description of how this pull request fixes the issue:
Re-introduces a (generalized)
ConsoleUIATextInfo
toformatted
consoles andwt
that limitsPOSITION_FIRST
andPOSITION_LAST
to the first and last visible (not absolute) text range. ThistextInfo
implementation overrides no other behaviour inFORMATTED
consoles.Testing strategy:
Tested that the review cursor works as expected in
FORMATTED
andIMPROVED
consoles and Windows Terminal.Known issues with pull request:
Code Review Checklist: