aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-11-01 21:08:41 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2016-11-01 22:08:43 +0000
commit244e423d6b58438a2b7f653827412815a335c276 (patch)
tree64b85c5f3d607f87584753d27ba40820c913139d
parenta706965798e5485550c2781854bf0d2d8fda2379 (diff)
Page: fix accessibility support
Change-Id: If7d15d914e35a675dcd456a4aa561a3280c2308a Reviewed-by: Liang Qi <liang.qi@qt.io>
-rw-r--r--src/quicktemplates2/qquickpage.cpp10
-rw-r--r--src/quicktemplates2/qquickpage_p.h1
-rw-r--r--tests/auto/accessibility/data/page.qml13
-rw-r--r--tests/auto/accessibility/tst_accessibility.cpp1
4 files changed, 25 insertions, 0 deletions
diff --git a/src/quicktemplates2/qquickpage.cpp b/src/quicktemplates2/qquickpage.cpp
index 9ee0970b..a0de71db 100644
--- a/src/quicktemplates2/qquickpage.cpp
+++ b/src/quicktemplates2/qquickpage.cpp
@@ -211,6 +211,7 @@ void QQuickPage::setTitle(const QString &title)
return;
d->title = title;
+ setAccessibleName(title);
emit titleChanged();
}
@@ -382,6 +383,15 @@ QAccessible::Role QQuickPage::accessibleRole() const
{
return QAccessible::PageTab;
}
+
+void QQuickPage::accessibilityActiveChanged(bool active)
+{
+ Q_D(QQuickPage);
+ QQuickControl::accessibilityActiveChanged(active);
+
+ if (active)
+ setAccessibleName(d->title);
+}
#endif
QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickpage_p.h b/src/quicktemplates2/qquickpage_p.h
index 2cb77378..64f7602f 100644
--- a/src/quicktemplates2/qquickpage_p.h
+++ b/src/quicktemplates2/qquickpage_p.h
@@ -93,6 +93,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/page.qml b/tests/auto/accessibility/data/page.qml
new file mode 100644
index 00000000..c4058b29
--- /dev/null
+++ b/tests/auto/accessibility/data/page.qml
@@ -0,0 +1,13 @@
+import QtQuick 2.5
+import QtQuick.Window 2.2
+import QtQuick.Controls 2.0
+
+Window {
+ visible: true
+
+ Page {
+ id: page
+ objectName: "page"
+ title: "Page"
+ }
+}
diff --git a/tests/auto/accessibility/tst_accessibility.cpp b/tests/auto/accessibility/tst_accessibility.cpp
index ad6c06ca..e486e6f9 100644
--- a/tests/auto/accessibility/tst_accessibility.cpp
+++ b/tests/auto/accessibility/tst_accessibility.cpp
@@ -78,6 +78,7 @@ void tst_accessibility::a11y_data()
// GroupBox
QTest::newRow("Label") << "label" << 0x00000029 << "Label"; //QAccessible::StaticText
QTest::newRow("Menu") << "menu" << 0x0000000B << ""; //QAccessible::PopupMenu
+ QTest::newRow("Page") << "page" << 0x00000025 << "Page"; //QAccessible::PageTab
QTest::newRow("PageIndicator") << "pageindicator" << 0x00000027 << ""; //QAccessible::Indicator
QTest::newRow("Popup") << "popup" << 0x00000080 << ""; //QAccessible::LayeredPane
QTest::newRow("ProgressBar") << "progressbar" << 0x00000030 << ""; //QAccessible::ProgressBar