nvda icon indicating copy to clipboard operation
nvda copied to clipboard

NVDA Find dialog: if a next occurence of the entered text is not found, ask the user if they would like to begin searching from the top

Open nvaccessAuto opened this issue 9 years ago • 24 comments

Reported by blindbhavya on 2014-11-20 19:46 In webpages wit lots of text, or in situations where I begin using the NVDA Find dialog when in the middle of a webpage, and while searching for next occurences of the entered text, and I reach the last occurence, I need to press Ctrl Home to jump back to the beginning of the document, and start searching again/. It would be nice if NVDA would when a person attempts to find next occurence when already on the last occurence display a dialog asking the user whether they wish to begin searching again from the top. Also, that is the way most other applications' Find dialogs work.

nvaccessAuto avatar Nov 20 '14 19:11 nvaccessAuto

I hope the UX and scope of this ticket is clear, and if not, I would be happy to elucidate. Any thoughts on what priority this feature request deserves? @feerrenrut

bhavyashah avatar Aug 06 '17 10:08 bhavyashah

This seems pretty clear. Going to label this as a feature. At this point we are not giving features priority (see the wiki) instead we will try to group them into a project that makes sense. That said this seems like it would be a good feature for a new developer / contributor to take on.

feerrenrut avatar Aug 07 '17 07:08 feerrenrut

Are we distinguishing between an enhancement and a feature, or are both labels synonymous to each other? If enhancement and feature are distinct, and my present understanding of the two is correct, I would say this ticket should be labelled as an enhancement rather than a feature. However, if the two labels are interchangeibly used, then never mind this comment.

bhavyashah avatar Aug 07 '17 08:08 bhavyashah

I have tried to explain the distinction on the wiki, but perhaps this is not clear enough? Essentially, we are trying to separate the two. The issues with the label enhancement are essentially only relevant to maintainers. This might by modifications to the in-code documentation, fixing the design of some code to enable new features / or reduce the chances of bugs. On the other hand, issues with the feature label should result in some new functionality for the end user.

feerrenrut avatar Aug 07 '17 08:08 feerrenrut

On looking at the Wiki again, I think it is sufficiently clear. Actually, I got to look at this page for the first time only a couple days ago because @ehollig shared it with me and I had only skimmed through it then, but upon closer inspection, it seems well-defined. My perception of enhancement was different from your properly stated definition of the same, so this confusion was my bad.

bhavyashah avatar Aug 07 '17 08:08 bhavyashah

This would be a great feature. cc: @josephsl

Adriani90 avatar Jan 04 '19 22:01 Adriani90

I'd like to try implement this in some days. @josephsl are you already on this or I can tackle it? Thanks

aaclause avatar Jan 10 '19 03:01 aaclause

Hi, at this point, I’m focusing my efforts on school, Windows 10 19H1, and Python 3 research. Feel free to take this on after talking to others for guidance. Thanks.

josephsl avatar Jan 10 '19 04:01 josephsl

A better behavior would be to wrap the find feature so that getting to the end results in automatically wrapping the search to the beginning of the document. Have an option that enables or disables this behavior in settings. Having to press yes/no each time is annoying at best and time-wasting at worst.

PratikP1 avatar Jan 10 '19 06:01 PratikP1

@PratikP1 I agree with you. Even currently I find that is annoying when there's no more result. I'd rather have a flash message (instead of a dialog box) that just says:

Text "foo bar" not found

Other opinions?

aaclause avatar Jan 10 '19 06:01 aaclause

@PratikP1, I also like your idea. But a tooltipp message should be reported by NVDA that the search starts again from the top of the document.

I think your Suggestion should be the Standard behavior and should not be an optional Setting. This is how it works in MS Word and other programs as well. We don't want to end in a situations where we must enable or disable every trivial thinkg through an Option. I think most users would agree with the behavior that the search should start automatically from the top, as Long as there is a short message reported by NVDA.

Adriani90 avatar Jan 10 '19 08:01 Adriani90

Converting dialog to flash message is covered by #7422. Regarding automatically wrapping searches to top when the string isn't found it might be useful for some, but it definitely need to be configurable. The current behavior allows me to for instance move to the last occurence of the string with NVDA+F3 then pressing it one more time to ensure that I am where I want to be and start navigating from there on some specific web pages, and I really don't want to lose this only because Word implements it differently.

lukaszgo1 avatar Jan 10 '19 12:01 lukaszgo1

Is it possible to add a beep tone if no further result could be found and only if you press NVDA+F3 or NVDA+Shift+F3 again it will then jump to the first/last result? This is currently the method how the default object navigation (swipe one finger to the left/right) in TalkBack on Android 9 works.

DrSooom avatar Oct 03 '19 17:10 DrSooom

A feature like this should not be on by default. It should also be user definable. What if I've been to a page before and I know I am looking for the last occurrence? If I look for the last occurrence, I'll loose my place unless I read the current line of every occurrence found while I search or I micromanage a site by remembering that on site A, I have to repeat a search four times, on site B, I have to repeat a search six times, it very quickly becomes ridiculous.

If there is concern that people will want to change this behavior and won't know that it can be or how, then have a first use dialog that tells people where to find the information in the user guide or have something come up explaining that the behavior can be changed, a link to find more information such as to a section in the User Guide and a do not show me this again check box. But restricting users' freedom to customize the screen-reader when dealing with a feature that radically changes an operation is just bad policy.

Gene703122 avatar Oct 22 '20 02:10 Gene703122

Hello is this issue still occuring ? Any news ?

DSkyNC avatar Oct 27 '21 14:10 DSkyNC

yes problem still occurs, i vote in favor of implementing this solution, ask the user if they want to search from the beginning

fernando-jose-silva avatar Oct 27 '21 17:10 fernando-jose-silva

Hello,

We are developing a feature that we want to make optional. In settingsDialog.py, we have created this checkbox to activate the functionality but we don't know how to link this checkbox to an action.

This line for example, "self.useScreenLayoutCheckBox.SetValue(config.conf["virtualBuffers"]["value"])" (in the settingsDialogs.py file) means what. Thank you

DSkyNC avatar Mar 21 '22 15:03 DSkyNC

@DSkyNC Better to ask on the NVDA developers mailing list to get assistance with these kinds of things. Discussion here should be specific to the GitHub issue.

feerrenrut avatar Mar 23 '22 03:03 feerrenrut

Hello, I have a question and I was wondering why there is a NVDA search dialog when in most cases we have a search box implemented in the browser for example. What is the difference and what is the point?

I asked a friend who uses NVDA in everyday life and he told me that the reason is that sometimes the command to access a search box is different from CTRL+F. I also noticed that when I use the search boxes implemented in browsers, and I find results, NVDA tells me for example "Result 1 of 1" but doesn't read the result found so ok "result 1 of 1" is cool but what did you find? (There must be a way to do this but I'm not very familiar with NVDA and the associated commands) While NVDA's search box does this, when it finds a result, it reads it to me immediately.

But could there be another reason for NVDA to provide its own search dialog?

DSkyNC avatar Mar 29 '22 15:03 DSkyNC

But could there be another reason for NVDA to provide its own search dialog?

The reason is called "Virtual Buffer" respectively "Virtual Document". For more information please take a look at the chapter "6. Browse Mode" in the NVDA User Guide.

DrSooom avatar Mar 30 '22 10:03 DrSooom

But could there be another reason for NVDA to provide its own search dialog?

The reason is called "Virtual Buffer" respectively "Virtual Document". For more information please take a look at the chapter "6. Browse Mode" in the NVDA User Guide.

Ok, thank you! i'll take a look.

DSkyNC avatar Mar 30 '22 13:03 DSkyNC

The issue with such a dialog is that NVDA has to go out of the browse mode document to display it and the focus is redirected to the dialog. After dismissing the dialog, the virtual cursor is often not located at the same position in the document. Sometimes NVDA freezes for more than 30 seconds until you can navigate again in browse mode. This can be reproduced in some large pdf documents when opening them in the browser and using the NVDA find feature.

Adriani90 avatar Apr 22 '24 19:04 Adriani90

@Adriani90 how large does a PDF document need to be to replicate what you describe in https://github.com/nvaccess/nvda/issues/4637#issuecomment-2070794549? I would like to try to observe this in action.

XLTechie avatar Apr 23 '24 08:04 XLTechie

I creadted #16451.

Adriani90 avatar Apr 25 '24 18:04 Adriani90