mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-03-02 22:57:32 -05:00
Screen readers cant read interface on Windows 10 #8967
Labels
No labels
Accessibility
AppImage
Bounty
Build system
CI
Can't reproduce
Code cleanup
Confirmed bug
Confirmed bug
Core
Crash
Data loss
Discussion
Docker
Documentation
Duplicate
Feature
Feature request
Feature request
Feature request
Filters
Flatpak
GUI
Has workaround
I2P
Invalid
Libtorrent
Look and feel
Meta
NSIS
Network
Not an issue
OS: *BSD
OS: Linux
OS: Windows
OS: macOS
PPA
Performance
Project management
Proxy/VPN
Qt bugs
Qt6 compat
RSS
Search engine
Security
Temp folder
Themes
Translations
Triggers
Waiting diagnosis
Waiting info
Waiting upstream
Waiting web implementation
Watched folders
WebAPI
WebUI
autoCloseOldIssue
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/qBittorrent#8967
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @tapper82 on GitHub (Aug 6, 2019).
Please provide the following information
qBittorrent version and Operating System
(type here)
qBittorrent 4.07 Windows 10 (10.0.1xxxx)
If on linux, libtorrent and Qt version
(type here)
What is the problem
(type here)
When using NVDA screen reader you get no feed back from the interface.
What is the expected behavior
(type here)
NVDA should beable to read the interface allowing blind people to use qBittorrent.
Steps to reproduce
(type here)
Install NVDA and open qBittorrent try to use qBittorrent with your eyes closed.
Extra info(if any)
(type here)
It's the same with other screen readers I have tested out JAWS and narrator
@Chocobo1 commented on GitHub (Aug 14, 2019):
Related issue: https://github.com/nvaccess/nvda/issues/8604
In short, probably NVDA doesn't handle Qt > 5.11 applications well.
However you could still try qBittorrent 32-bit version since it uses an older Qt version and chances are NVDA supports it.
@akj commented on GitHub (May 31, 2020):
I want to add some context to this issue to hopefully help clarify the problems being experienced by screenreader users. For reference I tested running QBittorrent 4.2.5 (32-bit and 64-bit) and NVDA 2020.1 on Windows 10 1909.
The problem as I see it centers around focus. NVDA can access all parts of the screen but only using a method called "object review mode". From what I can tell there are several lists (Status, tags, trackers, etc) and by selecting one of those items a pane appears with a list of torrents matching the criteria you specified. While selecting from that first list is possible using standard keyboard navigation like arrow keys and tab, the second list is announced only as "grouping" by NVDA using standard navigation. Arrow keys do not appear to traverse this list. While it is technically possible to navigate this list using NVDA, the process involves passing through every row of the list column by column (number, name, size, total size, done, etc).
Keeping in mind that I am not a developer, this suggests to me that the bug is on the QBittorrent end since some elements are exposed to NVDA while others are not. The behavior I described was identical on 32-bit and 64-bit Windows 10 1909.
If you want to test this behavior for yourself, this is a guide on accessibility testing. Though this was written with Firefox in mind much of the content applies to QBittorrent. I hope this shed a little more light on the issue.
@FranciscoPombal commented on GitHub (Oct 5, 2020):
@tapper82 @AKJ
Can you give an example of a similar application or an application with similar controls that behaves correctly with NVDA, so that it can serve as a point of comparison?
@NotTsunami commented on GitHub (Oct 5, 2020):
I've been sitting through the issue tracker on NVDA and it actually should be "fixed" in NVDA 2020.3, however the latest version available is NVDA 2020.2. The issue regarding Qt 5.9+ compatibility was stalled for a year or so and then finally fixed a few months ago, but the fix hasn't been included in a release other than beta releases. By fixed on our end, I mean the same behavior with Qt 5.9 and earlier should be restored. If there are any issues going from there, we can fix them then.
@tapper82 @AKJ Do you guys have any way of testing the 2020.3 beta versions of NVDA? If so, please try those out and report back.
@tapper82 commented on GitHub (Oct 6, 2020):
What about https://github.com/mumble-voip/mumble/issues/3808
@tapper82 commented on GitHub (Oct 6, 2020):
NVDA bug for QT:
https://github.com/nvaccess/nvda/issues/8604
QT bug:
https://bugreports.qt.io/browse/QTBUG-69472
What ver of QT are you using?
@xavier2k6 commented on GitHub (Oct 6, 2020):
qBittorrent 4.2.5 uses
Qt 5.13.2@tapper82 @AKJ
Download Link for NVDA 2020.3 RC1
@FranciscoPombal commented on GitHub (Oct 6, 2020):
Current experimental builds are using Qt 5.15.0 LTS, next official release will most likely use either 5.15.0 LTS or 5.15.1 LTS.
@tapper82 commented on GitHub (Oct 6, 2020):
@FranciscoPombal Hi how do I get a experimental build? So I can test to see if there is any change. thanks.
@FranciscoPombal commented on GitHub (Oct 6, 2020):
@tapper82 https://github.com/qbittorrent/qBittorrent/actions/runs/288664715. Are you testing with NVDA 2020.3 RC1?
@tapper82 commented on GitHub (Oct 7, 2020):
Hi I am testing with latest master of NVDA.
About NVDA dialog NonVisual Desktop Access (NVDA)
Version: alpha-21125,dc9a6541
I tested out the experimental build? and there is know change in how NVDA sees the interface on windows. We as blind users just need it to read the list of torrents and let us know the info about the state of the download and I will be happy.
@akj commented on GitHub (Feb 12, 2021):
Some answers to questions asked above, with apologies for the delay:
Similar Projects
Some QT projects that have some comparable layouts with QT accessibility: Bitcoin Core GUI, OBS and Electrum are the first three that come to mind- though I think Electrum uses PyQT.
Tasks I struggle with in QBitorrent 4.3.3 using NVDA 2020.4 RC1:
Keyboard Navitgation Behavior
When I open QBittorrent, keyboard focus is placed in an area with no reported data. If I hit tab, I hear something marked "Grouping". Shift-tab from this "grouping" produces silence.
From the "grouping" section I tab once more and see the "status" checkbox. If I leave it checked another tab press yields silence, but using the arrows I can traverse the list of items containing All, Downloading, Seeding, etc. Using enter or either mouse button on any of these list items produces no audible result.
If I continue to tab after the last list (trackers) further tab presses result in silence.
Final thoughts
I hope these explanations are useful. I'm not certain what needs to be done to expose these parts of the app to assistive technology like screen readers, but if I can provide any further insight or testing I'm happy to do so. Thank you for reading and for giving attention to this problem.
@tapper82 commented on GitHub (Aug 19, 2021):
@NotTsunami commented on GitHub (Aug 19, 2021):
To my understanding, the root cause of the issue was an incompatibility between the latest Qt version and NVDA. There haven't been really any changes to anything on the Qbittorrent side. It is a pinned issue here so it is of importance, but we don't know the cause of the issue.
Can you tell me what version of NVDA you are running now? I will try and look into this.
@tapper82 commented on GitHub (Aug 19, 2021):
NVDA
Version: alpha-23571,566a5e1c Has there bin any changes in QT
@akj commented on GitHub (Mar 14, 2022):
Looking at this with fresh eyes I am convinced the main issue lies in the transfer list model. The filter list works fine, but traversing the transfer list with arrows still reads nothing to me. These seem like normal Qt classes to me; is any part of the transfer list a custom job that needs to be set up to inherit stuff from QAccessibleInterface?
@NotTsunami commented on GitHub (Mar 14, 2022):
I don't have the time nor experience to fully delve into this, but I did a quick pass on this again, very specifically pertaining to:
@AKJ Can you test the build and let me know if you can navigate the mentioned toolbar? If it works, I will submit a pull request. Make sure to backup any important torrents or run the build on a seperate user account. You can download the zip file directly from this URL: https://github.com/NotTsunami/qBittorrent/suites/5645534954/artifacts/184583032
@akj commented on GitHub (Mar 14, 2022):
Yes, this works great! I can now navigate to that toolbar with tab and shift-tab, and the buttons gain focus in an expected way. Thanks for that!
@tapper82 commented on GitHub (Mar 14, 2022):
All tho this test build lets screen reader users read the tool bar buttons it does not fix the torrent list. Most of the other things in the UI are still broken. Thanks for having a go for us.
@akj commented on GitHub (Mar 16, 2022):
@NotTsunami - if you're willing to keep tracing the shape of this problem I have another potential thing to try. Do you think you could test QBittorrent with Accessibility Insights from Microsoft? In particular I'm curious about the tab stop behavior, since I can't test that myself. I couldn't glean anything from the automatic checks; maybe those results will be more meaningful to devs.
I think the major problems are focus-related. Here's a succinct rundown of how keyboard navigation typically works in accessible apps. Curious if Accessibility Insights sheds any further light on the problem:
@akj commented on GitHub (Jun 2, 2023):
Using the QT6 build of Qbittorrent 4.5.3 (Windows 11 22h2 latest), I have the following improvements and updates to report.
Hopefully these notes are helpful! It is nice to see the client becoming more friendly for screen reader users.
@rkingett commented on GitHub (Dec 18, 2023):
Jumping into say this is an issue on Windows 11 as well using the latest NVDA.
@hwangsihu commented on GitHub (Nov 15, 2024):
Hi, does anyone know of a version of QBitTorrent that can navigate to some extent with just arrows and tabs using NVDA? If so, I'd like to downgrade to that version.
@tapper82 commented on GitHub (Nov 15, 2024):
@hwangsihu No mate. They don't work.
@hwangsihu commented on GitHub (Nov 16, 2024):
Okay...
I'm using QT because uTorrent has a lot of problems like ads, coin mining, etc. I guess I‘ll have to write an object review or something to hold out for.
@rkingett commented on GitHub (Feb 6, 2025):
I am also having this issue in the latest 2024 version of NVDA. I can review menus, the filter lists, and the options, but I just can't review the list of torrents and their status.
@bingen13 commented on GitHub (Aug 12, 2025):
Commenting on the situation with QBitTorrent 5.1.2 and NVDA 2025.1.2.
The situation is the same around lists. NVDA sees them as a treeview item and focus changes are not detected, hence navigation with the up and down arrows does not get indicated.
I found a small workaround that helps some (though does not scale well to large numbers of torrents) and which maybe can give devs some notion of what the issue might be.
So the problem doesn't seem so much that the widget doesn't expose the information, as that it does not expose selection changes.
Hoping this will get sorted at some point.