-
-
Notifications
You must be signed in to change notification settings - Fork 8k
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
Screen readers fail to read some menu items in some context menus of OBS Studio #3363
Comments
I've tried to check this in OBS Studio 29.1.3 and a recent build from git on Windows 11, and Narrator reads some of the menu items fine (label, state, and if it is collapsed/expanded). The first item in the submenu is "Add", which has a submenu. Narrator reads it as, "Add, menu item, collapsed". It correctly recognizes "Paste (Reference)" as a disabled menu item. In a quick test, it appeared that Narrator correctly reads all menu items, at least the first time I open the context menu. However, if I opened the context menu more than once, Narrator would not read the following items in the source context menu:
Curiously, in the Scenes context menu, Rename and Remove suffer the same issue: obs-studio/UI/window-basic-main.cpp Lines 415 to 425 in 23bfb62
obs-studio/UI/window-basic-main.cpp Lines 5486 to 5487 in 23bfb62
obs-studio/UI/window-basic-main.cpp Lines 5985 to 5992 in 23bfb62
It seems like adding QActions that were defined elsewhere (either via a UI form or by a previous definition) to context menus causes this behavior. Incidentally, if you open a context menu, then close it, then open the Edit menu, the same behavior occurs for items that are shared between the context menu and the Edit menu. If we manually create the QActions on-demand when they are needed, these problems go away. I have a branch where I've tackled these issues, except for the Transform sub-menu. I don't know if it's PR-ready, so I'll just link it here for now. This seems like it ought to be a bug in Qt, but we'll have to make an example and write it up to find out. |
After some searching, I think these are good QTBUG candidates for the described behavior: Edit: |
Closing as stale. If this is still an issue please open a new issue with updated reproduction steps on the latest version of OBS. We have made several updates to Qt since this was reported, and this may already be fixed. |
Description
As the title states, screen readers like NVDA, Narrator and JAWS fail to read some menu items in some context menus of OBS Studio. The one noticed is the context menu for a source in the list of sources in the main window of OBS Studio, but I don't know if it is the only one that is problematic. And I just found out, that the problem occurs only when using the high-contrast black theme in Windows, as I do use it.
Steps to reproduce it
1.1. Open Windows Settings (Windows+I).
1.2. Go to Ease of access -> High-contrast.
1.3. Turn on the high-contrast mode, using the respective toggle.
1.4. From the "High-contrast theme" combo-box, select "High-Contrast Black".
Expected result
The screen readers should properly report all menu items (e.g. its label, its state (inactive/unavailable), if it has a submenu).
Actual result
The screen readers do not properly report some menu items (e.g. its label, its state (inactive/unavailable), if it has a submenu).
Test environment
The text was updated successfully, but these errors were encountered: