nvaccess/nvda

frameworks: a change for unavailable grade out context menu options

Closed this issue · 6 comments

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

i've considered to speeck about this, but I didn't know where to do it, so i decided to speeck with it in nvda to see if is this something that can be solved by screen reader, or those components need to do that them selves
I really like qt, and generally the apps that are made with in qt, just because of a single reason
so you know that sometimes you press application key to open the context menu to have some options in part of applications, you may see some options that are not hidden, but grade out, and for blind users using screenreader, disabled or unavailable as screenreader announces it.
when interacting with these unavailable context menu options, when you double klick on them or move the mouse on them and double klick on them using nvda object navigation, it acts as it should, and nothing happens, and you are stil in the context menu
but, when you press enter on these unavailable options, in all frameworks except qt, it acts as it shouldn't, and that is, when you press enter on the unavailable option, you will be kicked off the context menu and back to the app, as like you've activated an option in the context menu, this is confusing and the person may think that the option actually worked for them, but it actually didn't.

Describe the solution you'd like

but, qt does a good and expected job of this. In a context menu of an application made with in qt, when we press enter on an unavailable option, nothing happens, and we won't come out of the context menu, we will only come out of the menu if we klick on an available option, which is expected

Describe alternatives you've considered

can this somehow be aplyed to all frameworks, so that pressing enter on an unavailable option shouldn't make you come out of that menu, and acts exactly as how qt does?

Additional context

the reason I like this and I want it to happen because this makes more difrences and makes an unavailable option more understandable that it showes to you that you cannot press this, and it also will no longer cause you to come out of the menu so you have to open that menu again, e.g: nvda menu>Tools>remote sub menu.

Hi,

Is this behavior observable across screen readers such as Narrator? If yes, then a better place to ask would be framework repositories as it may have to do with keyboard event processing.

Thanks.

yes this is framework related, but i don't know where to find their repozitorys, wx, mfc, and more.

i've opened an issue in wx repozitory, and I hope that was a correct place that i reported this in.
can I request NVAccess staff team to let me keep this issue open until a result, because i provided the link of this issue for the explanation. I'll keep track, and will close this issue my self. Thanks.

If you want to have a full consisten experience, This will have to be raised to multiple frameworks, such as WPF, and all other .NET technologies like UWP and WinForms or WindowsUI, then you have the python based GUI frameworks such as Tkinter, PyQt, PySide, Pyforms, Kivy, PySimpleGUI, WX Python and WX-Widgets, then the java based frameworks such as Electron (NODE.js), and Swing (Java), and finally the global UI control providers such as Infragistics which allow for multiple controls from different UI frameworks to be sticked together. These are at least the most common used still in many applications.
However, many of them are not maintained anymore, so I don't expect it is worth putting so much energy into it.
Currently, NVDA cannot overtake the funtionanilty of the enter key in an applications menu unless we define it in an app module, so when you press enter on a menu item with system focus, the application is responsible to provide the propper funtionality.

In short, if you want this to be changed only for the QT part, you can fill a bug for QT here:
https://bugreports.qt.io/secure/Dashboard.jspa

Since this is a feature request and NVDA's functionality is not directly impacted by this, I am closing it as invalid. Consider also contacting Microsoft if you wish to change it in their GUI frameworks as well.

Hi @HanaDadfar

For better searchability, could you please correct the spelling in this issue's title, as well as the one against wx?
It's "greyed", not "grade".

Thanks.