View Issue Details

IDProjectCategoryView StatusLast Update
0001908OpenMPTAccessibilitypublic2025-07-10 18:38
ReporterGoemonIshikawa Assigned To 
PrioritynoneSeveritytweakReproducibilityalways
Status resolvedResolutionfixed 
Product VersionOpenMPT 1.32.02.00 / libopenmpt 0.8.1 (current stable) 
Target VersionOpenMPT 1.32.03.00 / libopenmpt 0.8.2 (upcoming stable)Fixed in VersionOpenMPT 1.32.03.00 / libopenmpt 0.8.2 (upcoming stable) 
Summary0001908: OpenMPT not respecting proper control state via the uce of screen reader and keyboard.
Description

"This is a note that this issue is being worked on via @Saga Musix and is also put on bug tracker for the sake of completeness. No further response is required unless needed."

Older versions of OpenMPT have a bug if the keyboard is in certain controls like the keyboard list, where the control state isn't properly respected, for example in the list after the category combo box the list doesn't display the first option unless the user presses down once or twice, so it makes it look like the options aren't before the user.

Now while the issue might not look that bad if the list has multiple options, if a particular category has only one option in its list that option won't be read to user unless the user presses Shift+Tab to go back to the categories, and then presses tab so that the list with one option is shown.

Steps To Reproduce

Another example is in the pattern editor if Ctrl+Shift+Tab is pushed to move to the other view with the order list and then via pushing Shift+Tab to move to the pattern toolbar, you'll be able to move rite to a checkbox for example the VU-Meters. If you'll uncheck it via SpaceBar you'll note that you're back in the pattern view, and if you want to rechek the box you'll have to go back to the toolbar to do so.
In this event the controls aren't being properly respected, as checking a box or entering an option shouldn't push you from the pattern controls, as user may want to change other options before properly exiting the controls via the escape key or Ctrl+Shift+Tab.

Additional Information

@Saga Musix has noted that it looks like there is a bug with the list item selection; by default the first command should be chosen from the list but it currently isn't. This will be fixed in the next release.

In regards to the control state issue @Saga Musix notes that This is an unfortunate clash between usability with the mouse and accessibility. It is impossible to tell whether a checkbox or button was clicked with the mouse or activated by a keypress, and in this case OpenMPT favors the use of the mouse and immediately returns the focus to the pattern editor, because this is what mouse users would typically expect.
Unfortunately we never found a good solution for that which would work both for mouse users and keyboard users. However, I suppose that for most users that rely on keyboard navigation, assigning these actions to a keyboard shortcut would make much more sense than following through a long tab chain every time they want to toggle those options.
I think I now have a workaround that should make everyone happy. Depending on whether the last received input event is a keyboard or mouse event, interactions with controls in the "upper" editor now won't return the focus to the "lower" editor. So for mouse users everything should stay as it was before, and if a button was activated through the keyboard, the focus will stay on that button. This will also end up in the next OpenMPT release.

TagsNo tags attached.
Has the bug occurred in previous versions?Yes
Tested code revision (in case you know it)n/a

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2025-07-10 15:43 GoemonIshikawa New Issue
2025-07-10 18:38 Saga Musix Status new => resolved
2025-07-10 18:38 Saga Musix Resolution open => fixed
2025-07-10 18:38 Saga Musix Fixed in Version => OpenMPT 1.32.03.00 / libopenmpt 0.8.2 (upcoming stable)
2025-07-10 18:38 Saga Musix Target Version => OpenMPT 1.32.03.00 / libopenmpt 0.8.2 (upcoming stable)