Skip to content

Conversation

@codeofdusk
Copy link
Contributor

Link to issue number:

Builds on #9614.

Summary of the issue:

In the Windows Console, only onscreen text can be read using the review cursor; if text scrolls off the screen, it is impossible to review it.

Description of how this pull request fixes the issue:

This PR allows the review bounds (i.e. which portion of the console buffer can be reviewed) to be changed on the fly using new gestures. Currently, nvda+o and nvda+shift+o cycle among the review bounds options.

Testing performed:

Attempted to review text before and after running git log using the various modes on Windows 10 1903.

Known issues with pull request:

  • I don't really like NVDA+o for this. Can you think of an easier command to type?

Change log entry:

None yet, but this should definitely get one once UIA becomes the default.

@codeofdusk
Copy link
Contributor Author

@DrSooom
Copy link

DrSooom commented Jun 9, 2019

@codeofdusk: Is it possible to implement this function into the review modes which can be switched by pressing NVDA+Num7 and NVDA+Num1?

@codeofdusk
Copy link
Contributor Author

@codeofdusk: Is it possible to implement this function into the review modes which can be switched by pressing NVDA+Num7 and NVDA+Num1?

As I see it, the advantages to this approach are:

  • Logically, these bounds settings are modes of review (i.e. they change the behavior of the review commands).
  • In the UIA console, screen review doesn't seem that useful.

However, this requires adding support for custom review modes to NVDA. To do this, I could check if the object under review implements previousReviewMode/nextReviewMode and defer to those methods when available. Then, for the console, I could implement the new review mode switching methods to change bounds.

To me, this breaks the consistency of the review mode commands (i.e. wildly different review modes become available based on the object being reviewed, which could confuse users). My vote goes to keeping the bounds switching on a dedicated script.

Copy link
Member

@michaelDCurran michaelDCurran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that this kind of feature needs a bit more thought before we take this.
Some things to think about:

  • I think that there are too many possibilities for the bounds setting. A simple toggle of bounded or unbounded would be enough, and then also means we only need to use up one gesture.
  • There is already a bug present in the UIA console support where pressing shift+numpad7 (top line) or shift+numpad9 (bottm line) takes you past the visible bounds, and then you're stuck there. I think that to get around this we would really need to embed this concept of configureable review bounds into NVDA much deeper. My idea would be to have textInfos support position_firstvisible and position_lastVisible. Then the review top/bottom scripts in globalCommands would honor the review bounds setting by using position_firstVislbe instead of position_first and position_lastVisible instead of position_last, if it was set to bounded.

@codeofdusk
Copy link
Contributor Author

This PR will be rewritten in a more general form separate from the UIA console work (but definitely usable here).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants