diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-11-02 13:26:01 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-11-02 14:09:43 +0000 |
commit | bb42d6e87ffd83199372dbc3097db7506814d129 (patch) | |
tree | 92bccfac9a5264957a3343de6fcbe4d944daf046 | |
parent | 5169a1ecd03eaea95ab07aeefc8d76cca7530563 (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.cpp | 10 | ||||
-rw-r--r-- | src/quicktemplates2/qquickdialog_p.h | 1 | ||||
-rw-r--r-- | tests/auto/accessibility/data/dialog.qml | 4 | ||||
-rw-r--r-- | tests/auto/accessibility/tst_accessibility.cpp | 2 |
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 |