From ba7c7e283e3df6820149199329ad72d81acc1cec Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 15 Oct 2025 04:10:53 -0400 Subject: [PATCH] Fix screen reader accessibility in torrent list PR #23359. Closes #20393. --- src/gui/transferlistwidget.cpp | 9 ++++++++- src/gui/transferlistwidget.h | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gui/transferlistwidget.cpp b/src/gui/transferlistwidget.cpp index 2b00e46f1..3de291199 100644 --- a/src/gui/transferlistwidget.cpp +++ b/src/gui/transferlistwidget.cpp @@ -1285,9 +1285,16 @@ void TransferListWidget::displayListMenu() listMenu->popup(QCursor::pos()); } -void TransferListWidget::currentChanged(const QModelIndex ¤t, const QModelIndex&) +void TransferListWidget::currentChanged(const QModelIndex ¤t, const QModelIndex &previous) { qDebug("CURRENT CHANGED"); + + // Call base class to ensure Qt's accessibility system is notified of focus changes. + // This is critical for screen readers to announce the currently selected torrent. + // Without this call, users relying on assistive technologies cannot effectively + // navigate the torrent list with keyboard arrow keys. + QTreeView::currentChanged(current, previous); + BitTorrent::Torrent *torrent = nullptr; if (current.isValid()) { diff --git a/src/gui/transferlistwidget.h b/src/gui/transferlistwidget.h index 097dd809a..b19c0511a 100644 --- a/src/gui/transferlistwidget.h +++ b/src/gui/transferlistwidget.h @@ -110,7 +110,7 @@ private slots: void torrentDoubleClicked(); void displayListMenu(); void displayColumnHeaderMenu(); - void currentChanged(const QModelIndex ¤t, const QModelIndex&) override; + void currentChanged(const QModelIndex ¤t, const QModelIndex &previous) override; void setSelectedTorrentsSuperSeeding(bool enabled) const; void setSelectedTorrentsSequentialDownload(bool enabled) const; void setSelectedFirstLastPiecePrio(bool enabled) const;