summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorAndré de la Rocha <andre.rocha@qt.io>2022-05-25 14:56:02 +0200
committerAndré de la Rocha <andre.rocha@qt.io>2022-06-22 00:08:34 +0200
commitecd41111a3a7100f20e72b811b1010bc45e94127 (patch)
tree2d948a84c96c2c099aa32f8925b2a12a6f19e251 /src/widgets
parentb9b5734559774d7fe571b94fda7896e4806707f4 (diff)
Add ExpandCollapse UI Automation pattern to combo boxes
Also add support to expandable/expanded states to QAccessibleComboBox in widgets. QtDeclarative will still require updates so that QML combo boxes report the expanded/collapsed state and react to UIA actions. Task-number: QTBUG-103591 Pick-to: 6.4 6.3 Change-Id: Iff8ba5e3143778ce17998dbe7f5f76cae658dc19 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/accessible/complexwidgets.cpp10
-rw-r--r--src/widgets/accessible/complexwidgets_p.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/src/widgets/accessible/complexwidgets.cpp b/src/widgets/accessible/complexwidgets.cpp
index 6a3dedc162..3d5154a30f 100644
--- a/src/widgets/accessible/complexwidgets.cpp
+++ b/src/widgets/accessible/complexwidgets.cpp
@@ -350,6 +350,16 @@ QString QAccessibleComboBox::text(QAccessible::Text t) const
return str;
}
+QAccessible::State QAccessibleComboBox::state() const
+{
+ QAccessible::State s = QAccessibleWidget::state();
+
+ s.expandable = true;
+ s.expanded = isValid() && comboBox()->view()->isVisible();
+
+ return s;
+}
+
QStringList QAccessibleComboBox::actionNames() const
{
return QStringList() << showMenuAction() << pressAction();
diff --git a/src/widgets/accessible/complexwidgets_p.h b/src/widgets/accessible/complexwidgets_p.h
index 65d995d933..1fd5d5aeeb 100644
--- a/src/widgets/accessible/complexwidgets_p.h
+++ b/src/widgets/accessible/complexwidgets_p.h
@@ -102,6 +102,8 @@ public:
QString text(QAccessible::Text t) const override;
+ QAccessible::State state() const override;
+
// QAccessibleActionInterface
QStringList actionNames() const override;
QString localizedActionDescription(const QString &actionName) const override;