Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why does NVDA ignore the .NET Accessibility.Name and Accessibility.Role? #14594

Closed
tomb18 opened this issue Jan 30, 2023 · 5 comments
Closed
Labels
blocked/needs-info The issue can not be progressed until more information is provided.

Comments

@tomb18
Copy link

tomb18 commented Jan 30, 2023

I am the author of several software packages to control Amateur radios. The software is written in C#.NET Windows forms.
Any given control has two properties for Accessibility.Name and Accessibility.Role. NVDA does not work correctly when it encounters such a control.
If Accessibility.Name is set to a value, let's say "Mode", then it announces this correctly. If the accessibility.name field is null, it makes up its own name. It should not. If the accessibility.role is set to none, it should not try to interpret what the control is or does. It does what it pleases.
If using Microsoft Narrator, this functionality works correctly.
In view of this, I am forced to create my own accessibility for all the controls in my applications. This should not be.
I know that I can create a plug in. However, this means learning a new programming language, keeping up with the NVDA updates and so on. I do not have the time for such an endeavor. I'm a single developer with thousands of clients.
Now I can understand that if the Accessibility.Name property is not set, then NVDA makes it's own assumptions since so much software out there doesn't bother with this. However, this is incorrect. Widespread consideration of programming for accessibility will be enhanced if conventions are followed.
At the very least, there should be an option in NVDA to follow the .NET conventions for Accessibility Name and role. If this had been the case, .NET can provide the corresponding correct speech in just 2 lines of code. In my case I had to program 75 different controls.
I hope you can consider adding such an option for the future.
Tom

@josephsl
Copy link
Collaborator

josephsl commented Jan 30, 2023 via email

@Brian1Gaff
Copy link

Brian1Gaff commented Jan 30, 2023 via email

@zersiax
Copy link

zersiax commented Feb 3, 2023

This is a pretty big deal. If convention is outright ignored here that has quite a wide-spread effect on messaging to work specifically for NVDA. @tomb18 this may be a stretch but do you know if JAWS handles this correctly?

@rperez030
Copy link

I think it does. I've never heard JAWS or Narrator reading out class names like that.

@michaelDCurran
Copy link
Member

Please provide a sample app and clear instructions on how to reproduce this behaviour.
Also, a reference to documentation that backs up your statement on "conventions" would be very helpful thank you.

@michaelDCurran michaelDCurran added the blocked/needs-info The issue can not be progressed until more information is provided. label Feb 10, 2023
@nvaccess nvaccess locked and limited conversation to collaborators Feb 12, 2023
@seanbudd seanbudd converted this issue into discussion #14630 Feb 12, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
blocked/needs-info The issue can not be progressed until more information is provided.
Projects
None yet
Development

No branches or pull requests

6 participants