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

Improve Electrum Accessibility with Screenreaders #4637

Open
AKJ opened this issue Aug 16, 2018 · 6 comments
Open

Improve Electrum Accessibility with Screenreaders #4637

AKJ opened this issue Aug 16, 2018 · 6 comments

Comments

@AKJ
Copy link

AKJ commented Aug 16, 2018

I am a blind user who attempted to use Electrum on Windows 7 using the NVDA screenreader. In my experimentation, I could not get my screenreader to read any elements of the Electrum window. I could not set up a wallet or interact with the app in any way.

Historically, support for accessibility frameworks has been challenging in QT. However, with the advent of QT5, there appear to be several new classes and functions designed to expose information about GUI controls to accessibility frameworks across all platforms. I am not a programmer, but I believe the work of making Electrum accessible involves implementing these classes for the various GUI controls in the app (buttons, sliders, edit boxes, menus, lists, tree views, etc).

I am still not sure if any of these classes are implemented in PyQT5, but I found this page from QT documenting accessibility classes in QT: https://doc.qt.io/qt-5/accessible.html

I know accessibility has come up in the past in #1036. I wanted to reopen this issue to see if the prospects for implementing accessible controls look any better in 2018. I am not a skilled coder, but would be happy to offer any assistance I can in implementing this feature. I know this feature would be very much appreciated by myself as well as other blind people who are interested in learning more about crypto.

@rdymac
Copy link
Contributor

rdymac commented Aug 16, 2018

@bauerj, can you please comment here with your latest findings from February 2018?

@AKJ Andrew, as you are using Windows I don't know if it is possible, but have you tried the text GUI ? If so, is it better?

I know the text GUI that can be run from Terminal has some bugs that breaks it completely, but if it is indeed better for Screenreaders it worth fixing it directly.

@bauerj
Copy link
Collaborator

bauerj commented Aug 17, 2018

Hey Andrew,

I'm sorry that Electrum is currently not usable for you and other visually impaired people. We're definitely interested in solving this situation.

I'm not sure if the text UI will be any better since there's no way for the screen reader to access any semantic information about the UI elements.

I've read the documentation you linked and i'm none the wiser about the issue. I'm going to look into the API and see what exactly we're missing. I'll also try to use the NVDA screenreader you linked to test changes - I hope it's not too complicated to use.

If we have anything to test, can we get back to you?

@AKJ
Copy link
Author

AKJ commented Aug 17, 2018

@bauerj, thank you for your comments. I think the fact that we are both mystified by the QT docs is suggestive of how thorny and counter-intuitive accessibility in QT can be. I couldn't find anything specific about the Python implementation.

If you are testing with a screenreader, I don't think you can do better than NVDA. Apart from being free and open source software, NVDA also has a couple of helpful features. Under the tools menu you will find a log and speech viewer, as well as a python console to interact directly with NVDA objects. You can also turn off the speech using Insert+S (or Caps Lock+S on a laptop). I hear the speech viewer may be more helpful and less annoying for sighted testers.

@AKJ
Copy link
Author

AKJ commented Aug 18, 2018

@bauerj and others,

I realized I was running an older version of Electrum. I installed 3.2.2 and many of my accessibility concerns have been resolved. I was able to use the install wizard with no issues, and could interact with most of the program.

There appear to be two "amount" fields in the send tab that are unlabeled, but otherwise the program is far more usable than older versions.

@rdymac
Copy link
Contributor

rdymac commented Aug 20, 2018

Great to know @AKJ . Let's find out which one of the two amount fields are (most probably amount to be sent, fee, fiat value of them...), so it can be improved.

@zersiax
Copy link

zersiax commented May 1, 2020

Bump.
I was led here through the Tails bug detailing Electrum currently doesn't work. Do we know if the latest versions of Electrum, that apparently work wreasonably well with NVDA, work with Orca on Debian derivatives as well?

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

No branches or pull requests

4 participants