Send accessible focus event after list view has focus

QListView::currentChanged sends an accessible focus event even if the
list view doesn't have focus. For screen readers like Orca, accessible
focus events will be ignored if the target item does not have focus
when screen reader receives the event.

This corrects the behavior by calling QAbstractItemView::currentChanged
before sending an accessible focus event.

Pick-to: 6.4
Change-Id: I71732f62e2f27d7856b4781b268495b88b24b715
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
bb10
Fushan Wen 2022-10-18 20:38:35 +08:00
parent 60b5ca5a23
commit 2cf5253b91
1 changed files with 1 additions and 1 deletions

View File

@ -3398,6 +3398,7 @@ void QIconModeViewBase::updateContentsSize()
*/
void QListView::currentChanged(const QModelIndex &current, const QModelIndex &previous)
{
QAbstractItemView::currentChanged(current, previous);
#if QT_CONFIG(accessibility)
if (QAccessible::isActive()) {
if (current.isValid()) {
@ -3408,7 +3409,6 @@ void QListView::currentChanged(const QModelIndex &current, const QModelIndex &pr
}
}
#endif
QAbstractItemView::currentChanged(current, previous);
}
/*!