diff options
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/accessible/quick/qaccessiblequickitem.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/plugins/accessible/quick/qaccessiblequickitem.cpp b/src/plugins/accessible/quick/qaccessiblequickitem.cpp index d0c028b272..9e8c2a6020 100644 --- a/src/plugins/accessible/quick/qaccessiblequickitem.cpp +++ b/src/plugins/accessible/quick/qaccessiblequickitem.cpp @@ -154,8 +154,13 @@ QAccessible::State QAccessibleQuickItem::state() const { QAccessible::State state; - if (item()->hasActiveFocus()) + if (item()->hasActiveFocus()) { + state.focusable = true; state.focused = true; + } + + if (item()->activeFocusOnTab()) + state.focusable = true; if (!item()->window() || !item()->window()->isVisible() ||!item()->isVisible() || qFuzzyIsNull(item()->opacity())) state.invisible = true; @@ -163,6 +168,7 @@ QAccessible::State QAccessibleQuickItem::state() const QAccessible::Role r = role(); switch (r) { case QAccessible::Button: { + state.focusable = true; QVariant checkable = item()->property("checkable"); if (!checkable.toBool()) break; @@ -170,10 +176,20 @@ QAccessible::State QAccessibleQuickItem::state() const } case QAccessible::CheckBox: case QAccessible::RadioButton: { + state.focusable = true; state.checkable = true; state.checked = item()->property("checked").toBool(); break; } + case QAccessible::MenuItem: + case QAccessible::PageTab: + case QAccessible::EditableText: + case QAccessible::SpinBox: + case QAccessible::ComboBox: + case QAccessible::Terminal: + case QAccessible::ScrollBar: + state.focusable = true; + break; default: break; } |