Skip to content
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

Provide the ability to search for a setting to change #872

Open
nvaccessAuto opened this issue Sep 1, 2010 · 11 comments
Open

Provide the ability to search for a setting to change #872

nvaccessAuto opened this issue Sep 1, 2010 · 11 comments
Labels
enhancement feature p5 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation. ux

Comments

@nvaccessAuto
Copy link

Reported by etman98 on 2010-09-01 21:52
Hello,
I don't always like going into the NVDA Menu every time to change a setting. If I want to change the synthasizer then connect a braille display I have to go to the synthasizer dialog then when done, go back into the NVDA Menu go to preferences, then go to braille settings. Could you turn the NVDA Menu into a dialog with a menu bar & search box to search for a setting to change?

Thanks!

@nvaccessAuto
Copy link
Author

Comment 1 by jteh on 2010-09-01 21:56
A menu bar isn't going to make this any faster. You would still have to press a key to enter the menu bar and then find the dialog. I'm morphing this ticket to cover searching for settings.
Changes:
Changed title from "Easier way to change settings" to "Provide the ability to search for a setting to change"
Milestone changed from 2010.3 to None

@nvaccessAuto
Copy link
Author

Comment 2 by RamboUdin on 2010-09-06 03:07
Hi,
NVDA configuration dialog should be added with search feature.

@LeonarddeR
Copy link
Collaborator

This is a nice follow up for #577.

@bdorer
Copy link
Sponsor

bdorer commented Mar 19, 2019

Now #577 has been included this would be a nice feature for 2019.2.

@LeonarddeR
Copy link
Collaborator

I'm afraid this is much more complex than you may think. @feerrenrut once proposed a major change to the way the setting gui is created from a code perspective, and I think such a major change would be required to implement this effectively.

@feerrenrut
Copy link
Contributor

Yes, there are quite a few challenges to do this. There is of course the technical challenge of how to go from what we have now to what would be required to implement this feature. There are also a lot of UX challenges. To progress this issue, I think it would be good to see a minimal prototype. I would suggest implementing this prototype with as little of the baggage in the NVDA GUI as possible, then as a secondary consider how to go from what we have to this approach.

Some UX to consider:

  • How do you present the matching settings?
    • Consider visual, speech, braille.
    • Most settings rely on their context (the settings panel name / grouping) to convey a clear description of what they are for.
    • When there are several matching settings in multiple panels how do you present them both and their context?
  • Often people want to to change other "nearby settings". For instance, voice and speech rate.

I have some initial ideas, but I have not worked through them to see if they are feasible:

  • Highlight matches, and use F3 / Shift + F3 to jump focus.
    • All panels / options remain available to receive focus / be changed
    • Panels with matching options are visually highlighted, options that match are visually highlighted.
    • F3 can be used to jump focus to the matching options. The name of the control, followed by any group it is in and it's panel name are also reported (speech and braille)
    • Might be challenging to be able to visually highlight options.
  • Use the searchCtrl in wx, fill the dropdown menu with "Control name - group name - panel name"
    • Selecting one of the items in the drop down jumps focus direct to that control.
    • F6 or some other key can be used to return focus to the searchCtrl to select another item in the list.
    • Could be done in conjunction with highlighting matches and using F3 to jump focus.
  • Show a new settings panel, with just the matching controls (these could be in groups to identify the settings panel and group)
    • Doesn't allow for changing "nearby settings"

@Gene703122
Copy link

the discussion appears to me to be a case of trying to do too much. Not being a programmer, this might not be practical but here is my modest proposal:
Why not leave the interface the same but have a search field at the top so the user would be dealing with something very familiar, an interface like the start menu search. the user would open preferences and be in an edit field. He/she could type something like speech and down arrow to see a list of relevant results, which could be worked with such as speed, pitch, etc. You would press enter and be taken to the field you want to work with. You would be in exactly the same place as if you had moved their directly. You would work with the slider or do whatever you would do if you got their without using search.

You would be in exactly the same place in the dialog and you would activate the ok button in exactly the same way or you would tab or shift tab to work with other settings in the dialog.

Perhaps the search could be made more specific. The user might type pitch, down arrow and find pitch in the list and press enter. The user would then be on the pitch slider. The same with speed or whatever else is available in the dialog.

Gene

@josephsl
Copy link
Collaborator

Hi,

That's what I would imagine would be the case (perhaps that might be the UI a potential prototype might present)... except we need to be more specific about implementation strategy. Reef provides some thoughts about implementation strategy (see his notes above for details), but to siplify it a bit, it reuqires working with a combination of wxPython features and the capability NVDA provides.

Thanks.

@feerrenrut
Copy link
Contributor

@Gene703122 one issue here is there are different kinds of matches.

Let's imagine the results for the search term "speech"

  • "speech settings panel" (which contains many controls)
  • "Speech interrupt for typed characters " - Keyboard property page

The user may be trying to find a specific configuration control like "Speech interrupt for typed characters ", or just a shortcut to the speech settings panel. If all of the config controls from the speech settings panel are included (speed, pitch, voice, etc) it will be slow to find other "primary" search results such as "Speech interrupt for typed characters".

If the contents of matching groups or panels are excluded, but a way to jump directly to that settings panel or group is included, this is basically the second suggestion I made (quoted here for reference):

  • Use the searchCtrl in wx, fill the dropdown menu with "Control name - group name - panel name"
    • Selecting one of the items in the drop down jumps focus direct to that control.
    • F6 or some other key can be used to return focus to the searchCtrl to select another item in the list.
    • Could be done in conjunction with highlighting matches and using F3 to jump focus.

I would now adjust this, last time I tested the searchCtrl it was not very accessible, we could use a more basic control instead.

@Kanwar5
Copy link

Kanwar5 commented Jan 17, 2023

Just bumping this thread.
I think despite the immense technical challenges, it’s an idea worth considering.
iOS has a feature similar to this, in the settings or by using spotlight search you can type in a keyword and everything associated with it will be brought up but I appreciate it’s not quite as easy when you’ve got a desktop to work with.

@marrie
Copy link

marrie commented Jan 17, 2023

I would also like to see this for the following reasons:

  • First, the sheer number of settings in NVDA. As a new beginner things can seem overwhelming at first.
  • Second, on most other platforms, windows included, there is a search function when you tab.
  • Third and finally, as an advanced user it would be nice to type in a keyword or 2 and have a reduced list of settings to search through, things in the tree could be filtered per your search results as well, probably in theory.

Thanks.
That should be one of the first things in tab order, visually it could be at the top center just above the tree view to make it prominent.

@seanbudd seanbudd added p5 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority feature ux triaged Has been triaged, issue is waiting for implementation. labels Jan 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement feature p5 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation. ux
Projects
None yet
Development

No branches or pull requests

9 participants