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

Need way to force NVDA into a specific mode (browse/focus) #382

Open
mcking65 opened this issue Jan 27, 2021 · 7 comments
Open

Need way to force NVDA into a specific mode (browse/focus) #382

mcking65 opened this issue Jan 27, 2021 · 7 comments
Assignees
Labels
AT: NVDA Related to expectations associated with NVDA screen reader testing AT-Automation Related to assistive technology automation workstream tests About assistive technology tests

Comments

@mcking65
Copy link
Contributor

Our current instruction for determining if NVDA is in browse mode is:

Insure NVDA is in browse mode by pressing Escape. Note: This command has no effect if NVDA is already in browse mode.

The note is incorrect if focus is in a widget that processes escape, such as a dialog or menu. In those circumstances, the web page will receive the escape event and process it.

@mcking65 mcking65 added AT: NVDA Related to expectations associated with NVDA screen reader testing tests About assistive technology tests labels Jan 27, 2021
@jscholes
Copy link
Contributor

The note is incorrect if focus is in a widget that processes escape, such as a dialog or menu. In those circumstances, the web page will receive the escape event and process it.

I believe this is always true for menus. But for some other widgets, including dialog, the first press of Escape will switch to browse mode if the user is in focus mode, and must be pressed a second time for the page to receive it. This is inconsistent and strengthens the case for a more reliable means of switching.

Unfortunately, the only other mechanism is NVDA+Space which acts as a toggle. It feels slightly clunky to say something like, "Ensure NVDA is in browse mode by pressing NVDA+Space until NVDA announces that it is in browse mode", but it may be the only option. Unless we want to file a PR to add a new command, create an add-on that's required for testing, or something similar.

@mcking65
Copy link
Contributor Author

The note is incorrect if focus is in a widget that processes escape, such as a dialog or menu. In those circumstances, the web page will receive the escape event and process it.

I believe this is always true for menus. But for some other widgets, including dialog, the first press of Escape will switch to browse mode if the user is in focus mode, and must be pressed a second time for the page to receive it. This is inconsistent and strengthens the case for a more reliable means of switching.

An issue arises if NVDA is in browse mode when a dialog opens. Then, if the user presses escape to discern the mode, the dialog will close. In that case, pressing escape tells you that you are in browse mode because you don't hear the sound for changing mode, however it changes the state of the web page as well.

Unfortunately, the only other mechanism is NVDA+Space which acts as a toggle. It feels slightly clunky to say something like, "Ensure NVDA is in browse mode by pressing NVDA+Space until NVDA announces that it is in browse mode", but it may be the only option. Unless we want to file a PR to add a new command, create an add-on that's required for testing, or something similar.

Pressing NVDA+Space might be the only method that reliably does not have side effects.

@mfairchild365
Copy link
Contributor

You could use NVDA+F7. If in browse mode, it will open the elements dialog. If in focus mode, it will ask if you want to turn on carrot browsing with default settings.

I have a hunch that using insert+space would be more reliable and understandable.

@jscholes
Copy link
Contributor

jscholes commented Feb 4, 2021

We currently believe NVDA+Space to be the only suitable method for testers to verify that browse mode is active, and nobody on the Feburary 4th community group call had any ojbections/could think of potential problems. @mfairchild365 mentioned on the same call that he is investigating a possible alternative, and will post here if it looks promising.

Once the new wording has been agreed upon, all tests will need to be regenerated to ensure it is in place.

@jscholes
Copy link
Contributor

Assigning this to myself, to propose some language for the test pages to be reviewed by the community.

@jscholes jscholes self-assigned this Feb 18, 2021
@jscholes
Copy link
Contributor

A few thoughts about proposed language for this issue. At present, NVDA users are instructed to activate focus mode for "interaction mode" tests as follows:

If NVDA did not make the focus mode sound when the test page loaded, press Insert+Space to turn focus mode on.

As such, we could simply reverse this:

If NVDA made the focus mode sound when the test page loaded, press Insert+Space to turn focus mode off.

On the other hand, I don't think either of these are particularly clear. We know that testers will be using NVDA default settings, so the sounds will definitely be enabled. But speaking as an NVDA user, I've had those sounds turned off since they were introduced, and wouldn't be entirely certain what the focus mode indicator even sounds like.

Having said that, the audio-based indications of browse/focus mode are mutually exclusive with speech announcements. If you have the sounds enabled, they become the only means of determining the currently active mode and NVDA doesn't say anything. So we can't even use instructions like, "press NVDA+Space until NVDA conveys that focus mode is active". Nor can we realistically describe the sounds.

I'm happy for us to adapt the language as a short-term fix, or even leave it as is. But in the long-term, if we have an add-on in NVDA for capturing speech output based on commands executed by a tester, we can just incorporate two specific commands into that to switch to browse or focus mode. Thoughts?

@jscholes jscholes changed the title Need better way to discern if NVDA is in browse mode Need way to force NVDA into a specific mode (browse/focus) Jun 10, 2021
@jscholes jscholes added the AT-Automation Related to assistive technology automation workstream label Jun 10, 2021
@jscholes
Copy link
Contributor

Raised during the September 23 CG meeting, in terms of:

  1. the instructions referring to "focus mode" rather than "interaction mode" which may feel a bit inconsistent; and
  2. users maybe not being familiar with the specific sounds to distinguish between modes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AT: NVDA Related to expectations associated with NVDA screen reader testing AT-Automation Related to assistive technology automation workstream tests About assistive technology tests
Projects
None yet
Development

No branches or pull requests

3 participants