Description:
Accessibility features don't work in Open and Save dialogs within MySQL Workbench. This prevents vision impaired users relying on VoiceOver from selecting and opening files.
How to repeat:
1. In macOS, go to System Preferences > Accessibility > VoiceOver and enable VoiceOver.
2. Launch MySQL Workbench and select File > Open Model from the menu bar.
3. In the file dialog, make sure that it's in List view (as opposed to Icon view or Column view).
4. Move the mouse over any item in the list of files.
5. VoiceOver will speak something like "Column 1, row 2". It should speak the name of the item. You can verify this by using an Open dialog in any other Mac application, such as Safari.
Suggested fix:
I've looked into this a bit, and it appears that MySQL Workbench is returning items from the entire class hierarchy when Accessibility services ask for an item, rather than just returning the significant, non-hidden items like all other Mac applications do. You can see this by using the Accessibility Inspector developer tool provided by Apple with Xcode (in Xcode, choose Xcode > Open Developer Tool > Accessibility Inspector). Use the "point to inspect" tool to select an item in the Open dialog of MySQL Workbench and look at the object hierarchy. Then do the same in the Open dialog of any other application - the hierarchy returned from MySQL Workbench contains many extra layers of objects that cause VoiceOver to speak irrelevant information to the user.
This is likely caused by MySQL Workbench either modifying the accessibility hierarchy internally in its code, or by manually handling accessibility requests and not traversing past hidden items when hit-testing for an item. Details can be found in https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Accessibility/c...