aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/accessible
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/accessible')
-rw-r--r--src/quick/accessible/qaccessiblequickitem.cpp22
-rw-r--r--src/quick/accessible/qaccessiblequickitem_p.h5
2 files changed, 27 insertions, 0 deletions
diff --git a/src/quick/accessible/qaccessiblequickitem.cpp b/src/quick/accessible/qaccessiblequickitem.cpp
index bc2b4de86a..c8b2d9ec3e 100644
--- a/src/quick/accessible/qaccessiblequickitem.cpp
+++ b/src/quick/accessible/qaccessiblequickitem.cpp
@@ -193,6 +193,28 @@ bool QAccessibleQuickItem::isAccessible() const
return item()->d_func()->isAccessible;
}
+QStringList QAccessibleQuickItem::actionNames() const
+{
+ QStringList actions = QQmlAccessible::actionNames();
+ if (state().focusable)
+ actions.append(QAccessibleActionInterface::setFocusAction());
+ return actions;
+}
+
+void QAccessibleQuickItem::doAction(const QString &actionName)
+{
+ if (actionName == QAccessibleActionInterface::setFocusAction()) {
+ item()->forceActiveFocus();
+ } else {
+ QQmlAccessible::doAction(actionName);
+ }
+}
+
+QStringList QAccessibleQuickItem::keyBindingsForAction(const QString &actionName) const
+{
+ return QQmlAccessible::keyBindingsForAction(actionName);
+}
+
QString QAccessibleQuickItem::text(QAccessible::Text textType) const
{
// handles generic behavior not specific to an item
diff --git a/src/quick/accessible/qaccessiblequickitem_p.h b/src/quick/accessible/qaccessiblequickitem_p.h
index 354e0bf9f7..d1facf2199 100644
--- a/src/quick/accessible/qaccessiblequickitem_p.h
+++ b/src/quick/accessible/qaccessiblequickitem_p.h
@@ -74,6 +74,11 @@ public:
bool isAccessible() const;
+ // Action Interface
+ QStringList actionNames() const;
+ void doAction(const QString &actionName);
+ QStringList keyBindingsForAction(const QString &actionName) const;
+
// Value Interface
QVariant currentValue() const;
void setCurrentValue(const QVariant &value);