diff options
-rw-r--r-- | src/plugins/accessible/quick/qaccessiblequickitem.cpp | 5 | ||||
-rw-r--r-- | src/quick/items/qquickitem.cpp | 6 |
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 |