aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/quicktemplates2/qquickdialog.cpp10
-rw-r--r--src/quicktemplates2/qquickdialog_p.h1
-rw-r--r--tests/auto/accessibility/data/dialog.qml4
-rw-r--r--tests/auto/accessibility/tst_accessibility.cpp2
4 files changed, 15 insertions, 2 deletions
diff --git a/src/quicktemplates2/qquickdialog.cpp b/src/quicktemplates2/qquickdialog.cpp
index 8b05f546..9d26ab3f 100644
--- a/src/quicktemplates2/qquickdialog.cpp
+++ b/src/quicktemplates2/qquickdialog.cpp
@@ -151,6 +151,7 @@ void QQuickDialog::setTitle(const QString &title)
return;
d->title = title;
+ setAccessibleName(title);
emit titleChanged();
}
@@ -348,6 +349,15 @@ QAccessible::Role QQuickDialog::accessibleRole() const
{
return QAccessible::Dialog;
}
+
+void QQuickDialog::accessibilityActiveChanged(bool active)
+{
+ Q_D(QQuickDialog);
+ QQuickPopup::accessibilityActiveChanged(active);
+
+ if (active)
+ setAccessibleName(d->title);
+}
#endif
QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickdialog_p.h b/src/quicktemplates2/qquickdialog_p.h
index 64d6a6d2..6ec440bf 100644
--- a/src/quicktemplates2/qquickdialog_p.h
+++ b/src/quicktemplates2/qquickdialog_p.h
@@ -99,6 +99,7 @@ protected:
#ifndef QT_NO_ACCESSIBILITY
QAccessible::Role accessibleRole() const override;
+ void accessibilityActiveChanged(bool active) override;
#endif
private:
diff --git a/tests/auto/accessibility/data/dialog.qml b/tests/auto/accessibility/data/dialog.qml
index 46a96f2e..26e944fd 100644
--- a/tests/auto/accessibility/data/dialog.qml
+++ b/tests/auto/accessibility/data/dialog.qml
@@ -1,4 +1,6 @@
import QtQuick 2.5
import QtQuick.Controls 2.1
-Dialog { }
+Dialog {
+ title: "Dialog"
+}
diff --git a/tests/auto/accessibility/tst_accessibility.cpp b/tests/auto/accessibility/tst_accessibility.cpp
index 53cb6973..520f6ef2 100644
--- a/tests/auto/accessibility/tst_accessibility.cpp
+++ b/tests/auto/accessibility/tst_accessibility.cpp
@@ -69,7 +69,7 @@ void tst_accessibility::a11y_data()
QTest::newRow("CheckBox") << "checkbox" << 0x0000002C << "CheckBox"; //QAccessible::CheckBox
QTest::newRow("CheckDelegate") << "checkdelegate" << 0x0000002C << "CheckDelegate"; //QAccessible::CheckBox
QTest::newRow("ComboBox") << "combobox" << 0x0000002E << "ComboBox"; //QAccessible::ComboBox
- QTest::newRow("Dialog") << "dialog" << 0x00000012 << ""; //QAccessible::Dialog
+ QTest::newRow("Dialog") << "dialog" << 0x00000012 << "Dialog"; //QAccessible::Dialog
QTest::newRow("Frame") << "frame" << 0x00000013 << ""; //QAccessible::Border
QTest::newRow("GroupBox") << "groupbox" << 0x00000014 << "GroupBox"; //QAccessible::Grouping
QTest::newRow("ItemDelegate") << "itemdelegate" << 0x00000022 << "ItemDelegate"; //QAccessible::ListItem