Skip to content
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

More accessibility enhancements for accessibility clients #4211

Merged
merged 2 commits into from
May 31, 2020

Conversation

ethindp
Copy link
Contributor

@ethindp ethindp commented May 27, 2020

The QT5 framework has attributes for accessibility clients (screen readers or other programs used to analyze the accessibility of an application). These attributes are:

  • Accessible name: the name for the control, e.g.: the label.
  • Accessible description: a description presented to accessibility clients used to elaborate on the controls function/purpose.
  • Accessible role: the role (type) of a control, e.g.: button, pain, combo box, etc.

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.

@Krzmbrzl Krzmbrzl added accessibility Everything related to accessibility-features (like screen-readers) client ui labels May 28, 2020
@Krzmbrzl Krzmbrzl added this to the 1.4.0 milestone May 28, 2020
Copy link
Member

@Krzmbrzl Krzmbrzl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you squash all your commits into a single one and after that run ./scripts/updatetranslations.sh in order to make the accessibility strings available for translation.

If either is difficult for you, just say so. I can also quickly do that for you :)

@ethindp
Copy link
Contributor Author

ethindp commented May 28, 2020 via email

ethindp and others added 2 commits May 28, 2020 18:18
Qt5 provides different ways of improving the accessibility of the
application. One of these are accessibility names. This basically
assigns a given UI element a name that can be used by e.g. a screen
reader.

This commit adds lots of these names to almost all dialogs.
Updating 'mumble_en.ts'...
    Found 1867 source text(s) (92 new and 1775 already existing)
@Krzmbrzl
Copy link
Member

Done. I have force-pushed your branch in order to do that so you'll have to force-pull in order to have these changes reflected locally on your machine :)

@Krzmbrzl Krzmbrzl merged commit dbac1b9 into mumble-voip:master May 31, 2020
@Krzmbrzl
Copy link
Member

Thank you for your contribution! :)

@ethindp
Copy link
Contributor Author

ethindp commented May 31, 2020 via email

@Krzmbrzl
Copy link
Member

Krzmbrzl commented Jun 1, 2020

@deluxghost thank you for spotting the typos. I have corrected them in #4226

@ethindp
Copy link
Contributor Author

ethindp commented Jun 1, 2020 via email

@Krzmbrzl
Copy link
Member

Krzmbrzl commented Jun 1, 2020

No worries. I make typos all the time ^^

Krzmbrzl added a commit that referenced this pull request Jun 2, 2020
@Hartmnt Hartmnt added the a11y label Jan 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accessibility Everything related to accessibility-features (like screen-readers) client ui
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants