diff options
| -rw-r--r-- | src/quicktemplates/qquickpopup.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/quicktemplates/qquickpopup.cpp b/src/quicktemplates/qquickpopup.cpp index 37ddebf6d4..890eaf6a17 100644 --- a/src/quicktemplates/qquickpopup.cpp +++ b/src/quicktemplates/qquickpopup.cpp @@ -813,6 +813,13 @@ void QQuickPopupPrivate::finalizeExitTransition() hadActiveFocusBeforeExitTransition = false; emit q->visibleChanged(); emit q->closed(); +#if QT_CONFIG(accessibility) + const auto type = q->effectiveAccessibleRole() == QAccessible::PopupMenu + ? QAccessible::PopupMenuEnd + : QAccessible::DialogEnd; + QAccessibleEvent ev(q->popupItem(), type); + QAccessible::updateAccessibility(&ev); +#endif if (popupItem) { popupItem->setScale(prevScale); popupItem->setOpacity(prevOpacity); @@ -823,6 +830,13 @@ void QQuickPopupPrivate::opened() { Q_Q(QQuickPopup); emit q->opened(); +#if QT_CONFIG(accessibility) + const auto type = q->effectiveAccessibleRole() == QAccessible::PopupMenu + ? QAccessible::PopupMenuStart + : QAccessible::DialogStart; + QAccessibleEvent ev(q->popupItem(), type); + QAccessible::updateAccessibility(&ev); +#endif } Qt::WindowFlags QQuickPopupPrivate::popupWindowType() const |
