Phil
Phil

Reputation: 67

Running NVDA screen-reader on a single application?

I know that's not the primary use or intended behavior of NVDA, but as a developer it would be amazing to be able to limit NVDA readout to a single window/application.

In its current state I'm forced to close and relaunch NVDA every time I switch between browser and VSCode to make some rapid changes and test.

Or maybe someone has an idea on how to efficiently deal with Screenreader testing in real-time while developing?

Upvotes: 3

Views: 768

Answers (3)

Cyrille BOUGOT
Cyrille BOUGOT

Reputation: 1

You are not able to copy from the browser when selecting by mouse, because by default, on a browser's page, NVDA uses a virtual buffer in which there are specific keyboard commands to select text and copy it.

If you want to select normally the text with your mouse and copy it, you have two options:

  1. In any browser:
  • select the text with your mouse
  • press NVDA+F2 (this tells NVDA to ignore the next keypress, i.e. to pass it as is to the application/system)
  • press control+C You will have to do this each time you want to copy something.
  1. Or in Firefox only and with recent versions of NVDA:
  • press NVDA+shift+F10 to select native selection mode, only once until you restart NVDA or you press this shortcut again
  • select the text with your mouse
  • press control+C

HTH

Upvotes: 0

Cyrille Bougot
Cyrille Bougot

Reputation: 21

I am an NVDA user and volunteer contributor.

The topic is a bit old, but here is what I recommend to have NVDA speaking only in the tested application:

  • Be sure not to be in the application that you want to test, e.g. open Windows Explorer.
  • Press NVDA+N, select "Preferences", "Settings"; note: by default, NVDA key is the Insert key or the 0 key on the numpad.
  • In the "Speech" category, click the "Change" button to change the synthesizer used
  • Select the "No speech" synthesizer and press twice "OK" to exit the dialogs
  • Open the application you want to test (or your browser if you are testing a webpage)
  • Press NVDA+N and click "Configuration profiles..."
  • Click "New"
  • Select "Current application (yourApplicationProcessName)
  • Press OK and Close
  • Press NVDA+N, select "Preferences", "Settings"
  • In the "Speech" category, click the "Change" button to change the synthesizer used
  • Select a synthesizer, e.g. "Windows OneCore voices" and press twice "OK" to exit the dialogs

From now on, you will have NVDA muted in all applications, except in the application you are testing. Note that NVDA is still running in the other applications (e.g. shortcuts are still operating), but at least, you will not be bothered by voice feedback.

Upvotes: 2

eduardomps
eduardomps

Reputation: 41

There is no such thing because, obviously, this is not the intended use case of NVDA.

That said, as @thg asked in the comments, there is in fact a way to disable screen reading temporarily, so you can alt-tab, code something, alt-tab back. From NVDA docs:

Toggle Speech Mode | NVDA+s | Toggles speech mode between speech, beeps and off.

Where NVDA is the modifier, which is insert by default (also numpad zero, if num lock is off)". Note that it cycles 3 values: Speech -> Off -> Beeps.

Upvotes: 1

Related Questions