aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-11-02 13:26:01 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2016-11-02 14:09:43 +0000
commitbb42d6e87ffd83199372dbc3097db7506814d129 (patch)
tree92bccfac9a5264957a3343de6fcbe4d944daf046
parent5169a1ecd03eaea95ab07aeefc8d76cca7530563 (diff)
QQuickDialog: finish accessibility support
2f1e983 added support for controlling accessible properties via QQuickPopup, so now QQuickDialog can set its title as the accessible name the same way QQuickPage does. Change-Id: Iead1e65a10ec16fbbae8383edb6fa3a77a83d4fe Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-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