aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/accessible/quick/qaccessiblequickitem.cpp5
-rw-r--r--src/quick/items/qquickitem.cpp6
2 files changed, 9 insertions, 2 deletions
diff --git a/src/plugins/accessible/quick/qaccessiblequickitem.cpp b/src/plugins/accessible/quick/qaccessiblequickitem.cpp
index 9e8c2a6020..3521d4f98e 100644
--- a/src/plugins/accessible/quick/qaccessiblequickitem.cpp
+++ b/src/plugins/accessible/quick/qaccessiblequickitem.cpp
@@ -185,11 +185,14 @@ QAccessible::State QAccessibleQuickItem::state() const
case QAccessible::PageTab:
case QAccessible::EditableText:
case QAccessible::SpinBox:
- case QAccessible::ComboBox:
case QAccessible::Terminal:
case QAccessible::ScrollBar:
state.focusable = true;
break;
+ case QAccessible::ComboBox:
+ state.focusable = true;
+ state.editable = item()->property("editable").toBool();
+ break;
default:
break;
}
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp
index c308a7230a..5739d6874e 100644
--- a/src/quick/items/qquickitem.cpp
+++ b/src/quick/items/qquickitem.cpp
@@ -2067,8 +2067,12 @@ bool QQuickItemPrivate::canAcceptTabFocus(QQuickItem *item)
if (role == QAccessible::EditableText
|| role == QAccessible::Table
|| role == QAccessible::List
- || role == QAccessible::SpinBox)
+ || role == QAccessible::SpinBox) {
result = true;
+ } else if (role == QAccessible::ComboBox) {
+ QAccessibleInterface *iface = QAccessible::queryAccessibleInterface(item);
+ return iface->state().editable;
+ }
}
#endif