nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.12k stars 637 forks source link

Make NVDA Find dialog search whole screen #9459

Open adamsamec opened 5 years ago

adamsamec commented 5 years ago

It would be practical if the NVDA find dialog was able to find text in whole screen, not just in the current document. E.g., one could then use it to find an item in the tree view of folders in the File explorer, or to find a specific checkbox in a dialog.

The problem.

Sometimes, a dialog is too complex to tab over all of its items to find the correct one, or there is a need to quickly jump from one list to another, such as in File explorer window..

Inspiration In short, I am looking for the behaviour which is available on VoiceOver on Mac - the VO + F command.

Additional context

This should work in all applications.

josephsl commented 5 years ago

Hi,

Technically, it is doable. However, I would add a note of caution: operating system differences, and consequently, differences in how VoiceOver and Windows screen readers such as NVDA operates and mindset of people behind them.

Think of it this way: you have two pictures of a landscape (say, a mountain) that appears to be colored the same. But upon closer inspection, it is found that they use different color combinations to achieve the same thing. Another analogy is two sets of musical instruments that appears to sound the same, but upon closer examination you find that they are made from two completely different materials (one wood, one plastic).

In some respects, VoiceOver and NVDA may appear to be similar in power and scope, such as object navigation, braille support, similar command structure in some cases and so on. But when we dive deeper, we might find differences: operating system differences, philosophy, mindset of developers, different organizational objectives and what not.

As a member of the NVDA community, I'm not saying I'm against this issue, nor have plans to close this simply because of notions of some in the community that it is not a good idea to borrow features (I would imagine some folks might say that). But I think it would be helpful to remember that part of the reason why some of the things in the "big picture" - making NVDA mor comparable to VoiceOver - might not make the cut (implemented) is due to differences noted above: not just this is macOS versus Windows (and internals and services offered by these operating systems), but also due to mindset, overall development and accessibility philosophy, and organizational objectives.

Technical: this will involve doing one or more of the following:

  1. In-order accessibility tree traversal and search (prone to errors such as MSAA, Java Access Bridge, or UI Automation confusing NVDA as to how to navigate some apps).
  2. Generating a tree interceptor (basically, letting app windows become browse mode documents for ease of navigating and searching; there is an issue for this).
  3. A combination of the above.
  4. Something completely different and haven't thought about.

Thanks.

DrSooom commented 5 years ago

See also: issue #7330, #7415, #7422, #7759, #7855, #8567 and a few more as well as PR #7331.

Brian1Gaff commented 5 years ago

nvda/b although it has its issues, like eternally reading the same bit due to weird info from a piece of software, It would be perhaps good if this command could also search for a string and pause when it came to it, then allow the mouse or cursor to be focussed there. Now whether this would do any good is going to depend on what it actually is of course. Interestingly sometimes this command will read the screen at other times it just reads the foreground window. I know the idiosyncrasies of this command have been debated before and as it stands it is useful to know what nvda cannot get at, but I tend to use it on programs like superantispyware to get a basic feel for what is going on before using screen nav to get to the buttons I need. Just some thoughts. Brian

bglists@blueyonder.co.uk Sent via blueyonder. Please address personal E-mail to:- briang1@blueyonder.co.uk, putting 'Brian Gaff' in the display name field.