aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quickcontrols2/accessibility
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/quickcontrols2/accessibility')
-rw-r--r--tests/auto/quickcontrols2/accessibility/BLACKLIST2
-rw-r--r--tests/auto/quickcontrols2/accessibility/CMakeLists.txt54
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/abstractbutton.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/busyindicator.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/button.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/checkbox.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/checkdelegate.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/combobox.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/container.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/control.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/dial.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/dialog.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/drawer.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/frame.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/groupbox.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/itemdelegate.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/label.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/menu.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/menuitem.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/page.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/pageindicator.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/pane.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/popup.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/progressbar.qml8
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/radiobutton.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/radiodelegate.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/rangeslider.qml11
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/roundbutton.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/scrollbar.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/scrollindicator.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/slider.qml10
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/spinbox.qml9
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/stackview.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/swipedelegate.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/swipeview.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/switch.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/switchdelegate.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/tabbar.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/tabbutton.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/textarea.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/textfield.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/toolbar.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/toolbutton.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/tooltip.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/defaults/tumbler.qml4
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/ordering/page.qml23
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/abstractbutton.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/busyindicator.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/button.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/checkbox.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/checkdelegate.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/combobox.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/container.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/control.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/dial.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/dialog.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/drawer.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/frame.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/groupbox.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/itemdelegate.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/label.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/menu.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/menuitem.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/page.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/pageindicator.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/pane.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/popup.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/progressbar.qml10
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/radiobutton.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/radiodelegate.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/rangeslider.qml13
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/roundbutton.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/scrollbar.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/scrollindicator.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/slider.qml11
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/spinbox.qml10
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/stackview.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/swipedelegate.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/swipeview.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/switch.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/switchdelegate.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/tabbar.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/tabbutton.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/textarea.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/textfield.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/toolbar.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/toolbutton.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/tooltip.qml7
-rw-r--r--tests/auto/quickcontrols2/accessibility/data/override/tumbler.qml6
-rw-r--r--tests/auto/quickcontrols2/accessibility/tst_accessibility.cpp304
90 files changed, 921 insertions, 0 deletions
diff --git a/tests/auto/quickcontrols2/accessibility/BLACKLIST b/tests/auto/quickcontrols2/accessibility/BLACKLIST
new file mode 100644
index 0000000000..fe7a87f847
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/BLACKLIST
@@ -0,0 +1,2 @@
+[a11y:Label]
+opensuse-leap
diff --git a/tests/auto/quickcontrols2/accessibility/CMakeLists.txt b/tests/auto/quickcontrols2/accessibility/CMakeLists.txt
new file mode 100644
index 0000000000..dafca24b7d
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/CMakeLists.txt
@@ -0,0 +1,54 @@
+# Generated from accessibility.pro.
+
+if(NOT QT_FEATURE_accessibility)
+ return()
+endif()
+
+#####################################################################
+## tst_accessibility Test:
+#####################################################################
+
+# Collect test data
+file(GLOB_RECURSE test_data_glob
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ data/*)
+list(APPEND test_data ${test_data_glob})
+
+qt_internal_add_test(tst_accessibility
+ SOURCES
+ ../shared/qtest_quickcontrols.h
+ ../shared/util.cpp ../shared/util.h
+ ../shared/visualtestutil.cpp ../shared/visualtestutil.h
+ tst_accessibility.cpp
+ DEFINES
+ QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/quickcontrols2\\\"
+ PUBLIC_LIBRARIES
+ Qt::CorePrivate
+ Qt::Gui
+ Qt::GuiPrivate
+ Qt::QmlPrivate
+ Qt::QuickControls2
+ Qt::QuickControls2Private
+ Qt::QuickPrivate
+ Qt::QuickTemplates2Private
+ Qt::QuickTest
+ Qt::TestPrivate
+ TESTDATA ${test_data}
+)
+
+#### Keys ignored in scope 1:.:.:accessibility.pro:<TRUE>:
+# OTHER_FILES = "data/*.qml"
+# _REQUIREMENTS = "qtConfig(accessibility)"
+
+## Scopes:
+#####################################################################
+
+qt_internal_extend_target(tst_accessibility CONDITION ANDROID OR IOS
+ DEFINES
+ QT_QMLTEST_DATADIR=\\\":/data\\\"
+)
+
+qt_internal_extend_target(tst_accessibility CONDITION NOT ANDROID AND NOT IOS
+ DEFINES
+ QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\"
+)
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/abstractbutton.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/abstractbutton.qml
new file mode 100644
index 0000000000..29d6b3c0a0
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/abstractbutton.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+AbstractButton {
+ text: "AbstractButton"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/busyindicator.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/busyindicator.qml
new file mode 100644
index 0000000000..baaa9ba80b
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/busyindicator.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+BusyIndicator { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/button.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/button.qml
new file mode 100644
index 0000000000..0359b3ac15
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/button.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+Button {
+ text: "Button"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/checkbox.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/checkbox.qml
new file mode 100644
index 0000000000..c912be5791
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/checkbox.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+CheckBox {
+ text: "CheckBox"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/checkdelegate.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/checkdelegate.qml
new file mode 100644
index 0000000000..df62bc89d5
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/checkdelegate.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+CheckDelegate {
+ text: "CheckDelegate"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/combobox.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/combobox.qml
new file mode 100644
index 0000000000..bfeac723da
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/combobox.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+ComboBox {
+ model: ["ComboBox"]
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/container.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/container.qml
new file mode 100644
index 0000000000..7d29fec426
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/container.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+Container { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/control.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/control.qml
new file mode 100644
index 0000000000..280cfd2962
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/control.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+Control { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/dial.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/dial.qml
new file mode 100644
index 0000000000..d7e700b5df
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/dial.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+Dial { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/dialog.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/dialog.qml
new file mode 100644
index 0000000000..d88fd36d8e
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/dialog.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+Dialog {
+ title: "Dialog"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/drawer.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/drawer.qml
new file mode 100644
index 0000000000..60a35171b2
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/drawer.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+Drawer { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/frame.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/frame.qml
new file mode 100644
index 0000000000..b70ccb556c
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/frame.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+Frame { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/groupbox.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/groupbox.qml
new file mode 100644
index 0000000000..24f3a294b8
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/groupbox.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+GroupBox {
+ title: "GroupBox"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/itemdelegate.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/itemdelegate.qml
new file mode 100644
index 0000000000..5ec95fe07e
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/itemdelegate.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+ItemDelegate {
+ text: "ItemDelegate"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/label.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/label.qml
new file mode 100644
index 0000000000..5f6a98cd74
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/label.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+Label {
+ text: "Label"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/menu.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/menu.qml
new file mode 100644
index 0000000000..07fef72849
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/menu.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+Menu { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/menuitem.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/menuitem.qml
new file mode 100644
index 0000000000..194fa988c8
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/menuitem.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+MenuItem {
+ text: "MenuItem"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/page.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/page.qml
new file mode 100644
index 0000000000..cd1f78e170
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/page.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+Page {
+ title: "Page"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/pageindicator.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/pageindicator.qml
new file mode 100644
index 0000000000..d64d565706
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/pageindicator.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+PageIndicator { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/pane.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/pane.qml
new file mode 100644
index 0000000000..765c98a394
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/pane.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+Pane { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/popup.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/popup.qml
new file mode 100644
index 0000000000..c599bd4c0b
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/popup.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+Popup { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/progressbar.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/progressbar.qml
new file mode 100644
index 0000000000..b3e287c33c
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/progressbar.qml
@@ -0,0 +1,8 @@
+import QtQuick
+import QtQuick.Controls
+
+ProgressBar {
+ from: 0
+ to: 100
+ value: 50
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/radiobutton.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/radiobutton.qml
new file mode 100644
index 0000000000..d796b37e17
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/radiobutton.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+RadioButton {
+ text: "RadioButton"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/radiodelegate.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/radiodelegate.qml
new file mode 100644
index 0000000000..d002b98532
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/radiodelegate.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+RadioDelegate {
+ text: "RadioDelegate"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/rangeslider.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/rangeslider.qml
new file mode 100644
index 0000000000..7bd364c443
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/rangeslider.qml
@@ -0,0 +1,11 @@
+import QtQuick
+import QtQuick.Controls
+
+RangeSlider {
+ from: 0
+ to: 100
+ first.value: 25
+ second.value: 75
+ stepSize: 1
+ orientation: Qt.Horizontal
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/roundbutton.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/roundbutton.qml
new file mode 100644
index 0000000000..6c78c0a47d
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/roundbutton.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+RoundButton {
+ text: "RoundButton"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/scrollbar.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/scrollbar.qml
new file mode 100644
index 0000000000..c36b1534b1
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/scrollbar.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+ScrollBar { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/scrollindicator.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/scrollindicator.qml
new file mode 100644
index 0000000000..5b2f44b674
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/scrollindicator.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+ScrollIndicator { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/slider.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/slider.qml
new file mode 100644
index 0000000000..fd60a19844
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/slider.qml
@@ -0,0 +1,10 @@
+import QtQuick
+import QtQuick.Controls
+
+Slider {
+ from: 0
+ to: 100
+ value: 50
+ stepSize: 1
+ orientation: Qt.Horizontal
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/spinbox.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/spinbox.qml
new file mode 100644
index 0000000000..159e1f4676
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/spinbox.qml
@@ -0,0 +1,9 @@
+import QtQuick
+import QtQuick.Controls
+
+SpinBox {
+ from: 0
+ to: 100
+ value: 50
+ stepSize: 1
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/stackview.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/stackview.qml
new file mode 100644
index 0000000000..bd540b91a0
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/stackview.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+StackView { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/swipedelegate.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/swipedelegate.qml
new file mode 100644
index 0000000000..d3724d4dc2
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/swipedelegate.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+SwipeDelegate {
+ text: "SwipeDelegate"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/swipeview.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/swipeview.qml
new file mode 100644
index 0000000000..9eb8221666
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/swipeview.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+SwipeView { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/switch.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/switch.qml
new file mode 100644
index 0000000000..00213086aa
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/switch.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+Switch {
+ text: "Switch"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/switchdelegate.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/switchdelegate.qml
new file mode 100644
index 0000000000..9f71ed6848
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/switchdelegate.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+SwitchDelegate {
+ text: "SwitchDelegate"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/tabbar.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/tabbar.qml
new file mode 100644
index 0000000000..423bfea903
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/tabbar.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+TabBar { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/tabbutton.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/tabbutton.qml
new file mode 100644
index 0000000000..ab9ea8ae2c
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/tabbutton.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+TabButton {
+ text: "TabButton"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/textarea.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/textarea.qml
new file mode 100644
index 0000000000..9a1f31d029
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/textarea.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+TextArea {
+ text: "TextArea"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/textfield.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/textfield.qml
new file mode 100644
index 0000000000..42a16bae78
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/textfield.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+TextField {
+ text: "TextField"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/toolbar.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/toolbar.qml
new file mode 100644
index 0000000000..01b93d7d91
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/toolbar.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+ToolBar { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/toolbutton.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/toolbutton.qml
new file mode 100644
index 0000000000..40e1152edc
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/toolbutton.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+ToolButton {
+ text: "ToolButton"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/tooltip.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/tooltip.qml
new file mode 100644
index 0000000000..f1c3cebee5
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/tooltip.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+ToolTip {
+ text: "ToolTip"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/defaults/tumbler.qml b/tests/auto/quickcontrols2/accessibility/data/defaults/tumbler.qml
new file mode 100644
index 0000000000..e3db175bd2
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/defaults/tumbler.qml
@@ -0,0 +1,4 @@
+import QtQuick
+import QtQuick.Controls
+
+Tumbler { }
diff --git a/tests/auto/quickcontrols2/accessibility/data/ordering/page.qml b/tests/auto/quickcontrols2/accessibility/data/ordering/page.qml
new file mode 100644
index 0000000000..8efafe3232
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/ordering/page.qml
@@ -0,0 +1,23 @@
+import QtQuick
+import QtQuick.Controls
+
+Page {
+ title: "Page"
+ Accessible.role: Accessible.Pane
+
+ header: Label {
+ text: "Header"
+ }
+
+ footer: Label {
+ text: "Footer"
+ }
+
+ Label {
+ text: "Content item 1"
+ }
+
+ Label {
+ text: "Content item 2"
+ }
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/abstractbutton.qml b/tests/auto/quickcontrols2/accessibility/data/override/abstractbutton.qml
new file mode 100644
index 0000000000..ac8efe2601
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/abstractbutton.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+AbstractButton {
+ text: "AbstractButton"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/busyindicator.qml b/tests/auto/quickcontrols2/accessibility/data/override/busyindicator.qml
new file mode 100644
index 0000000000..439788d121
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/busyindicator.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+BusyIndicator {
+ Accessible.name: "BusyIndicatorOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/button.qml b/tests/auto/quickcontrols2/accessibility/data/override/button.qml
new file mode 100644
index 0000000000..578af86c78
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/button.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+Button {
+ text: "Button"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/checkbox.qml b/tests/auto/quickcontrols2/accessibility/data/override/checkbox.qml
new file mode 100644
index 0000000000..5df735091e
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/checkbox.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+CheckBox {
+ text: "CheckBox"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/checkdelegate.qml b/tests/auto/quickcontrols2/accessibility/data/override/checkdelegate.qml
new file mode 100644
index 0000000000..43f65d5083
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/checkdelegate.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+CheckDelegate {
+ text: "CheckDelegate"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/combobox.qml b/tests/auto/quickcontrols2/accessibility/data/override/combobox.qml
new file mode 100644
index 0000000000..fa6ed3b4bf
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/combobox.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+ComboBox {
+ model: ["ComboBox"]
+ Accessible.name: model[0] + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/container.qml b/tests/auto/quickcontrols2/accessibility/data/override/container.qml
new file mode 100644
index 0000000000..4e73f341d6
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/container.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+Container {
+ Accessible.name: "ContainerOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/control.qml b/tests/auto/quickcontrols2/accessibility/data/override/control.qml
new file mode 100644
index 0000000000..9c2be4617f
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/control.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+Control {
+ Accessible.name: "ControlOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/dial.qml b/tests/auto/quickcontrols2/accessibility/data/override/dial.qml
new file mode 100644
index 0000000000..8dbf0e3764
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/dial.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+Dial {
+ Accessible.name: "DialOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/dialog.qml b/tests/auto/quickcontrols2/accessibility/data/override/dialog.qml
new file mode 100644
index 0000000000..d1f3197196
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/dialog.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+Dialog {
+ title: "Dialog"
+ Accessible.name: title + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/drawer.qml b/tests/auto/quickcontrols2/accessibility/data/override/drawer.qml
new file mode 100644
index 0000000000..02e973e2cc
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/drawer.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+Drawer {
+ Accessible.name: "DrawerOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/frame.qml b/tests/auto/quickcontrols2/accessibility/data/override/frame.qml
new file mode 100644
index 0000000000..55086b35c0
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/frame.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+Frame {
+ Accessible.name: "FrameOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/groupbox.qml b/tests/auto/quickcontrols2/accessibility/data/override/groupbox.qml
new file mode 100644
index 0000000000..d09d0845c9
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/groupbox.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+GroupBox {
+ title: "GroupBox"
+ Accessible.name: title + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/itemdelegate.qml b/tests/auto/quickcontrols2/accessibility/data/override/itemdelegate.qml
new file mode 100644
index 0000000000..2f32cb7514
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/itemdelegate.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+ItemDelegate {
+ text: "ItemDelegate"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/label.qml b/tests/auto/quickcontrols2/accessibility/data/override/label.qml
new file mode 100644
index 0000000000..5c1310f875
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/label.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+Label {
+ text: "Label"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/menu.qml b/tests/auto/quickcontrols2/accessibility/data/override/menu.qml
new file mode 100644
index 0000000000..57a1b3d61f
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/menu.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+Menu {
+ Accessible.name: "MenuOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/menuitem.qml b/tests/auto/quickcontrols2/accessibility/data/override/menuitem.qml
new file mode 100644
index 0000000000..e1c064f3b5
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/menuitem.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+MenuItem {
+ text: "MenuItem"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/page.qml b/tests/auto/quickcontrols2/accessibility/data/override/page.qml
new file mode 100644
index 0000000000..b3b87e8ab6
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/page.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+Page {
+ title: "Page"
+ Accessible.name: title + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/pageindicator.qml b/tests/auto/quickcontrols2/accessibility/data/override/pageindicator.qml
new file mode 100644
index 0000000000..f366464df7
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/pageindicator.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+PageIndicator {
+ Accessible.name: "PageIndicatorOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/pane.qml b/tests/auto/quickcontrols2/accessibility/data/override/pane.qml
new file mode 100644
index 0000000000..7b57e9a9f5
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/pane.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+Pane {
+ Accessible.name: "PaneOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/popup.qml b/tests/auto/quickcontrols2/accessibility/data/override/popup.qml
new file mode 100644
index 0000000000..9d8d58550a
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/popup.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+Popup {
+ Accessible.name: "PopupOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/progressbar.qml b/tests/auto/quickcontrols2/accessibility/data/override/progressbar.qml
new file mode 100644
index 0000000000..58bd2ae1bd
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/progressbar.qml
@@ -0,0 +1,10 @@
+import QtQuick
+import QtQuick.Controls
+
+ProgressBar {
+ from: 0
+ to: 100
+ value: 50
+
+ Accessible.name: "ProgressBarOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/radiobutton.qml b/tests/auto/quickcontrols2/accessibility/data/override/radiobutton.qml
new file mode 100644
index 0000000000..3c555256b8
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/radiobutton.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+RadioButton {
+ text: "RadioButton"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/radiodelegate.qml b/tests/auto/quickcontrols2/accessibility/data/override/radiodelegate.qml
new file mode 100644
index 0000000000..883f963c5c
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/radiodelegate.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+RadioDelegate {
+ text: "RadioDelegate"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/rangeslider.qml b/tests/auto/quickcontrols2/accessibility/data/override/rangeslider.qml
new file mode 100644
index 0000000000..675c34aad1
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/rangeslider.qml
@@ -0,0 +1,13 @@
+import QtQuick
+import QtQuick.Controls
+
+RangeSlider {
+ from: 0
+ to: 100
+ first.value: 25
+ second.value: 75
+ stepSize: 1
+ orientation: Qt.Horizontal
+
+ Accessible.name: "RangeSliderOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/roundbutton.qml b/tests/auto/quickcontrols2/accessibility/data/override/roundbutton.qml
new file mode 100644
index 0000000000..a793ee2833
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/roundbutton.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+RoundButton {
+ text: "RoundButton"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/scrollbar.qml b/tests/auto/quickcontrols2/accessibility/data/override/scrollbar.qml
new file mode 100644
index 0000000000..6b3e613c42
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/scrollbar.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+ScrollBar {
+ Accessible.name: "ScrollBarOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/scrollindicator.qml b/tests/auto/quickcontrols2/accessibility/data/override/scrollindicator.qml
new file mode 100644
index 0000000000..5cc1e5d4b8
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/scrollindicator.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+ScrollIndicator {
+ Accessible.name: "ScrollIndicatorOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/slider.qml b/tests/auto/quickcontrols2/accessibility/data/override/slider.qml
new file mode 100644
index 0000000000..9239f8db99
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/slider.qml
@@ -0,0 +1,11 @@
+import QtQuick
+import QtQuick.Controls
+
+Slider {
+ from: 0
+ to: 100
+ value: 50
+ stepSize: 1
+ orientation: Qt.Horizontal
+ Accessible.name: "SliderOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/spinbox.qml b/tests/auto/quickcontrols2/accessibility/data/override/spinbox.qml
new file mode 100644
index 0000000000..327f2a6d4a
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/spinbox.qml
@@ -0,0 +1,10 @@
+import QtQuick
+import QtQuick.Controls
+
+SpinBox {
+ from: 0
+ to: 100
+ value: 50
+ stepSize: 1
+ Accessible.name: "SpinBoxOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/stackview.qml b/tests/auto/quickcontrols2/accessibility/data/override/stackview.qml
new file mode 100644
index 0000000000..dd3b8342f7
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/stackview.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+StackView {
+ Accessible.name: "StackViewOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/swipedelegate.qml b/tests/auto/quickcontrols2/accessibility/data/override/swipedelegate.qml
new file mode 100644
index 0000000000..bc97fc93bc
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/swipedelegate.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+SwipeDelegate {
+ text: "SwipeDelegate"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/swipeview.qml b/tests/auto/quickcontrols2/accessibility/data/override/swipeview.qml
new file mode 100644
index 0000000000..809b536210
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/swipeview.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+SwipeView {
+ Accessible.name: "SwipeViewOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/switch.qml b/tests/auto/quickcontrols2/accessibility/data/override/switch.qml
new file mode 100644
index 0000000000..18e3eb70ce
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/switch.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+Switch {
+ text: "Switch"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/switchdelegate.qml b/tests/auto/quickcontrols2/accessibility/data/override/switchdelegate.qml
new file mode 100644
index 0000000000..0c66f9e9e9
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/switchdelegate.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+SwitchDelegate {
+ text: "SwitchDelegate"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/tabbar.qml b/tests/auto/quickcontrols2/accessibility/data/override/tabbar.qml
new file mode 100644
index 0000000000..a959f68cae
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/tabbar.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+TabBar {
+ Accessible.name: "TabBarOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/tabbutton.qml b/tests/auto/quickcontrols2/accessibility/data/override/tabbutton.qml
new file mode 100644
index 0000000000..1530a2d1bc
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/tabbutton.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+TabButton {
+ text: "TabButton"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/textarea.qml b/tests/auto/quickcontrols2/accessibility/data/override/textarea.qml
new file mode 100644
index 0000000000..2b1422252f
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/textarea.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+TextArea {
+ text: "TextArea"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/textfield.qml b/tests/auto/quickcontrols2/accessibility/data/override/textfield.qml
new file mode 100644
index 0000000000..42098b6640
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/textfield.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+TextField {
+ text: "TextField"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/toolbar.qml b/tests/auto/quickcontrols2/accessibility/data/override/toolbar.qml
new file mode 100644
index 0000000000..97406f8ca5
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/toolbar.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+ToolBar {
+ Accessible.name: "ToolBarOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/toolbutton.qml b/tests/auto/quickcontrols2/accessibility/data/override/toolbutton.qml
new file mode 100644
index 0000000000..5ecb427baf
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/toolbutton.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+ToolButton {
+ text: "ToolButton"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/tooltip.qml b/tests/auto/quickcontrols2/accessibility/data/override/tooltip.qml
new file mode 100644
index 0000000000..1a4c3a994f
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/tooltip.qml
@@ -0,0 +1,7 @@
+import QtQuick
+import QtQuick.Controls
+
+ToolTip {
+ text: "ToolTip"
+ Accessible.name: text + "Override"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/data/override/tumbler.qml b/tests/auto/quickcontrols2/accessibility/data/override/tumbler.qml
new file mode 100644
index 0000000000..947f66cd70
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/data/override/tumbler.qml
@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+Tumbler {
+ Accessible.name: "TumblerOverride"
+}
diff --git a/tests/auto/quickcontrols2/accessibility/tst_accessibility.cpp b/tests/auto/quickcontrols2/accessibility/tst_accessibility.cpp
new file mode 100644
index 0000000000..f2cb8b60e6
--- /dev/null
+++ b/tests/auto/quickcontrols2/accessibility/tst_accessibility.cpp
@@ -0,0 +1,304 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPLv3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or later as published by the Free
+** Software Foundation and appearing in the file LICENSE.GPL included in
+** the packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 2.0 requirements will be
+** met: http://www.gnu.org/licenses/gpl-2.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtTest/qtest.h>
+#include <QtQml/qqmlengine.h>
+#include <QtQml/qqmlcomponent.h>
+#include <QtQml/qqmlcontext.h>
+#include <QtQuick/private/qquickitem_p.h>
+#include <QtQuickTemplates2/private/qquickpopup_p.h>
+#include "../shared/util.h"
+
+#if QT_CONFIG(accessibility)
+#include <QtGui/private/qguiapplication_p.h>
+#include <QtGui/qpa/qplatformintegration.h>
+#include <QtGui/qpa/qplatformaccessibility.h>
+#include <QtQuick/private/qquickaccessibleattached_p.h>
+#endif
+
+class tst_accessibility : public QQmlDataTest
+{
+ Q_OBJECT
+
+private slots:
+ void a11y_data();
+ void a11y();
+
+ void override_data();
+ void override();
+
+ void ordering();
+private:
+ QQmlEngine engine;
+};
+
+#if QT_CONFIG(accessibility)
+static QPlatformAccessibility *platformAccessibility()
+{
+ QPlatformIntegration *pfIntegration = QGuiApplicationPrivate::platformIntegration();
+ return pfIntegration ? pfIntegration->accessibility() : nullptr;
+}
+#endif
+
+QString adjustFileBaseName(const QString &fileBaseName)
+{
+#if !QT_CONFIG(accessibility)
+ if (fileBaseName == QLatin1Literal("dayofweekrow")
+ || fileBaseName == QLatin1Literal("monthgrid")
+ || fileBaseName == QLatin1Literal("weeknumbercolumn"))
+ return fileBaseName += QLatin1Literal("-2");
+#else
+ return fileBaseName;
+#endif
+}
+
+QQuickItem *findItem(QObject *object)
+{
+ QQuickItem *item = qobject_cast<QQuickItem *>(object);
+ if (!item) {
+ QQuickPopup *popup = qobject_cast<QQuickPopup *>(object);
+ if (popup)
+ item = popup->popupItem();
+ }
+ return item;
+}
+
+void tst_accessibility::a11y_data()
+{
+ QTest::addColumn<QString>("fileBaseName");
+ QTest::addColumn<QAccessible::Role>("role");
+ QTest::addColumn<QString>("text");
+
+ QTest::newRow("AbstractButton") << "abstractbutton" << QAccessible::Button << "AbstractButton";
+ QTest::newRow("BusyIndicator") << "busyindicator" << QAccessible::Indicator << "";
+ QTest::newRow("Button") << "button" << QAccessible::Button << "Button";
+ QTest::newRow("CheckBox") << "checkbox" << QAccessible::CheckBox << "CheckBox";
+ QTest::newRow("CheckDelegate") << "checkdelegate" << QAccessible::CheckBox << "CheckDelegate";
+ QTest::newRow("ComboBox") << "combobox" << QAccessible::ComboBox << "ComboBox";
+ QTest::newRow("Container") << "container" << QAccessible::NoRole << "";
+ QTest::newRow("Control") << "control" << QAccessible::NoRole << "";
+ QTest::newRow("Dial") << "dial" << QAccessible::Dial << "";
+ QTest::newRow("Dialog") << "dialog" << QAccessible::Dialog << "Dialog";
+ QTest::newRow("Drawer") << "drawer" << QAccessible::Dialog << "";
+ QTest::newRow("Frame") << "frame" << QAccessible::Border << "";
+ QTest::newRow("GroupBox") << "groupbox" << QAccessible::Grouping << "GroupBox";
+ QTest::newRow("ItemDelegate") << "itemdelegate" << QAccessible::ListItem << "ItemDelegate";
+ QTest::newRow("Label") << "label" << QAccessible::StaticText << "Label";
+ QTest::newRow("Menu") << "menu" << QAccessible::PopupMenu << "";
+ QTest::newRow("MenuItem") << "menuitem" << QAccessible::MenuItem << "MenuItem";
+ QTest::newRow("Page") << "page" << QAccessible::PageTab << "Page";
+ QTest::newRow("PageIndicator") << "pageindicator" << QAccessible::Indicator << "";
+ QTest::newRow("Pane") << "pane" << QAccessible::Pane << "";
+ QTest::newRow("Popup") << "popup" << QAccessible::Dialog << "";
+ QTest::newRow("ProgressBar") << "progressbar" << QAccessible::ProgressBar << "";
+ QTest::newRow("RadioButton") << "radiobutton" << QAccessible::RadioButton << "RadioButton";
+ QTest::newRow("RadioDelegate") << "radiodelegate" << QAccessible::RadioButton << "RadioDelegate";
+ QTest::newRow("RangeSlider") << "rangeslider" << QAccessible::Slider << "";
+ QTest::newRow("RoundButton") << "roundbutton" << QAccessible::Button << "RoundButton";
+ QTest::newRow("ScrollBar") << "scrollbar" << QAccessible::ScrollBar << "";
+ QTest::newRow("ScrollIndicator") << "scrollindicator" << QAccessible::Indicator << "";
+ QTest::newRow("Slider") << "slider" << QAccessible::Slider << "";
+ QTest::newRow("SpinBox") << "spinbox" << QAccessible::SpinBox << "";
+ QTest::newRow("StackView") << "stackview" << QAccessible::LayeredPane << "";
+ QTest::newRow("SwipeDelegate") << "swipedelegate" << QAccessible::ListItem << "SwipeDelegate";
+ QTest::newRow("SwipeView") << "swipeview" << QAccessible::PageTabList << "";
+ QTest::newRow("Switch") << "switch" << QAccessible::CheckBox << "Switch";
+ QTest::newRow("SwitchDelegate") << "switchdelegate" << QAccessible::ListItem << "SwitchDelegate";
+ QTest::newRow("TabBar") << "tabbar" << QAccessible::PageTabList << "";
+ QTest::newRow("TabButton") << "tabbutton" << QAccessible::PageTab << "TabButton";
+ QTest::newRow("TextArea") << "textarea" << QAccessible::EditableText << "";
+ QTest::newRow("TextField") << "textfield" << QAccessible::EditableText << "";
+ QTest::newRow("ToolBar") << "toolbar" << QAccessible::ToolBar << "";
+ QTest::newRow("ToolButton") << "toolbutton" << QAccessible::Button << "ToolButton";
+ QTest::newRow("ToolTip") << "tooltip" << QAccessible::ToolTip << "ToolTip";
+ QTest::newRow("Tumbler") << "tumbler" << QAccessible::NoRole << ""; // TODO
+}
+
+void tst_accessibility::a11y()
+{
+ QFETCH(QString, fileBaseName);
+ QFETCH(QAccessible::Role, role);
+ QFETCH(QString, text);
+
+ QQmlComponent component(&engine);
+ component.loadUrl(testFileUrl("defaults/" + adjustFileBaseName(fileBaseName) + ".qml"));
+
+ QScopedPointer<QObject> object(component.create());
+ QVERIFY2(!object.isNull(), qPrintable(component.errorString()));
+
+ QQuickItem *item = findItem(object.data());
+ QVERIFY(item);
+
+#if QT_CONFIG(accessibility)
+ QQuickAccessibleAttached *attached = QQuickAccessibleAttached::attachedProperties(item);
+ if (QAccessible::isActive()) {
+ QVERIFY(attached);
+ } else {
+ QVERIFY(!attached);
+ QPlatformAccessibility *accessibility = platformAccessibility();
+ if (!accessibility)
+ QSKIP("No QPlatformAccessibility available.");
+ accessibility->setActive(true);
+ attached = QQuickAccessibleAttached::attachedProperties(item);
+ }
+ QVERIFY(attached);
+ QCOMPARE(attached->role(), role);
+ QCOMPARE(attached->name(), text);
+#else
+ Q_UNUSED(role);
+ Q_UNUSED(text);
+#endif
+}
+
+void tst_accessibility::override_data()
+{
+ QTest::addColumn<QAccessible::Role>("role");
+
+ QTest::newRow("AbstractButton") << QAccessible::Button;
+ QTest::newRow("BusyIndicator") << QAccessible::Indicator;
+ QTest::newRow("Button") << QAccessible::Button;
+ QTest::newRow("CheckBox") << QAccessible::CheckBox;
+ QTest::newRow("CheckDelegate") << QAccessible::CheckBox;
+ QTest::newRow("ComboBox") << QAccessible::ComboBox;
+ QTest::newRow("Container") << QAccessible::NoRole;
+ QTest::newRow("Control") << QAccessible::NoRole;
+ QTest::newRow("Dial") << QAccessible::Dial;
+ QTest::newRow("Dialog") << QAccessible::Dialog;
+ QTest::newRow("Drawer") << QAccessible::Dialog;
+ QTest::newRow("Frame") << QAccessible::Border;
+ QTest::newRow("GroupBox") << QAccessible::Grouping;
+ QTest::newRow("ItemDelegate") << QAccessible::ListItem;
+ QTest::newRow("Label") << QAccessible::StaticText;
+ QTest::newRow("Menu") << QAccessible::PopupMenu;
+ QTest::newRow("MenuItem") << QAccessible::MenuItem;
+ QTest::newRow("Page") << QAccessible::PageTab;
+ QTest::newRow("PageIndicator") << QAccessible::Indicator;
+ QTest::newRow("Pane") << QAccessible::Pane;
+ QTest::newRow("Popup") << QAccessible::Dialog;
+ QTest::newRow("ProgressBar") << QAccessible::ProgressBar;
+ QTest::newRow("RadioButton") << QAccessible::RadioButton;
+ QTest::newRow("RadioDelegate") << QAccessible::RadioButton;
+ QTest::newRow("RangeSlider") << QAccessible::Slider;
+ QTest::newRow("RoundButton") << QAccessible::Button;
+ QTest::newRow("ScrollBar") << QAccessible::ScrollBar;
+ QTest::newRow("ScrollIndicator") << QAccessible::Indicator;
+ QTest::newRow("Slider") << QAccessible::Slider;
+ QTest::newRow("SpinBox") << QAccessible::SpinBox;
+ QTest::newRow("StackView") << QAccessible::LayeredPane;
+ QTest::newRow("SwipeDelegate") << QAccessible::ListItem;
+ QTest::newRow("SwipeView") << QAccessible::PageTabList;
+ QTest::newRow("Switch") << QAccessible::CheckBox;
+ QTest::newRow("SwitchDelegate") << QAccessible::ListItem;
+ QTest::newRow("TabBar") << QAccessible::PageTabList;
+ QTest::newRow("TabButton") << QAccessible::PageTab;
+ QTest::newRow("TextArea") << QAccessible::EditableText;
+ QTest::newRow("TextField") << QAccessible::EditableText;
+ QTest::newRow("ToolBar") << QAccessible::ToolBar;
+ QTest::newRow("ToolButton") << QAccessible::Button;
+ QTest::newRow("ToolTip") << QAccessible::ToolTip;
+ QTest::newRow("Tumbler") << QAccessible::NoRole;
+}
+
+void tst_accessibility::override()
+{
+ QFETCH(QAccessible::Role, role);
+
+ const QString name = QTest::currentDataTag();
+ const QString fileBaseName = name.toLower();
+
+ QQmlComponent component(&engine);
+ component.loadUrl(testFileUrl("override/" + adjustFileBaseName(fileBaseName) + ".qml"));
+
+ QScopedPointer<QObject> object(component.create());
+ QVERIFY2(!object.isNull(), qPrintable(component.errorString()));
+
+ QQuickItem *item = findItem(object.data());
+ QVERIFY(item);
+
+#if QT_CONFIG(accessibility)
+ QQuickAccessibleAttached *attached = QQuickAccessibleAttached::attachedProperties(item);
+ if (QAccessible::isActive()) {
+ QVERIFY(attached);
+ } else {
+ QPlatformAccessibility *accessibility = platformAccessibility();
+ if (!accessibility)
+ QSKIP("No QPlatformAccessibility available.");
+ accessibility->setActive(true);
+ if (!attached)
+ attached = QQuickAccessibleAttached::attachedProperties(item);
+ }
+
+ QVERIFY(attached);
+ QCOMPARE(attached->role(), role);
+ QCOMPARE(attached->name(), name + "Override");
+#else
+ Q_UNUSED(role);
+ Q_UNUSED(text);
+#endif
+}
+template <typename Predicate>
+void a11yDescendants(QAccessibleInterface *iface, Predicate pred)
+{
+ for (int i = 0; i < iface->childCount(); ++i) {
+ if (QAccessibleInterface *child = iface->child(i)) {
+ pred(child);
+ a11yDescendants(child, pred);
+ }
+ }
+}
+
+void tst_accessibility::ordering()
+{
+ QQmlComponent component(&engine);
+ component.loadUrl(testFileUrl("ordering/page.qml"));
+
+ QScopedPointer<QObject> object(component.create());
+ QVERIFY2(!object.isNull(), qPrintable(component.errorString()));
+
+#if QT_CONFIG(accessibility)
+ QQuickItem *item = findItem(object.data());
+ QVERIFY(item);
+ QAccessibleInterface *iface = QAccessible::queryAccessibleInterface(item);
+ QVERIFY(iface);
+ QStringList strings;
+ a11yDescendants(iface, [&](QAccessibleInterface *iface) {strings << iface->text(QAccessible::Name);});
+ QCOMPARE(strings.join(QLatin1String(", ")), "Header, Content item 1, Content item 2, Footer");
+#endif
+}
+
+QTEST_MAIN(tst_accessibility)
+
+#include "tst_accessibility.moc"