Skip to content

Native Speech History in NVDA #18400

@CyrilleB79

Description

@CyrilleB79

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

Here are some user stories

User story 1

As an NVDA user,
I want to quickly repeat the last spoken message,
so I can ensure I heard it correctly. For example, when the last message was obscured by a sudden noise, such as a door slamming.

User story 2

As an NVDA user,
I want to navigate through a list of recently spoken messages,
so I can revisit important information announced earlier such as notifications.
For example, I can continue to do what I am doing for a few seconds and then hear the last received e-mail notification. Depending on its content I can then switch to Outlook immediately (urgent answer needed) or later.

User story 3

As a visually impaired user using both Magnifier and NVDA,
I want to be able to revisit last spoken message without being bothered by the speech viewer window always on top of my screen.

User story 4

As an NVDA or add-on developer or tester,
I want to be able to copy efficiently GUI labels or last spoken messages and paste them somewhere else, e.g. GitHub issue or PR description, answer on mailnig lists, writing documentation, etc. To be efficient, I do not wish to have to ensure the speech viewer is active and to alt+tab to it.

User story 5

As an NVDA user,
I want to be able to copy easily what I am told (NVDA messages, elements from applications) to ask for support.

User story 6

As an NVDA user,
I want to be able to revisit and copy last spoken messages when I am working with a sighted person, without having the speech viewer covering a part of the screen.

User story 7

As an NVDA user,
I want to be able to do a screenshot to ask support without having to think at hiding the speech viewer before.

Why not use the speech viewer?

  • Opening the speech viewer and copying from it requires more actions (NVDA menu, alt+tab, navigatino in the viewer, selection, copy)
  • Having the speech viewer on top of other windows is useful when making a demonstration so that sighted people realize what NVDA say. But when a sighted colleague just want to work with me, they do not need to know all what NVDA says and having the speech viewer on top is inefficient.

Describe the solution you'd like

The UX provided by Speech history review and copying by @jscholes is very satisfying and efficient. Only the native gestures of this add-on (shift+f11, shift+f12 and f12 ) should be modified because, not using NVDA key, they conflict with many native application shortcut. We may use the gestures provided by the Speech History Explorer add-on, a fork of the previous one, provided by David ACM.

So the feature request is as follows:

  • NVDA keeps in memory a buffer of the last spoken phrases, e.g. 500 phrases (or configurable)
  • NVDA+control+f12: copy the last spoken phrase in the clipboard
  • NVDA+shift+f11/f12: circulate in the last spoken phrase buffer to hear the previous / next phrase. After having heard a phrase, pressing NVDA+control+f12 can copy it to clipboard.

E.g. if you hear two notifications in a row and want to copy the penultimate to clipboard: press NVDA+shift+f11 and then NVDA+control+f12.

In a second time, improvements can be imagined such as:

  • a GUI to review the buffer of last speech (as in Speech History Explorer)
  • a "repeat more slowly" command such as when listening to Google Translation (on the web)
  • if needed: configurability of parameters as in the add-on such as: trim spaces before or after copied text, number of phrases in the buffer, etc.

Describe alternatives you've considered

Users can keep on using add-ons:

  • Speech history review and copying by @jscholes, available in the Add-on Store
  • Speech History Explorer by @davidacm: a fork of the previous one, unfortunately not present in the Add-on Store, with additional features (e.g. a GUI to review the speech and copy multiple messages at once)

Users can also use the native speech viewer, with more actions needed, but the goal of this feature is to have something more efficient.

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    p4https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions