From 0207ab30fffe152804e4a288a0f2e01d224ec4da Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Sat, 10 Dec 2022 13:12:12 +0100 Subject: dev-qt/qtdeclarative: a11y: track item enabled state Signed-off-by: Andreas Sturmlechner --- ...tive-5.15.7-a11y-track-item-enabled-state.patch | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 dev-qt/qtdeclarative/files/qtdeclarative-5.15.7-a11y-track-item-enabled-state.patch (limited to 'dev-qt/qtdeclarative/files') diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-5.15.7-a11y-track-item-enabled-state.patch b/dev-qt/qtdeclarative/files/qtdeclarative-5.15.7-a11y-track-item-enabled-state.patch new file mode 100644 index 000000000000..e41838a34e30 --- /dev/null +++ b/dev-qt/qtdeclarative/files/qtdeclarative-5.15.7-a11y-track-item-enabled-state.patch @@ -0,0 +1,57 @@ +From f697f2e1a4c5f60f3f09ae7d2e3d3dcd20854aef Mon Sep 17 00:00:00 2001 +From: Harald Sitter +Date: Mon, 28 Nov 2022 14:59:33 +0100 +Subject: [PATCH 1/2] a11y: track item enabled state +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +disabled items are neither enabled nor focusable + +Change-Id: I4f286c7b85605d5ad6fa787d1f5cfcce1297d268 +Reviewed-by: Volker Hilsheimer +Reviewed-by: Jan Arve Sæther +(cherry picked from commit 20fd2902a6d7bdb4a3306005d2718ca5a8fef96d) +--- + src/quick/accessible/qaccessiblequickitem.cpp | 4 ++++ + src/quick/items/qquickitem.cpp | 9 +++++++++ + 2 files changed, 13 insertions(+) + +diff --git a/src/quick/accessible/qaccessiblequickitem.cpp b/src/quick/accessible/qaccessiblequickitem.cpp +index eb3df4d4cd..78e2ab302c 100644 +--- a/src/quick/accessible/qaccessiblequickitem.cpp ++++ b/src/quick/accessible/qaccessiblequickitem.cpp +@@ -210,6 +210,10 @@ QAccessible::State QAccessibleQuickItem::state() const + if (role() == QAccessible::EditableText) + if (auto ti = qobject_cast(item())) + state.passwordEdit = ti->echoMode() != QQuickTextInput::Normal; ++ if (!item()->isEnabled()) { ++ state.focusable = false; ++ state.disabled = true; ++ } + return state; + } + +diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp +index 4cf73ff73d..dec0ae19ae 100644 +--- a/src/quick/items/qquickitem.cpp ++++ b/src/quick/items/qquickitem.cpp +@@ -6174,6 +6174,15 @@ void QQuickItemPrivate::setEffectiveEnableRecur(QQuickItem *scope, bool newEffec + } + + itemChange(QQuickItem::ItemEnabledHasChanged, effectiveEnable); ++#if QT_CONFIG(accessibility) ++ if (isAccessible) { ++ QAccessible::State changedState; ++ changedState.disabled = true; ++ changedState.focusable = true; ++ QAccessibleStateChangeEvent ev(q, changedState); ++ QAccessible::updateAccessibility(&ev); ++ } ++#endif + emit q->enabledChanged(); + } + +-- +2.38.1 + -- cgit v1.2.3-65-gdbad