nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
Other
2.08k stars 626 forks source link

Feature request: provide a list of previous searches in the find dialog used in browsers #8915

Closed marlon-sousa closed 5 years ago

marlon-sousa commented 5 years ago

Hello,

I would like to propose that the previous search items are listed in the find dialog activated by ctrl + nvda + f.

Several people use the search hability to find placeholders from where they can continue navigation in webpages.

Currently, only the last searched term is offered in the find dialog. But for long navigation sessions where you navigate go and back through several pages it would be helpful to be able to quickly select a previously typed term and search for it again.

The implementation is simple. It is necessary to replace the wxTextFieldCTRL by a wxComboBox in the FindDialog class and make some stat processing to save and feed the list of searched terms between the dialog and the CursorManager class.

While simple, this would greatly improve the user experience for many people.

The expected result is an edit field just like the current one but with the possibility of selecting previous search terms with the up and down arrows.

For the first version of this feature I propose that search terms are not persisted between NVDA runs and also among different nvda users.

This is strategic because it will keep the feature simple while solving possible privacy issues some users might have with previous search terms being displayed among sessions.

This also make sense because usually you need to use previously searched terms only during a research / work session.

Even though, if users ask us after the feature rollout for a search profile, so to speak, then we can develop a version 2 of the feature storing per user the searched list in an encrypted form with a key derived for the current user, meaning windows user, and let it enabled for installed copies but disabled for portable copies. But I thing that the v1 not persisting would already be very good.

Can you evaluate the idea? If it is accepted I will propose the code.

P.S. I have removed the rest of the template because it does not seem related for a feature request.

josephsl commented 5 years ago

Hi, this request is not new, and I am happy to donate a working code from one of my add-ons to the Core. Thanks.

From: Marlon Brandão de Sousa notifications@github.com Sent: Saturday, November 3, 2018 10:32 AM To: nvaccess/nvda nvda@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [nvaccess/nvda] Feature request: provide a list of previous searches in the find dialog used in browsers (#8915)

Hello,

I would like to have my previous search items listed in the find dialog activated by ctrl + nvda + f.

Several people use the search hability to find placeholders from where they can continue navigation in webpages.

Currently, only the last searched term is offered in the find dialog. But for long navigation sessions where you navigate go and back through several pages it would e helpful to be able to quickly select a previously typed term and search for it again.

The implementation is simple. It is necessary to replace the wxTextFieldCTRL by a wxComboBox in the FindDialog class and make some stat processing to save and feed the list of searched terms between the dialog and the CursorManager class.

While simple, this would greatly improve the user experience for many people.

The expected result is an edit field just like the current one but with the possibility of selecting previous search terms with the up and down arrows.

Can you evaluate the idea? If it is accepted I will propose the code.

P.S. I have removed the rest of the template because it does not seem related for a feature request.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/nvaccess/nvda/issues/8915 , or mute the thread https://github.com/notifications/unsubscribe-auth/AHgLkCD2A1s8c8whBENeSKsoaMys0kuYks5urdL-gaJpZM4YM6Lq . https://github.com/notifications/beacon/AHgLkLEZPQeR0NhZ1C2kQe_sl192LtAhks5urdL-gaJpZM4YM6Lq.gif

marlon-sousa commented 5 years ago

Hello, I have written the code. I woould like to have it reviewed as a first contribution efort if this feature is aproved.

lucastito commented 5 years ago

I have no idea if there already is an issue for this feature or it's a new issue, however this feature is absolutely fantastic and I hope I can use that as soon as possible. Thanks for your interest @marlon-sousa

magoolation commented 5 years ago

I really expect be possible to use it soon. In my researches and study sessions it will increase my productivity a lot

josephsl commented 5 years ago

Hi,

I think we should also hear justifications from those who oppose this idea, as well as from those whose justification is not productivity improvements. Only then I think we should consider sending in pull requests.

To whoever is going to write a pull request for this one if adopted by the community, I strongly urge you to consider Python 3 compatibility now than later. That way we won't have lots of headaches once we do transition to Python 3.

Thanks.

Brian1Gaff commented 5 years ago

What would be the down side really? Having them controlled by up and down arrows seems pretty benign to me. 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.


lucastito commented 5 years ago

I cannot imagine a scenario when this feature is not good. Anyhow, I believe that's possible create a shortcut to turn on or turn off this functionality. To be honest, I think it should be the default setting. If someone doesn't want to use this feature, then they won't press the arrows or they will desable that. Since long time ago, People without desability can use a similar feature in a lot of programs like word, adob reader, browsers and more.

jscholes commented 5 years ago

It's possible that some users may not want their search history recorded for privacy reasons. This can easily be overcome by providing a "Number of remembered search entries in Find dialog" setting or similar. If it's set to 0, nothing will be remembered.

FWIW, the Find dialog is pretty basic at the moment all round. It doesn't have Find Next/Previous buttons, for example.

marlon-sousa commented 5 years ago

Joseph,

As I said the code has been written already. It was a part of my self exercise to become a contributor of a project in which I believe and the feature would really benefit many people such as it is already posing benefits to my self these days.

The code is aware and working with python 3 syntactically, but if there is a branch with py 3 I can test with let me know.

Pool request will be submitted if the feature is approved.

marlon-sousa commented 5 years ago

James,

Good point.   I already had thought about it but didn't write it in the issue this part. I will try to edit it latter, but in the mean time here it goes:

As the implementation currently stands, searches are not saved among NVDA sessions and definitely not among users.

This does make sense because usually you need to use previously searched terms only during a research / work session.

This means that once NVDA exits then the list of searches will be lost and thus the privacy is preserved in this case.

If the feature is accepted the way it is then this will already be beneficial.

If one needs a fixed search profile, so to say, then may be searching is not the best strategy. Even though, if users ask us after the feature rollout for a search profile, so to speak, then we can develop a version 2 of the feature storing per user the searched list in an encrypted form with a key derived for the current user, meaning windows user, and let it enabled for installed copies but disabled for portable copies. But I would like to implement a first version not persisting searches among sessions.

The find dialog really can be improved and I am working on yet another feature a little more complex but let's wait first to see if this one will be approved, which I really hope then I will write down the other proposal ...

Thanks!

It's possible that some users may not want their search history recorded for privacy reasons. This can easily be overcome by providing a "Number of remembered search entries in Find dialog" setting or similar. If it's set to 0, nothing will be remembered.

FWIW, the Find dialog is pretty basic at the moment all round. It doesn't have Find Next/Previous buttons, for example.

Adriani90 commented 5 years ago

@josephsl I think you were working on this at a certain time in the past if I am not wrong.

ehollig commented 5 years ago

Duplicate of #8482 @marlon-sousa please create a new PR, or add to the branch in #6484 Please take all further discussion on this topic to #8482