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

Provide very minimum accessibility of PrusaSlicer #11651

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

dawidpieper
Copy link

Partialy fixes #7595

This Pull Request is a starting point for making PrusaSlicer minimally accessible to blind people using screen readers.
There is no denying that it is actually a workaround. The idea in which the GUI was created is very far from the WX accessibility guidelines, and therefore the only options are to create a number of workarounds or rewrite a significant part of the code, which, as I was given to understand, is not being considered.

What does work

  • MINIMUM accessibility is ensured, that is, most labels are read correctly. Checked on Windows, I will try to test it on Linux and Mac in the near future as well.
  • A workaround was required for checkboxes, as wxBitmapToggleButton`` does not support proper accessibility events, I would be greatly obliged to consider replacing its implementation with wxCheckbox``.
  • The screen reader correctly reads all checkboxes, buttons and data input fields on the print, filament and printer settings tabs.

What does not work

  • In the case of choices, their headers are not read, I will look into this next.
  • The tab key navigation of the controls in the bed preview still does not work properly.
  • The data in the tables are not being read.
  • There is no access to the toolbar.
  • Some less important buttons are not labeled.

Status

In my opinion, PrusaSlicer after implementing this PR has minimal accessibility, it can be used, albeit with limitations, by blind people using screen readers.

I would ask you to let me know if this PR has a chance of being merged, if so, I am willing to continue the work.

@lukasmatena
Copy link
Collaborator

Thanks a lot. Myself and @YuSanka have reviewed your PR. I must say that it is not nearly as convoluted as I was expecting and the amount of changes in the original code is quite small. A PR of this sort can definitely be merged after proper testing. Let us know when you consider it ready.

I will try to test it on Linux and Mac in the near future as well.

This would be nice, we are little nervous about how the zero-sized wxStaticTexts will work, but maybe it is just our general tendency not to trust wxWidgets. Out of curiosity, how well are screen readers in general supported on Linux and macOS?

@dawidpieper
Copy link
Author

Thanks for interest.
I have tested it with Orca on Debian Bookform, Mate.

As for accessibility, Windows and Mac are pretty good here. For Windows we have extremely popular open-source screenreader NVDA and built-in Mac screenreader - VoiceOver - is also very good. On Linux we have ORCA, but it is far more limited than previous ones - what also can be generaly considered for GUIs on Linux, unfortunately.

@dawidpieper
Copy link
Author

By the way, would there be any chance of considering replacing checkboxes with wxCheckbox class? It would be far, far more accessible on all platforms, current workaround is rather ugly. :)

@dawidpieper
Copy link
Author

Okay, I see the same with Comboboxes. I can obviously find some ugly workaround. That will not be compliant with accessibility standards and will have many problems, but will work.
But I would be grateful if it could be considered to use wxCheckBox for checkboxes and wxComboBox for comboboxes instead of own implementations. And it's not only accessibility-related issue, for example currently navigation using keyboard letters is not working, controls are not correctly scaled by software for visualy impaired, it's impossible to make control-based hooks etc.

@DietmarSchwertberger
Copy link

@dawidpieper : This is not related to PrusaSlicer, even though I also have a Mk 3: I'm currently working on making wxGrid accessible. For this I would need testers and feedback. Would you mind looking at wxGlade/wxGlade#539 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

App is nearly inaccessible for blind users
3 participants