/ mumble Public
More accessibility enhancements for accessibility clients #4211
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge.
The QT5 framework has attributes for accessibility clients (screen readers or other programs used to analyze the accessibility of an application). These attributes are:
These three attributes are not uncommon and are available in most GUI frameworks. This PR sets the accessible name attribute for controls that do not automatically get this attribute set. (This only applies to Windows.) This PR sets these in code, not in QT UI files. These changes could be merged into the UI files themselves with a bit of time and effort, however the QT designer is not accessible to screen reader software. The accessible description remains unset because the other attributes (e.g.: the "What's this?" property) seem to take its place.
The controls that automatically become accessible on win32 are buttons, check boxes, ad tab controls, I believe. On Linux, only tab controls and buttons are accessible, so checkboxes will also need the accessible name attribute set. I may do this in a future PR.
It may be good practice to adopt this across all controls -- set the accessible name property to the text of the label for that control. This will make Mumble accessible across all operating systems that respect this attribute, and if I'm not mistaken that's pretty much all of them.