Skip to content

Remove time limit for "Press twice quickly" or "Press three times quickly" commands #11929

@Qchristensen

Description

@Qchristensen

Is your feature request related to a problem? Please describe.

Many NVDA commands have additional functionality when they are pressed twice quickly. E.G.:

  • NVDA+f12 pressed once reads the time, and pressed twice quickly reads the date.
  • NVDA+t pressed once reads the titlebar, pressed twice quickly spells it, and pressed three times quickly, copies it to the clipboard.

There are numerous other examples.

Pressing keystrokes twice or three times for this extra functionality needs to be done within about a second. This is difficult for some users, and particularly difficult if using Sticky Keys (it can be done, but if you can press and release NVDA then t, then NVDA then t, then NVDA then t all in one second, you probably don't need to use sticky keys to begin with).

Although WCAG is aimed at web applications, the principles can be applied to desktop applications. Section 2.2 of WCAG deals with timing and basically, where possible, discourages events which have are time limited. Aside from the way the keystrokes are currently implemented, there is no logical reason that the events themselves, such as copying to the clipboard, spelling phonetically, or reading the date need to be time limited.

Describe the solution you'd like

If NVDA could remember the last keystroke pressed and where the same NVDA keystroke is pressed twice (or three times), treat it as that keystroke would currently be treated if pressed twice (or three times) in quick succession.

In all cases I can think of, pressing a keystroke twice results in reading or spelling information. While not intended when trying to press the keystroke three times, this should not cause problems in the middle of the action.

The only time I can think of this would be undesirable is where someone wanted to press the same keystroke multiple times (not quickly) where for instance, the text to be read changed, such as a live region on a web page. To work around this, the option could be either toggled via a setting, or could be tied to whether sticky keys was enabled.

Describe alternatives you've considered

The only alternative I can think of would be to assign different keystrokes to the "second" or "third" functions (when you press a keystroke twice or three times), but this would be a very inefficient use of keystrokes, and would be an extra cognitive load on users (it's easy to remember currently that for many NVDA commands, if you want to spell the output, press it twice quickly.

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    audience/dexterityfeature/input-gesturesp3https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions