summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/other/qaccessibility/tst_qaccessibility.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp
index de0942ba08..fa9f2a5866 100644
--- a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp
+++ b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp
@@ -4288,10 +4288,20 @@ void tst_QAccessibility::messageBoxTest()
if (!boxPrivate->canBeNativeDialog()) {
// platforms that use a native message box will not emit accessibility events
box.show();
+ QVERIFY(QTest::qWaitForWindowActive(&box));
QAccessibleEvent showEvent(&box, QAccessible::DialogStart);
QVERIFY(QTestAccessibility::containsEvent(&showEvent));
+ // on some platforms, like macOS, not all widgets get key board focus; we
+ // only care about a push button getting focus
+ if (QTest::qWaitFor([&box]{ return qobject_cast<QPushButton *>(box.focusWidget()); }, 1000)) {
+ // a widget that gets focus through window activation should not emit an accessibility
+ // notification
+ QAccessibleEvent focusEvent(box.focusWidget(), QAccessible::Focus);
+ QVERIFY(!QTestAccessibility::containsEvent(&focusEvent));
+ }
+
box.hide();
QAccessibleEvent hideEvent(&box, QAccessible::DialogEnd);