aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-11-01 21:46:19 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2016-11-02 08:14:30 +0000
commit31c51eb402c67c9a01b9f0cf108195db699e2a9c (patch)
tree44514f45805d1e00874dcd27eb90380fd50baa1c
parent2f1e983aaf7afc8ac0ed572a48d9444acab51d00 (diff)
ToolTip: fix accessibility support
Change-Id: I4623b1f1ee1e10c4233e89bf42e6720bbf3a5c73 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r--src/quicktemplates2/qquicktooltip.cpp10
-rw-r--r--src/quicktemplates2/qquicktooltip_p.h1
-rw-r--r--tests/auto/accessibility/data/tooltip.qml13
-rw-r--r--tests/auto/accessibility/tst_accessibility.cpp2
4 files changed, 25 insertions, 1 deletions
diff --git a/src/quicktemplates2/qquicktooltip.cpp b/src/quicktemplates2/qquicktooltip.cpp
index b29e806c..3bd47457 100644
--- a/src/quicktemplates2/qquicktooltip.cpp
+++ b/src/quicktemplates2/qquicktooltip.cpp
@@ -188,6 +188,7 @@ void QQuickToolTip::setText(const QString &text)
return;
d->text = text;
+ setAccessibleName(text);
emit textChanged();
}
@@ -307,6 +308,15 @@ QAccessible::Role QQuickToolTip::accessibleRole() const
{
return QAccessible::ToolTip;
}
+
+void QQuickToolTip::accessibilityActiveChanged(bool active)
+{
+ Q_D(QQuickToolTip);
+ QQuickPopup::accessibilityActiveChanged(active);
+
+ if (active)
+ setAccessibleName(d->text);
+}
#endif
class QQuickToolTipAttachedPrivate : public QObjectPrivate
diff --git a/src/quicktemplates2/qquicktooltip_p.h b/src/quicktemplates2/qquicktooltip_p.h
index 730e38d9..9b628747 100644
--- a/src/quicktemplates2/qquicktooltip_p.h
+++ b/src/quicktemplates2/qquicktooltip_p.h
@@ -92,6 +92,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/tooltip.qml b/tests/auto/accessibility/data/tooltip.qml
new file mode 100644
index 00000000..4a2f16b5
--- /dev/null
+++ b/tests/auto/accessibility/data/tooltip.qml
@@ -0,0 +1,13 @@
+import QtQuick 2.5
+import QtQuick.Window 2.2
+import QtQuick.Controls 2.0
+
+Window {
+ visible: true
+
+ ToolTip {
+ id: tooltip
+ objectName: "tooltip"
+ text: "ToolTip"
+ }
+}
diff --git a/tests/auto/accessibility/tst_accessibility.cpp b/tests/auto/accessibility/tst_accessibility.cpp
index 527fc678..208f4ff7 100644
--- a/tests/auto/accessibility/tst_accessibility.cpp
+++ b/tests/auto/accessibility/tst_accessibility.cpp
@@ -101,7 +101,7 @@ void tst_accessibility::a11y_data()
QTest::newRow("TextField") << "textfield" << 0x0000002A << ""; //QAccessible::Accessible.EditableText
QTest::newRow("ToolBar") << "toolbar" << 0x00000016 << ""; //QAccessible::ToolBar
QTest::newRow("ToolButton") << "toolbutton" << 0x0000002B << "ToolButton"; //QAccessible::Button
- // ToolTip
+ QTest::newRow("ToolTip") << "tooltip" << 0x0000000D << "ToolTip"; //QAccessible::ToolTip
QTest::newRow("Dial") << "dial" << 0x00000031 << ""; //QAccessible::Dial
// Drawer