Input Gestures and Input Help and context sensitivity


Quentin Christensen
 

In the thread about changing the key for the find command, the issue came up that the Input Gestures dialog (and Input Help) are context sensitive.  If you aren't on a web page in browse mode, some options (such as the key commands for the find command in the Input Gestures dialog) are not presented.

I wanted to split the issue of features like input gestures and input help being context sensitive off into its own discussion.

Off the top of my head, I can't recall exactly why that decision was made in the first place (but given I forgot it worked like that entirely yesterday, maybe I'm not the best one to ask!)

So: Thoughts? Comments? Do you love that it does this?  Do you hate that it does this?  Did you have no idea it worked this way and wondered why you couldn't find the find command in the input help dialog?

If people think it would be worth changing (or if there is a bug anywhere) then an issue on https://github.com/nvaccess/nvda/issues is the way to go.  But I thought it might be worth some discussion here to see if that is the case overall.

Quentin.

--
Quentin Christensen
Training and Support Manager


 

Quentin,

This is another of those situations where no matter which way you'd choose to go, someone is going to be unhappy.  Even if you had a user controlled setting for "give me the full setting set all the time" versus "context sensitive" there would be users complaining that whatever default was chosen was "the wrong one."

Personally, I always prefer "the full set of options, all the time," because I'll often either start exploring, or just remembering when I see something that I'd though about looking into it and tweaking something I'd not yet gotten around to.

Others prefer the "decluttering" that comes from only presenting options that are contextually pertinent.

In the end, the end user needs to understand how the tool they've chosen (or been given or had foist upon them) works.  What's "intuitive" (and how I hate that word when it relates to almost all computer technology - were I believe nothing is truly intuitive) for one person is opaque for another.

And I'll be castigated for saying it, but there's a reason that those of us in the technology field, generally, spout the old, "RTFM!," on occasion.  Nothing is going to be entirely obvious or intuitive for any complex piece of software, and we all hit times where we have a, "How do I do that?," and/or, "This isn't working," and where either the "that" or the "this" is obvious to us, personally, in that moment of frustration.  No software maker (or product maker for anything even kinda-sorta complicate) can create something where this will never occur for any users.  And users need to be taking initiative, whether they want to or not.

There's a reason I have the following in my "stuff I have at hand to pull out and put in group postings, as often as needed," file for use in this very group:

Every NVDA user needs to know how to do two basic things when almost any question arises.  The one you want really depends on the exact nature of the question:

1.        Bring up the NVDA Commands Quick Reference:  NVDA + N, H, Q  [NVDA Menu, Help, Commands Quick Reference]

2.      Bring up the NVDA User Guide:  NVDA + N, H, U   [NVDA Menu, Help, User Guide]


The vast majority of grief and angst could be entirely avoided if doing one of those two things, or both, and then doing a simple keyword search on the what comes up were a part of every given user's routine when any given problem arises.

If only the first one were done, routinely, and a keyword search performed much of the traffic we have on this very group would vanish overnight.
--

Brian Virginia, USA Windows 11 Pro, 64-Bit, Version 22H2, Build 22621; Office 2016, Version 16.0.15726.20188, 32-bit

It is much easier to be critical than to be correct.

       ~ Benjamin Disraeli, 1804-1881


Gene
 

I don't know how much work would be involved in changing the option to always available, but for consistency, it should be changed unless the work involved is unreasonable.  Part of that determination is taking into account how many people change this setting.  I suspect it is very low.  I doubt most users know NVDA well enough to make use or much use of the Input Gestures dialog.  And if there were a significant number of users who want to change this command, I think we would have seen this problem raised long before now on a list as large as this.  I don't recall it ever being raised before in my many years on the list.

I will say, as a general statement, that in an interface like this, things should be consistent.  Since everything else is present, as far as I know, whether you are in a certain program or not, this should be as well.  I wouldn't even have thought of the possibility that its appearance might be context sensitive and since I might not even have thought about that possibility, I might not think of consulting documentation.  I might consider it a mystery or a bug.

Gene

On 2/1/2023 9:33 AM, Brian Vogel wrote:

Quentin,

This is another of those situations where no matter which way you'd choose to go, someone is going to be unhappy.  Even if you had a user controlled setting for "give me the full setting set all the time" versus "context sensitive" there would be users complaining that whatever default was chosen was "the wrong one."

Personally, I always prefer "the full set of options, all the time," because I'll often either start exploring, or just remembering when I see something that I'd though about looking into it and tweaking something I'd not yet gotten around to.

Others prefer the "decluttering" that comes from only presenting options that are contextually pertinent.

In the end, the end user needs to understand how the tool they've chosen (or been given or had foist upon them) works.  What's "intuitive" (and how I hate that word when it relates to almost all computer technology - were I believe nothing is truly intuitive) for one person is opaque for another.

And I'll be castigated for saying it, but there's a reason that those of us in the technology field, generally, spout the old, "RTFM!," on occasion.  Nothing is going to be entirely obvious or intuitive for any complex piece of software, and we all hit times where we have a, "How do I do that?," and/or, "This isn't working," and where either the "that" or the "this" is obvious to us, personally, in that moment of frustration.  No software maker (or product maker for anything even kinda-sorta complicate) can create something where this will never occur for any users.  And users need to be taking initiative, whether they want to or not.

There's a reason I have the following in my "stuff I have at hand to pull out and put in group postings, as often as needed," file for use in this very group:

Every NVDA user needs to know how to do two basic things when almost any question arises.  The one you want really depends on the exact nature of the question:

1.        Bring up the NVDA Commands Quick Reference:  NVDA + N, H, Q  [NVDA Menu, Help, Commands Quick Reference]

2.      Bring up the NVDA User Guide:  NVDA + N, H, U   [NVDA Menu, Help, User Guide]


The vast majority of grief and angst could be entirely avoided if doing one of those two things, or both, and then doing a simple keyword search on the what comes up were a part of every given user's routine when any given problem arises.

If only the first one were done, routinely, and a keyword search performed much of the traffic we have on this very group would vanish overnight.
--

Brian Virginia, USA Windows 11 Pro, 64-Bit, Version 22H2, Build 22621; Office 2016, Version 16.0.15726.20188, 32-bit

It is much easier to be critical than to be correct.

       ~ Benjamin Disraeli, 1804-1881



 

On Wed, Feb 1, 2023 at 10:53 AM, Gene wrote:
And if there were a significant number of users who want to change this command, I think we would have seen this problem raised long before now on a list as large as this.  I don't recall it ever being raised before in my many years on the list.
-
Which suggests a lack of a problem, in my opinion.

People cry, loud and long, about things that they find problematic and particularly if those problems occur with some frequency.

I'm not arguing against possibly changing the way this all works if it doesn't require essentially tearing the whole house down and rebuilding it.  That's not cost effective nor a good use of developer time.

There will always be obscure, and infrequently accessed, features in any complex piece of software.  Often there are many of them.  And I stand by my earlier assertion, made because of many posts you've made complaining about "wrong defaults," that no matter what gets chosen someone is not going to like it.

In this case, though, the end user does not have a choice about the presentation of all NVDA options at once.  But that's also true of many pieces of software.  I can also say that, for myself, I'm not a huge fan of JAWS presenting "everything, everywhere, all at once," because it's constantly daunting to find what it is you're actually looking for, even with the search feature for settings.  Since NVDA doesn't have this, contextual trimming might not be such a bad thing.
 
--

Brian Virginia, USA Windows 11 Pro, 64-Bit, Version 22H2, Build 22621; Office 2016, Version 16.0.15726.20188, 32-bit

It is much easier to be critical than to be correct.

       ~ Benjamin Disraeli, 1804-1881


Nermin
 

Hi,


personally, unless it's too much, I'd have everything and do away with contextuality.

My reasoning is that most people who want to change settings will, like me, be baffled not to find certain settings and would not dear of just switching on browse mode and reopen input gestures at random.

One can always narrow things down by searching in that edit field, but since I did not find anything, I would not have thought that merely by opening a browser I'd have more options to choose from.

Also, JAWS may be a complex piece of software, however, you always have the possibility of using "What's New", and the very documents that you, Brian, keep mentioning. JAWS has a very well-built help system, and you can search every setting in a tool to find how it's invoked or found.


Regards,

Nermin


 

Hi,

For people wanting to know how input gestures dialog initially came to be (almost ten years ago), take a look at the following GitHub issue: https://github.com/nvaccess/nvda/issues/1532

Note: username "nvdakor" is me.

In short, input gestures are context sensitive for a good reason: gestures depend on where you are located, specifically system focus. To present input gestures tree view, NVDA must gather gestures from the following contexts:

  1. The app you are using, whether or not NVDA itself provides support or comes with an add-on or two.
  2. NVDA being told that the focused control in question require additional support (overlay classes), defined in the ap module, one or more global plugins, API-level overlay class, browse mode implementation, and other possible contexts.
  3. Global plugin context - each global plugin with one or more commands (assigned or not) is treated as a separate context by NVDA, and one consequence is displaying global plugin names as separate gesture categories if defined by authors.
  4. Global context powered by a set of global commands that works everywhere (or almost everywhere).

Now suppose that input gestures tree view brings all commands into view. Here is what NVDA will check:

  1. Gestures defined in all (or almost all) API-level overlay classes, with some not even showing in input gestures because some controls must respond differently when pressing keys such as arrow keys.
  2. Gestures from all loaded app modules, including apps you didn't even install onto your computer.
  3. Gestures from all loaded global plugins provided that they are not disabled for some reason.
  4. Browse mode implementations.
  5. Possibly gestures assigned to all loaded braille display drivers.
  6. Global commands collection.

Imagine the performance implications and conflicts that can arise as a result (conflicts being changing a command to become a global command but it can change (minimally, drastically, or fundamentally) how the command works in different contexts. It might be possible that an issue related to NVDA may turn out to be something going on with input gesture conflicts.

Cheers,

Joseph


Gene
 

Perhaps a short announcement should be made when you open the Gestures Input dialog for the first time that says, to see gestures for an application, open this dialog while in the application, or something of the sort.  There could be, as this would be a dialog, a don't show me this again check box and an OK button. 

that might well be the best solution to the problem.
Gene
On 2/1/2023 11:40 AM, Joseph Lee wrote:

Hi,

For people wanting to know how input gestures dialog initially came to be (almost ten years ago), take a look at the following GitHub issue: https://github.com/nvaccess/nvda/issues/1532

Note: username "nvdakor" is me.

In short, input gestures are context sensitive for a good reason: gestures depend on where you are located, specifically system focus. To present input gestures tree view, NVDA must gather gestures from the following contexts:

  1. The app you are using, whether or not NVDA itself provides support or comes with an add-on or two.
  2. NVDA being told that the focused control in question require additional support (overlay classes), defined in the ap module, one or more global plugins, API-level overlay class, browse mode implementation, and other possible contexts.
  3. Global plugin context - each global plugin with one or more commands (assigned or not) is treated as a separate context by NVDA, and one consequence is displaying global plugin names as separate gesture categories if defined by authors.
  4. Global context powered by a set of global commands that works everywhere (or almost everywhere).

Now suppose that input gestures tree view brings all commands into view. Here is what NVDA will check:

  1. Gestures defined in all (or almost all) API-level overlay classes, with some not even showing in input gestures because some controls must respond differently when pressing keys such as arrow keys.
  2. Gestures from all loaded app modules, including apps you didn't even install onto your computer.
  3. Gestures from all loaded global plugins provided that they are not disabled for some reason.
  4. Browse mode implementations.
  5. Possibly gestures assigned to all loaded braille display drivers.
  6. Global commands collection.

Imagine the performance implications and conflicts that can arise as a result (conflicts being changing a command to become a global command but it can change (minimally, drastically, or fundamentally) how the command works in different contexts. It might be possible that an issue related to NVDA may turn out to be something going on with input gesture conflicts.

Cheers,

Joseph



 

On Wed, Feb 1, 2023 at 01:05 PM, Gene wrote:
a dialog, a don't show me this again check box and an OK button.
-
I'd even suggest omitting the "don't show me this again" checkbox, based upon what I know of what they call human factors for infrequently used thing and years of actual exposure to same.

People forget, and the Input Gestures dialog is not something that anyone uses frequently (other than, perhaps, during an early period of rapid customization, if that).  If the problem is that people are generally not aware of the context sensitivity of the Input Gestures dialog, a consistent reminder is a way safer option over time than something that can be permanently dismissed is.

Yes, it's an annoyance.  It's intended as a nag.  Sometimes, nags really are needed.
--

Brian Virginia, USA Windows 11 Pro, 64-Bit, Version 22H2, Build 22621; Office 2016, Version 16.0.15726.20188, 32-bit

It is much easier to be critical than to be correct.

       ~ Benjamin Disraeli, 1804-1881


 

Hi,

I can suggest two changes:

  1. User guide: clarify that input gestures dialog is context sensitive.
  2. Add a text in input gestures dialog informing where the dialog was invoked from e.g. document name and the focused app name, for example.

Quentin, any thoughts? I think this is also a good opportunity to let someone who wants to learn technical communication and user interface to provide their first NVDA contribution.

Cheers,

Joseph


Quentin Christensen
 

Given that I forgot about input gestures being context sensitive the other day, I definitely can't argue against more prompts :)  Although I guess on the flip side, I just opened it looking for the option after reading the query - I wasn't on a web page trying to reassign the keystroke in the first place.

Currently, in the User Guide, the start of the Input Gestures topic does say:

12.2.3. Input Gestures
In this dialog, you can customize the input gestures (keys on the keyboard, buttons on a braille display, etc.) for NVDA commands.

Only commands that are applicable immediately before the dialog is opened are shown. For example, if you want to customize commands related to browse mode, you should open the Input Gestures dialog while you are in browse mode.

The Input help section does NOT indicate that it is context sensitive.

Re Input Gestures, what might be worth having would be a read-only line at the top of the dialog reminding users something like:

"Commands listed are those available in <program> in <context>"

<program> would be "Microsoft Word", or "Chrome" or whatever program you are in
<context> would be "Browse mode", "Focus mode" or whatever other context is relevant.

Which might act as a prompt?

On Thu, Feb 2, 2023 at 8:56 AM Joseph Lee <joseph.lee22590@...> wrote:

Hi,

I can suggest two changes:

  1. User guide: clarify that input gestures dialog is context sensitive.
  2. Add a text in input gestures dialog informing where the dialog was invoked from e.g. document name and the focused app name, for example.

Quentin, any thoughts? I think this is also a good opportunity to let someone who wants to learn technical communication and user interface to provide their first NVDA contribution.

Cheers,

Joseph



--
Quentin Christensen
Training and Support Manager


Brian's Mail list account
 

Yes I often forget the elements list key. on some sites you really do need these lists, but on many others, you just don't. I did think of making myself a crib sheet of things I forget, but I forgot to do it. Thanks for the reminder!


Is there a way to make this come up after a page is loaded by default, like a toggle. I had a quick look but as I recall it was originally an add on.
When looking at the unfamiliar sites, it almost needs to be in the alt tab list to help mentally remember page layout.
Brian

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

----- Original Message -----
From: "Brian Vogel" <britechguy@...>
To: <nvda@nvda.groups.io>
Sent: Wednesday, February 01, 2023 7:22 PM
Subject: Re: [nvda] Input Gestures and Input Help and context sensitivity


On Wed, Feb 1, 2023 at 01:05 PM, Gene wrote:


a dialog, a don't show me this again check box and an OK button.
-
I'd even suggest omitting the "don't show me this again" checkbox, based upon what I know of what they call human factors for infrequently used thing and years of actual exposure to same.

People forget, and the Input Gestures dialog is not something that anyone uses frequently (other than, perhaps, during an early period of rapid customization, if that). If the problem is that people are generally not aware of the context sensitivity of the Input Gestures dialog, a consistent reminder is a way safer option over time than something that can be permanently dismissed is.

Yes, it's an annoyance. It's intended as a nag. Sometimes, nags really are needed.
--

Brian - Virginia, USA - Windows 11 Pro, 64-Bit, Version 22H2, Build 22621; Office 2016, Version 16.0.15726.20188, 32-bit

*It is much easier to be critical than to be correct.*

~ Benjamin Disraeli, 1804-1881


 

On Thu, Feb 2, 2023 at 03:24 AM, Brian's Mail list account wrote:
Is there a way to make this come up after a page is loaded by default, like a toggle.
-
Presuming you mean the elements list dialog, to my knowledge the answer is no.

It's funny the habits each of us do, and do not, develop.  I came to NVDA after JAWS, and was so used to using the links list under JAWS that I instantly sought out the equivalent under NVDA.  NVDA's is a grand, unified, elements list, but it was easy enough to figure out how it worked.

NVDA + F7 for the elements list became "baked in" for me pretty early on.  Now I use it less frequently than I once did, but it's still "at my fingertips."
--

Brian Virginia, USA Windows 11 Pro, 64-Bit, Version 22H2, Build 22621; Office 2016, Version 16.0.15726.20188, 32-bit

It is much easier to be critical than to be correct.

       ~ Benjamin Disraeli, 1804-1881


Quentin Christensen
 

>  NVDA + F7 for the elements list became "baked in" for me pretty early on. 

Isn't insert+f7 the keystroke for the links list in Jaws as well?  From memory I think you can press insert+f5, insert+f6 etc to get to other elements.  The main difference being that Jaws makes each its own dialog where NVDA puts them all in the one dialog with radio buttons to switch between them.  I guess if someone wants NVDA+f6 to open the elements list to headings etc, that should likely be possible, and would be worth creating an issue for - https://github.com/nvaccess/nvda/issues

On Fri, Feb 3, 2023 at 2:26 AM Brian Vogel <britechguy@...> wrote:
On Thu, Feb 2, 2023 at 03:24 AM, Brian's Mail list account wrote:
Is there a way to make this come up after a page is loaded by default, like a toggle.
-
Presuming you mean the elements list dialog, to my knowledge the answer is no.

It's funny the habits each of us do, and do not, develop.  I came to NVDA after JAWS, and was so used to using the links list under JAWS that I instantly sought out the equivalent under NVDA.  NVDA's is a grand, unified, elements list, but it was easy enough to figure out how it worked.

NVDA + F7 for the elements list became "baked in" for me pretty early on.  Now I use it less frequently than I once did, but it's still "at my fingertips."
--

Brian Virginia, USA Windows 11 Pro, 64-Bit, Version 22H2, Build 22621; Office 2016, Version 16.0.15726.20188, 32-bit

It is much easier to be critical than to be correct.

       ~ Benjamin Disraeli, 1804-1881



--
Quentin Christensen
Training and Support Manager


Arlene
 

Yes, jaws is incert f 7 for the links. Not sure what it is for nvda. I’d like to know what it is.

 

Sent from Mail for Windows

 

From: Quentin Christensen
Sent: February 2, 2023 3:01 PM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Input Gestures and Input Help and context sensitivity

 

>  NVDA + F7 for the elements list became "baked in" for me pretty early on. 

 

Isn't insert+f7 the keystroke for the links list in Jaws as well?  From memory I think you can press insert+f5, insert+f6 etc to get to other elements.  The main difference being that Jaws makes each its own dialog where NVDA puts them all in the one dialog with radio buttons to switch between them.  I guess if someone wants NVDA+f6 to open the elements list to headings etc, that should likely be possible, and would be worth creating an issue for - https://github.com/nvaccess/nvda/issues

 

On Fri, Feb 3, 2023 at 2:26 AM Brian Vogel <britechguy@...> wrote:

On Thu, Feb 2, 2023 at 03:24 AM, Brian's Mail list account wrote:

Is there a way to make this come up after a page is loaded by default, like a toggle.

-
Presuming you mean the elements list dialog, to my knowledge the answer is no.

It's funny the habits each of us do, and do not, develop.  I came to NVDA after JAWS, and was so used to using the links list under JAWS that I instantly sought out the equivalent under NVDA.  NVDA's is a grand, unified, elements list, but it was easy enough to figure out how it worked.

NVDA + F7 for the elements list became "baked in" for me pretty early on.  Now I use it less frequently than I once did, but it's still "at my fingertips."
--

Brian Virginia, USA Windows 11 Pro, 64-Bit, Version 22H2, Build 22621; Office 2016, Version 16.0.15726.20188, 32-bit

It is much easier to be critical than to be correct.

       ~ Benjamin Disraeli, 1804-1881


 

--

Quentin Christensen
Training and Support Manager

 

 


 

Arlene,

NVDA + F7 brings up the NVDA Elements List dialog, but it's a "grand, unified one" where the radio buttons at the top are used to dictate what element type is actually being displayed in the list below.

Quentin, here's the pertinent section of the JAWS Keystrokes reference:
List Frames  INSERT+F9 
List Links  INSERT+F7 
List Headings  INSERT+F6 
Heading at Level  1 through 6 
Virtual HTML Features  INSERT+F3 
JAWS Find Next and Previous   F3 and SHIFT+F3 

--

Brian Virginia, USA Windows 11 Pro, 64-Bit, Version 22H2, Build 22621; Office 2016, Version 16.0.15726.20188, 32-bit

It is much easier to be critical than to be correct.

       ~ Benjamin Disraeli, 1804-1881


Arlene
 

Alright. I’ll give that a try.

 

Sent from Mail for Windows

 

From: Brian Vogel
Sent: February 2, 2023 3:08 PM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Input Gestures and Input Help and context sensitivity

 

Arlene,

NVDA + F7 brings up the NVDA Elements List dialog, but it's a "grand, unified one" where the radio buttons at the top are used to dictate what element type is actually being displayed in the list below.

Quentin, here's the pertinent section of the JAWS Keystrokes reference:

List Frames  INSERT+F9 

List Links  INSERT+F7 

List Headings  INSERT+F6 

Heading at Level  1 through 6 

Virtual HTML Features  INSERT+F3 

JAWS Find Next and Previous   F3 and SHIFT+F3 


--

Brian Virginia, USA Windows 11 Pro, 64-Bit, Version 22H2, Build 22621; Office 2016, Version 16.0.15726.20188, 32-bit

It is much easier to be critical than to be correct.

       ~ Benjamin Disraeli, 1804-1881