From f0c617fd4ff5c28f385d8ccaca1f11d3db0692da Mon Sep 17 00:00:00 2001 From: Laurent Montel Date: Wed, 16 Sep 2026 15:15:00 +0200 Subject: [PATCH] compiler: Add missing accessible-enabled property and don't activate accessible-action-default when disabled --- internal/compiler/widgets/common/datepicker_base.slint | 3 ++- internal/compiler/widgets/common/internal-components.slint | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/internal/compiler/widgets/common/datepicker_base.slint b/internal/compiler/widgets/common/datepicker_base.slint index 407f3102a79..a579c7360ca 100644 --- a/internal/compiler/widgets/common/datepicker_base.slint +++ b/internal/compiler/widgets/common/datepicker_base.slint @@ -59,8 +59,9 @@ component CalendarDelegate { accessible-role: button; accessible-checkable: true; accessible-checked: root.selected; + accessible-enabled: root.enabled; accessible-label: root.text; - accessible-action-default => { touch-area.clicked(); } + accessible-action-default => { if (root.enabled) { touch-area.clicked(); } } touch-area := TouchArea { enabled: root.enabled; diff --git a/internal/compiler/widgets/common/internal-components.slint b/internal/compiler/widgets/common/internal-components.slint index 484b58efc53..9ef465ada18 100644 --- a/internal/compiler/widgets/common/internal-components.slint +++ b/internal/compiler/widgets/common/internal-components.slint @@ -63,7 +63,8 @@ export component IconButton { min-width: max(48px, content-layer.min-width); min-height: max(48px, content-layer.min-height); accessible-role: button; - accessible-action-default => { touch-area.clicked(); } + accessible-enabled: root.enabled; + accessible-action-default => { if (root.enabled) { touch-area.clicked(); } } forward-focus: touch-area; touch-area := FocusTouchArea { @@ -121,8 +122,9 @@ export component SelectionButton { accessible-label: root.text; accessible-role: button; accessible-checkable: true; + accessible-enabled: root.enabled; accessible-checked: root.checked; - accessible-action-default => { touch-area.clicked(); } + accessible-action-default => { if (root.enabled) { touch-area.clicked(); } } forward-focus: touch-area; touch-area := FocusTouchArea {