Improve Electrum Accessibility with Screenreaders
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 8.6k
- Forks
- 3.5k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 61
Description
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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no source files or tests; start by reviewing Electrum's GUI controls and the Qt 5 accessibility documentation linked in the report, including whether the needed classes are exposed through PyQt5. Done would mean testing with NVDA that users can read and interact with the wallet setup and application controls.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- accessibility, desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100