Skip to content

Inconsistent symbol pronunciation for words with only symbols when reading by word #11779

@Qchristensen

Description

@Qchristensen

Steps to reproduce:

  1. Using Notepad++ or Word sample: He said (quietly), "Hello, Jim".

    • Note: There are parenthesis either side of quietly, followed by a comma, and the quotes either side of Hello Jim followed by a full stop.
    • Notepad has different behavior, notes on this below.
  2. Press NVDA+P until the symbol level is set to "none".

  3. Press HOME to move to the start of the line, then use NVDA+right arrow to move through the sentence by word.

Actual behavior:

NVDA sends different information to the synthesizer, depending on the context of a symbol. This can result in, for instance "left paren" being read, but not its right counterpart. Or in the case of the quote, it is read once (where it is followed by a word), but not the second time (where it is followed by a full stop).
When moving by word, NVDA sends the following to the synthesizer (copied from the speech viewer:

He
said 
left paren
quietly
), 
quote
Hello
comma
Jim
".
blank

Because NVDA encounters the left paren and first quote as a single symbol on their own, the text left paren and the first quote are sent as words, and they are read. Because ), and ". are sent as symbols (which are not set to be read at symbol level none) they are not read.

Note this also applies to selecting text.

Expected behavior:

NVDA should consistently read symbols (and either read them or not - but not read some and not others at the same symbol level). Left and right paren are both symbol level "most" by default, as is quote.

System configuration

NVDA installed/portable/running from source:

NVDA version:

NVDA 2020.3

Windows version:

Windows 10 (64-bit) Version: 2004 Build 19041

Name and version of other software in use when reproducing the issue:

Office 365 (64-bit) Version: 16.0.13231.20372
Notepad++ v7.9

Other information about your system:

  • Notepad moves by word differently.
  • Where Notepad++ and Word both move to the start of the next word or group of symbols (a group may be one).
  • Notepad simply moves to the first character after the next space, so doesn't read any characters in this case.
  • In Notepad, symbols are read only at the level they are set to read at - just as in Word or Notepad++ using Say all.
  • When moving by one character at a time, every character is read regardless of symbol level, as expected.
  • When moving by word, and the whole "word" to be read consists of more than one symbol, they are treated by their symbol level.

Possible solution: **Ignore symbol level when moving by word. **

  • Moving by word is granular enough that it is worth knowing all the symbols you pass.
  • If reading by line or greater, then read according to symbol level.
  • The only case caught in the middle then would be a case where a line contains only symbols, which is a much rarer case than encountering a "word" of only symbols when moving by word.

Other questions

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

I don't think this behaviour has changed recently. I tried NVDA 2019.2.1 portable and it behaves the same.

If addons are disabled, is your problem still occurring?

Yes

Did you try to run the COM registry fixing tool in NVDA menu / tools?

No

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions