nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.11k stars 637 forks source link

NVDA incorrectly pronounces some acronyms as words #12819

Closed lspirko closed 1 year ago

lspirko commented 3 years ago

Steps to reproduce:

Please open the attached file and, with NVDA running, notice how NVDA pronounces these terms and acronyms.

Actual behavior:

Many acronyms are being pronounced as words, even though their all caps state should signal to NVDA that they are acronyms that should probably be spelled out.

Expected behavior:

Words appearing in all caps should be assumed to be acronyms that need to be spelled out, unless they are acronyms that are commonly known to be pronounced as a word. (For example, "HIPAA" is spelled out by NVDA, which is not incorrect, but the more common pronunciation is "hip-uh." Thank you for considering my concern.

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

2020.4

Windows version:

Windows 10 Enterprise, version 10.0.19043, build 19043

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

Notepad as supplied with Windows 10 Enterprise, version 10.0.19043, build 19043 (no version of Notepad is provided under About Notepad)

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.:

I do not have access to other versions of NVDA, as my company controls the software installed.

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

Yes NVDA_Mispronunciations.txt

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?:

Yes NVDA_Mispronunciations.txt

josephsl commented 3 years ago

Hi, can you tell us which speech synthesizer you are using? This helps us narrow the issue to particular synthesizers and/or with NVDA itself. Thanks.

lspirko commented 3 years ago

Hi Joseph! Sorry for the omission. I use NVDA for accessibility testing. It's Windows OneCore Voices.

Thanks, Lisa Spirko Content Designer/Developer, Client Engagement Services (formerly, Availity Learning)

josephsl commented 3 years ago

Hi Lisa,

Ah, this explains a lot. Have you tried with other speech synthesizers such as nuance Vocalizer or eSpeak NG? If the issue does not happen with other synthesizers, then the next action would be to add voice-specific speech dictionary entries for specific acronyms to be activated when you are using Windows OneCore voices (NV Access and contributors have received numerous reports of pronunciation and speech output oddities with oneCore voices for a number of years).

Thanks.

lspirko commented 3 years ago

Hi Joseph,

I have tested with all of the voice synthesizers available with NVDA, and the exact same pronunciation issues occur with all three:

eSpeak NG Microsoft Speech API version 5 Windows OneCore Voices

I don't know what Nuance Vocalizer is. It's not listed as an option in the NVDA settings. Seeing that it happens with all three of the ones listed above, I'm thinking it's not an issue with the synthesizer.

Thanks, Lisa Spirko Content Designer/Developer, Client Engagement Services (formerly, Availity Learning)

From: Joseph Lee @.> Sent: Wednesday, September 8, 2021 7:57 PM To: nvaccess/nvda @.> Cc: Lisa Spirko @.>; Author @.> Subject: [EXTERNAL] Re: [nvaccess/nvda] NVDA incorrectly pronounces some acronyms as words (#12819)

CAUTION: This message was received outside of the Availity Email Systems. Do Not open links or attachments unless you trust the source.

Hi Lisa,

Ah, this explains a lot. Have you tried with other speech synthesizers such as nuance Vocalizer or eSpeak NG? If the issue does not happen with other synthesizers, then the next action would be to add voice-specific speech dictionary entries for specific acronyms to be activated when you are using Windows OneCore voices (NV Access and contributors have received numerous reports of pronunciation and speech output oddities with oneCore voices for a number of years).

Thanks.

- You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnvaccess%2Fnvda%2Fissues%2F12819%23issuecomment-915650145&data=04%7C01%7Clisa.spirko%40availity.com%7Ce0ce14b08656406a651d08d973244c93%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637667422019246780%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=XccXEKck3lKbnvjpiEQMlBRh%2BRWnq1CzD6Qqp%2FWBrj4%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAVRLINZFRB22P6F53K5YFU3UA7Z3NANCNFSM5DVW532A&data=04%7C01%7Clisa.spirko%40availity.com%7Ce0ce14b08656406a651d08d973244c93%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637667422019246780%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=P%2FEtnF5XwOXoRZj%2BDpwxcL02mfbh969NXy0gLKrMFj8%3D&reserved=0. Triage notifications on the go with GitHub Mobile for iOShttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04%7C01%7Clisa.spirko%40availity.com%7Ce0ce14b08656406a651d08d973244c93%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637667422019256775%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=L89Mqeppa66h7QxV65VETOov38nTbnhNa9rJOTBY%2BkI%3D&reserved=0 or Androidhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04%7C01%7Clisa.spirko%40availity.com%7Ce0ce14b08656406a651d08d973244c93%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637667422019256775%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=H155hJKHOR%2BA9kmUK905gGtAcdWKGG6HWOrBOC4X8Ks%3D&reserved=0.


The information contained in this e-mail may be privileged and confidential under applicable law. It is intended solely for the use of the person or firm named above. If the reader of this e-mail is not the intended recipient, please notify us immediately by returning the e-mail to the originating e-mail address. Availity, LLC is not responsible for errors or omissions in this e-mail message. Any personal comments made in this e-mail do not reflect the views of Availity, LLC..

lspirko commented 3 years ago

Correction: Errata was pronounced correctly by eSpeak NG, but not by the other two. All of the acronyms are still pronounced incorrectly as words when they should probably be spelled out.

Thanks, Lisa Spirko Content Designer/Developer, Client Engagement Services (formerly, Availity Learning)

From: Lisa Spirko Sent: Thursday, September 9, 2021 10:59 AM To: nvaccess/nvda @.>; nvaccess/nvda @.> Cc: Author @.***> Subject: RE: [EXTERNAL] Re: [nvaccess/nvda] NVDA incorrectly pronounces some acronyms as words (#12819)

Hi Joseph,

I have tested with all of the voice synthesizers available with NVDA, and the exact same pronunciation issues occur with all three:

eSpeak NG Microsoft Speech API version 5 Windows OneCore Voices

I don't know what Nuance Vocalizer is. It's not listed as an option in the NVDA settings. Seeing that it happens with all three of the ones listed above, I'm thinking it's not an issue with the synthesizer.

Thanks, Lisa Spirko Content Designer/Developer, Client Engagement Services (formerly, Availity Learning)

From: Joseph Lee @.**@.>> Sent: Wednesday, September 8, 2021 7:57 PM To: nvaccess/nvda @.**@.>> Cc: Lisa Spirko @.**@.>>; Author @.**@.>> Subject: [EXTERNAL] Re: [nvaccess/nvda] NVDA incorrectly pronounces some acronyms as words (#12819)

CAUTION: This message was received outside of the Availity Email Systems. Do Not open links or attachments unless you trust the source.

Hi Lisa,

Ah, this explains a lot. Have you tried with other speech synthesizers such as nuance Vocalizer or eSpeak NG? If the issue does not happen with other synthesizers, then the next action would be to add voice-specific speech dictionary entries for specific acronyms to be activated when you are using Windows OneCore voices (NV Access and contributors have received numerous reports of pronunciation and speech output oddities with oneCore voices for a number of years).

Thanks.

- You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnvaccess%2Fnvda%2Fissues%2F12819%23issuecomment-915650145&data=04%7C01%7Clisa.spirko%40availity.com%7Ce0ce14b08656406a651d08d973244c93%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637667422019246780%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=XccXEKck3lKbnvjpiEQMlBRh%2BRWnq1CzD6Qqp%2FWBrj4%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAVRLINZFRB22P6F53K5YFU3UA7Z3NANCNFSM5DVW532A&data=04%7C01%7Clisa.spirko%40availity.com%7Ce0ce14b08656406a651d08d973244c93%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637667422019246780%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=P%2FEtnF5XwOXoRZj%2BDpwxcL02mfbh969NXy0gLKrMFj8%3D&reserved=0. Triage notifications on the go with GitHub Mobile for iOShttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04%7C01%7Clisa.spirko%40availity.com%7Ce0ce14b08656406a651d08d973244c93%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637667422019256775%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=L89Mqeppa66h7QxV65VETOov38nTbnhNa9rJOTBY%2BkI%3D&reserved=0 or Androidhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04%7C01%7Clisa.spirko%40availity.com%7Ce0ce14b08656406a651d08d973244c93%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637667422019256775%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=H155hJKHOR%2BA9kmUK905gGtAcdWKGG6HWOrBOC4X8Ks%3D&reserved=0.


The information contained in this e-mail may be privileged and confidential under applicable law. It is intended solely for the use of the person or firm named above. If the reader of this e-mail is not the intended recipient, please notify us immediately by returning the e-mail to the originating e-mail address. Availity, LLC is not responsible for errors or omissions in this e-mail message. Any personal comments made in this e-mail do not reflect the views of Availity, LLC..

josephsl commented 3 years ago

Hi,

Nuance Vocalizer is a popular speech synthesizer produced by Nuance Communications (I believe parts were acquired by Microsoft recently). The best place you can find Vocalizer in action is iOS as it is employed as the speech engine in VoiceOver.

Based on reports, I guess the next alternative is a speech dictionary to deal with a specific set of acronyms. Ideally a voice-specific dictionary would be preferable as it allows you to define rules for specific voices, but since it happens with tested synthesizers, the next best thing is default speech dictionary so rules can be applied everywhere. Even within speech dictionary rules, you can specify if the rule should apply everywhere, when the acronym (word) is by itself, or treat it as a regular expression.

Do you use a specific app to test things (say, a web browser to test websites for accessibility)? If so, there is an issue being discussed which proposes application specific speech dictionaries. The beauty of that proposal is that it is kind of like a default speech dictionary except it is applied only when you are using specific apps.

Hope this helps. Thanks.

lspirko commented 3 years ago

I'm sorry, Joseph, I'm concerned that you don't understand my point here, so please let me explain.

I'm reporting an issue with the way NVDA pronounces acronyms using NVDA's default settings.

I'm using NVDA to test how the average screen reader user is likely to experience our written deliverables. This means I have to use NVDA with its default settings. I cannot customize my instance of NVDA. Changing the voice synthesizer or modifying the speech dictionary that my instance of NVDA uses in order to make the acronyms read correctly is not going to be a good representation of how other screen reader users will hear our materials read. The average user of NVDA who uses it to read our materials probably won't have their NVDA customized they way you're suggesting I do. Therefore, I have to use the default settings. Does this make sense?

Additionally, the current approach of NVDA in dealing with acronyms sounds like there are no rules for reading them at all. How can users set up their own speech dictionaries to deal with acronyms correctly if they've never encountered them before? Isn't this a bit like putting the cart before the horse? There are so many different acronyms out there, it seems to me that the default rule for reading an acronym (something in all caps) would be to spell out the acronym, and any customization in speech dictionaries would be for word-like pronunciations, not the other way around.

For example, the acronym "HIPAA" is commonly pronounced "hip-uh," but it would not be incorrect to spell it out by default, and let the user customize their speech dictionary to pronounce it "hip-uh" if they want to.

I suppose one could argue that the user can use the keyboard shortcuts to spell out any word manually, but I consider this to be a poor user experience when acronyms are, by definition, made up of individual letters that can be spelled out without leaving confusion in their wake.

Just my two cents.... Thank you for considering my concerns.

Thanks, Lisa Spirko Content Designer/Developer, Client Engagement Services (formerly, Availity Learning)

From: Joseph Lee @.> Sent: Thursday, September 9, 2021 11:23 AM To: nvaccess/nvda @.> Cc: Lisa Spirko @.>; Author @.> Subject: [EXTERNAL] Re: [nvaccess/nvda] NVDA incorrectly pronounces some acronyms as words (#12819)

CAUTION: This message was received outside of the Availity Email Systems. Do Not open links or attachments unless you trust the source.

Hi,

Nuance Vocalizer is a popular speech synthesizer produced by Nuance Communications (I believe parts were acquired by Microsoft recently). The best place you can find Vocalizer in action is iOS as it is employed as the speech engine in VoiceOver.

Based on reports, I guess the next alternative is a speech dictionary to deal with a specific set of acronyms. Ideally a voice-specific dictionary would be preferable as it allows you to define rules for specific voices, but since it happens with tested synthesizers, the next best thing is default speech dictionary so rules can be applied everywhere. Even within speech dictionary rules, you can specify if the rule should apply everywhere, when the acronym (word) is by itself, or treat it as a regular expression.

Do you use a specific app to test things (say, a web browser to test websites for accessibility)? If so, there is an issue being discussed which proposes application specific speech dictionaries. The beauty of that proposal is that it is kind of like a default speech dictionary except it is applied only when you are using specific apps.

Hope this helps. Thanks.

- You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnvaccess%2Fnvda%2Fissues%2F12819%23issuecomment-916199515&data=04%7C01%7Clisa.spirko%40availity.com%7Caaf08a73214c427f0b1c08d973a5a9e1%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637667977627231352%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=x%2F0HrI3gP1rW97O9c5Rx35sJZFwL91AC9Dnid%2BtWr3I%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAVRLINYMTQGYZRABIODYEIDUBDGMBANCNFSM5DVW532A&data=04%7C01%7Clisa.spirko%40availity.com%7Caaf08a73214c427f0b1c08d973a5a9e1%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637667977627231352%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=wISwHiP7wa3mFSpB3VH9u9NrYJBZ1yENRYJcWsAWXQg%3D&reserved=0. Triage notifications on the go with GitHub Mobile for iOShttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04%7C01%7Clisa.spirko%40availity.com%7Caaf08a73214c427f0b1c08d973a5a9e1%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637667977627241343%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=uu2jHTVrFYLA62LIP13UkR7tvFYnY%2B3JoLnbzXL8MLA%3D&reserved=0 or Androidhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04%7C01%7Clisa.spirko%40availity.com%7Caaf08a73214c427f0b1c08d973a5a9e1%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637667977627241343%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=d7Tb5pGf1nTSeiHG4SQKA24rXNJlUtzPKxTJUUEj5EQ%3D&reserved=0.


The information contained in this e-mail may be privileged and confidential under applicable law. It is intended solely for the use of the person or firm named above. If the reader of this e-mail is not the intended recipient, please notify us immediately by returning the e-mail to the originating e-mail address. Availity, LLC is not responsible for errors or omissions in this e-mail message. Any personal comments made in this e-mail do not reflect the views of Availity, LLC..

josephsl commented 3 years ago

Hi Lisa,

I see (note to devs: this is one of those moments where I seriously suggest that we had an entry in our template to let users enter contextual information, as it wasn't clear from the initial report that there were constraints). The way I understood this situation and the suggestion here is that NVDA would ship with rules for pronouncing acronyms in a specific way across speech engines.

Although NVDA does come with speech processing rules for punctuation and some common cases, it has no known rules for handling acronyms. Since people use different speech synthesizers, NVDA contributors tend to ask users to contact speech synthesizer vendors about cases like this. But since this has to do with deliverables (where you don't really have control over things and would like to test the scenario with default settings)...

As for using default settings to test deliverables, that's one way to test things. But I think it is important to consider that users would soon discover ways to customize NVDA settings (unless blocked by organizations) - a screen reader is, in essence, a sophisticated text processor, and once users learn about customizing how things are announced (or in our case, pronounced), they will find other ways to tweak things.

Also, consider that English is not the native language for many users. Unless the deliverable is intended for internal use by organizations where employees can understand English, it could be possible that speakers of other languages would use voices that speak their language to read documents. I expect some languages do not have acronym pronouncation rules like that of English, or if they do, they are pronounced differently (after all, speech synthesis uses recordings from humans to generate sophisticated rules). The fact that we must account for speakers of other languages, coupled with all sorts of speech synthesizers out there and different ways acronyms can be pronounced, means NvDA cannot handle all possible speech processing cases here - even if we do add a global rule that says acronyms should be pronounced in a certain way, it will only cover specific cases (a bit better but not at a level that humans can do so using heuristics). This is perhaps one of the reasons why NV Access staff always recommends folks to have a conversation with speech synthesizer vendors about rules like this.

I think this is one of those moments where it would be best to think about the human side of things. As much as we (screen reader developers) would like to let our products pronounce things in a certain way, I believe it is human readers who will know what to do with things like this. This doesn't mean that this issue should be closed as a "can't fix" or a "won't fix" - I think this opens up an interesting question about the limits of how screen readers, specifically the way things are pronounced, is perceived by different audiences and willingness by users to customize things to suit their needs (including the option of using default settings for specific reasons).

Apologies if any of what I wrote didn't make any sense.

Thanks.

lspirko commented 3 years ago

Hi Joseph, thank you! All of this makes sense. That's why I suggested that spelling out acronyms by default might be the best approach, unless a user customizes their own dictionary to override it and pronounce a particular acronym the way they think it should be pronounced. Pronouncing acronyms like words because they look like words (e.g., HIS, PHI) itself might open up a can of worms for all sorts of weird pronunciations based on, as you noted, language differences, etc., but spelling out acronyms is less likely to be confusing for any user, regardless of language, because at least its meaning cannot be confused with another term based on pronunciation alone.

At the very least, my biggest concern is with how ICD-10-CM is being pronounced. This is the standard medical diagnosis code set used in healthcare settings throughout the U.S. and is maintained by the CDC, so it's not a proprietary acronym unique to only one organization. NVDA spells out everything before CM as expected (presumably because it doesn't resemble a real word), but "CM" is being pronounced as "centimeters." Evidently, there's a rule that those two letters together should always be read as "centimeters," which makes sense for measurements, but in this acronym, it means "clinical modification." It might confuse users, or at least garner laughter and maybe some annoyance. I'm not sure what the solution is... My first thought is that if there's a space before CM, it should be read as centimeters, and if it's in all caps and there's any non-space character before CM, it should be spelled out. However, maybe in some parts of the world, a person might write ten centimeters as 10-CM or 10CM instead of 10 CM. Maybe a rule could be created for this particular acronym, and in all other instances, "CM" is read as centimeters. I suppose in the meantime, users who hear that term on a regular basis will customize their dictionaries accordingly.

Thanks, Joseph, for considering and discussing my concerns. At this point, I don't have anything further to add. It's just something to live with and be aware of, at least it's addressed somehow.

Thanks, Lisa Spirko Content Designer/Developer, Client Engagement Services (formerly, Availity Learning)

From: Joseph Lee @.> Sent: Thursday, September 9, 2021 1:30 PM To: nvaccess/nvda @.> Cc: Lisa Spirko @.>; Author @.> Subject: [EXTERNAL] Re: [nvaccess/nvda] NVDA incorrectly pronounces some acronyms as words (#12819)

CAUTION: This message was received outside of the Availity Email Systems. Do Not open links or attachments unless you trust the source.

Hi Lisa,

I see (note to devs: this is one of those moments where I seriously suggest that we had an entry in our template to let users enter contextual information, as it wasn't clear from the initial report that there were constraints). The way I understood this situation and the suggestion here is that NVDA would ship with rules for pronouncing acronyms in a specific way across speech engines.

Although NVDA does come with speech processing rules for punctuation and some common cases, it has no known rules for handling acronyms. Since people use different speech synthesizers, NVDA contributors tend to ask users to contact speech synthesizer vendors about cases like this. But since this has to do with deliverables (where you don't really have control over things and would like to test the scenario with default settings)...

As for using default settings to test deliverables, that's one way to test things. But I think it is important to consider that users would soon discover ways to customize NVDA settings (unless blocked by organizations) - a screen reader is, in essence, a sophisticated text processor, and once users learn about customizing how things are announced (or in our case, pronounced), they will find other ways to tweak things.

Also, consider that English is not the native language for many users. Unless the deliverable is intended for internal use by organizations where employees can understand English, it could be possible that speakers of other languages would use voices that speak their language to read documents. I expect some languages do not have acronym pronouncation rules like that of English, or if they do, they are pronounced differently (after all, speech synthesis uses recordings from humans to generate sophisticated rules). The fact that we must account for speakers of other languages, coupled with all sorts of speech synthesizers out there and different ways acronyms can be pronounced, means NvDA cannot handle all possible speech processing cases here - even if we do add a global rule that says acronyms should be pronounced in a certain way, it will only cover specific cases (a bit better but not at a level that humans can do so using heuristics). This is perhaps one of the reasons why NV Access staff always recommends folks to have a conversation with speech synthesizer vendors about rules like this.

I think this is one of those moments where it would be best to think about the human side of things. As much as we (screen reader developers) would like to let our products pronounce things in a certain way, I believe it is human readers who will know what to do with things like this. This doesn't mean that this issue should be closed as a "can't fix" or a "won't fix" - I think this opens up an interesting question about the limits of how screen readers, specifically the way things are pronounced, is perceived by different audiences and willingness by users to customize things to suit their needs (including the option of using default settings for specific reasons).

Apologies if any of what I wrote didn't make any sense.

Thanks.

- You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnvaccess%2Fnvda%2Fissues%2F12819%23issuecomment-916296319&data=04%7C01%7Clisa.spirko%40availity.com%7C432b2a5f227e4438a8e008d973b77397%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637668054038915103%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=44P5Qxw7d%2F2xceMpcEtkhATcHfeRh9ik0xgloiUZYLY%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAVRLIN6UHHT6ZOOSTBCODEDUBDVJPANCNFSM5DVW532A&data=04%7C01%7Clisa.spirko%40availity.com%7C432b2a5f227e4438a8e008d973b77397%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637668054038925096%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=MHMFhEXPaKv4yaHxFfIABltTop20GNLL0Hj7gOPA344%3D&reserved=0. Triage notifications on the go with GitHub Mobile for iOShttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04%7C01%7Clisa.spirko%40availity.com%7C432b2a5f227e4438a8e008d973b77397%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637668054038935097%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=koRVzoGE4QVzniUFG9HzD45dm%2B56vLMKxyTreHow7bg%3D&reserved=0 or Androidhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04%7C01%7Clisa.spirko%40availity.com%7C432b2a5f227e4438a8e008d973b77397%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637668054038945094%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=NgdNtOQVwVGMO6o4lB%2F2NYF%2B7VZ60we9lbB4MFA9G1M%3D&reserved=0.


The information contained in this e-mail may be privileged and confidential under applicable law. It is intended solely for the use of the person or firm named above. If the reader of this e-mail is not the intended recipient, please notify us immediately by returning the e-mail to the originating e-mail address. Availity, LLC is not responsible for errors or omissions in this e-mail message. Any personal comments made in this e-mail do not reflect the views of Availity, LLC..

gregjozk commented 3 years ago

Hello,

@lspirko did you test behaviour of NVDA with speech viewer enabled? (NVDA menu/Tools/Speech viewer)? this is the simplest way to determine, if it is a synth issue or NVDA issue, because you see on the screen, what has been sent to synth or tts. I understand, that you want a best UX for an average user, however most users of screen reader knows about these limitations and can tell, what is acronim and what is word. Anyway, your issue is very valid, but, I think here the synth venders should work on. it is just my opinion.

regards, Jožef

lspirko commented 3 years ago

Thank you, Jožef! It probably is the speech synthesizers, but the question is whether the vendors (Microsoft, Google, Apple) that develop them are actually aware and working on the issue. I guess it's just something we have to live with until someone in charge of those applications decides it's worth coming up with a solution.

Thanks, Lisa Spirko Content Designer/Developer, Client Engagement Services (formerly, Availity Learning)

From: gregjozk @.> Sent: Monday, September 13, 2021 11:10 PM To: nvaccess/nvda @.> Cc: Lisa Spirko @.>; Mention @.> Subject: [EXTERNAL] Re: [nvaccess/nvda] NVDA incorrectly pronounces some acronyms as words (#12819)

CAUTION: This message was received outside of the Availity Email Systems. Do Not open links or attachments unless you trust the source.

Hello,

@lspirkohttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Flspirko&data=04%7C01%7Clisa.spirko%40availity.com%7C0e0a450adb104242a6f608d9772d30fa%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637671858270128707%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=XBPspL3q66NcrlLDl9y4UwWhwqkkZPfn0p2blsOEkTs%3D&reserved=0 did you test behaviour of NVDA with speech viewer enabled? (NVDA menu/Tools/Speech viewer)? this is the simplest way to determine, if it is a synth issue or NVDA issue, because you see on the screen, what has been sent to synth or tts. I understand, that you want a best UX for an average user, however most users of screen reader knows about these limitations and can tell, what is acronim and what is word. Anyway, your issue is very valid, but, I think here the synth venders should work on. it is just my opinion.

regards, Jožef

- You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnvaccess%2Fnvda%2Fissues%2F12819%23issuecomment-918759034&data=04%7C01%7Clisa.spirko%40availity.com%7C0e0a450adb104242a6f608d9772d30fa%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637671858270128707%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=OQY1WXA0csVCcSwhot8m8uvtPegEphj2CV6%2FXNZBZ%2Bg%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAVRLIN7LMFSE5EGDEAHMIITUB24J5ANCNFSM5DVW532A&data=04%7C01%7Clisa.spirko%40availity.com%7C0e0a450adb104242a6f608d9772d30fa%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637671858270138701%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cSAXk%2Bq2Z48wW3RUGFO16ZzXcef2ValLdneRUkEs4JU%3D&reserved=0. Triage notifications on the go with GitHub Mobile for iOShttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04%7C01%7Clisa.spirko%40availity.com%7C0e0a450adb104242a6f608d9772d30fa%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637671858270138701%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=uo76q9wcaATHf68D0rRQ23bkikOcuaQ2wx4prgE7%2Bys%3D&reserved=0 or Androidhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04%7C01%7Clisa.spirko%40availity.com%7C0e0a450adb104242a6f608d9772d30fa%7Ce0dd36ed939145d8937a5f7005a5bc68%7C1%7C0%7C637671858270148706%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=VZ8E6PU%2FfeniYZnFmWVaQzRarZusEaelWFCMCXwbYGM%3D&reserved=0.


The information contained in this e-mail may be privileged and confidential under applicable law. It is intended solely for the use of the person or firm named above. If the reader of this e-mail is not the intended recipient, please notify us immediately by returning the e-mail to the originating e-mail address. Availity, LLC is not responsible for errors or omissions in this e-mail message. Any personal comments made in this e-mail do not reflect the views of Availity, LLC..

Adriani90 commented 1 year ago

@lspirko thanks for reporting this issue. In fact I must admit as a blind user it is very common for me to explore words manually with the keyboard since sometimes depending on the language I am reading in the pronounciation is not clear. This really depends on the synthesizer voice and even if there was a general rule to spell out capitalized words automatically while focusing, this would not really improve the situation. The main reason is that people often use capitalized words also to emphasize something, not only for acronims, and to be honnest as an user I don't want to encounter a lot of words being spelled out just because they've been formated with capitals by sighted people to transmit a message. I focus rather on the context of the text and the average user I would say prefers efficiency in reading. It has more advantages to decide by myself when I need a word to be spelled out or not. In fact, I can press nvda+l to read the current line and pressing it twice spells out the whole line which is the expected on demand feature.

However, I suggest to implement the same on demand feature for a single word like nvda+l for the whole line in.

cc: @CyrilleB79

lspirko commented 1 year ago

Hello Adriani. Thank you so much for your response. I appreciate your perspective and valuable insight, and I'm glad to know that the situation with how acronyms are handled is not as difficult for screen reader users as I had feared.

CyrilleB79 commented 1 year ago

@Adriani90 you wrote:

However, I suggest to implement the same on demand feature for a single word like nvda+l for the whole line in.

cc: @CyrilleB79

@Adriani90; I guess that you have CCed me for this last request.

My asnwers:

  1. If you are working with the review cursor following the caret (which is the default and the most common setting for this option), you may use Numpad5 to spell the word at the position of the review cursor.
  2. If you want this new feature anyway, I'd suggest that you open a new issue with full description and link to this issue; since the request is quite different from the initial description of this issue. We'll see if NVAccess tags it as TRIAGED. If yes, implementing this is probably not difficult. Thanks.
CyrilleB79 commented 1 year ago

Given the above comments, the conclusion seems that there is no change required in NVDA:

So I am going to close this issue. If you disagree, please explain why and I will reopen.