nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
Other
2.08k stars 627 forks source link

NVDA recognizes part of random string as an exponent #12121

Open ernistkg opened 3 years ago

ernistkg commented 3 years ago

Steps to reproduce:

  1. Create html test page with the following content: <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><span>b4Z9e24-Rd8</span></body></html>
  2. Open test page in Chrome
  3. Navigate with NVDA to the text ("b4Z9e24-Rd8")

Actual behavior:

NVDA reads text as "B four Z nine times ten to the power of twenty four R D eight"

Expected behavior:

NVDA should read the text as "B four Z nine E twenty four dash R D eight"

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

2020.3

Windows version:

Windows 10 Enterprise Build 18363.1379

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

Chrome version: Version 89.0.4389.72 (Official Build) (64-bit)

Other information about your system:

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.

No

If add-ons are disabled, is your problem still occurring?

Yes

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

Yes

josephsl commented 3 years ago

Hi, looks like this may have to do with speech synthesis engines. Can you try using a different speech synthesizer (Control+NVDA+S, select a different engine) and try reproducing this? If NVDA says something else when encountering the example text, then it’s something beyond NVDA itself and may need to be discussed with TTS manufacturers and/or resolved through speech dictionaries. Thanks.

ernistkg commented 3 years ago

Hi @josephsl , looks like changing the engine helped. However dash is still not announced.

Is this the engine issue?

josephsl commented 3 years ago

Hi, you can resolve it by going to NVDA menu/Preferences/Punctuation/symbol pronunciation, locate the symbol you want, then set the level to whatever your current punctuation level is set to. Thanks.

ernistkg commented 3 years ago

That didn't help. Still can't get it work with "dash"

The issue with exponent is resolved by changing the engine to Microsoft Speech API version 5 and the voice to Microsoft Zira Desktop. Same synthesizer announces exponential value when Microsoft David Desktop voice is used.

Is this still the engine issue?

josephsl commented 3 years ago

Hi, in this case, the next possible solution to try will be defining a speech dictionary entry that will let NVDA announce UUID correctly (it is preferable to use regular expression for this). Thanks.

CyrilleB79 commented 3 years ago

Hello Probably a duplicate of #8959. Or at least, two different problems for a similar cause.

ernistkg commented 3 years ago

Yes, it is similar. But the context is different - Web/Excel

ehollig commented 1 year ago

Although one of these issues is in Excel, and the other is on the web, both require updates from Microsoft in SAPI5 or Onecore. @Qchristensen outlines this in https://github.com/nvaccess/nvda/issues/8959#issuecomment-662884978