From b69982cb56f4d1cbe1ef3f5d13e375a62fabda6b Mon Sep 17 00:00:00 2001 From: glebbo <75304736+glebbo-dev@users.noreply.github.com> Date: Thu, 12 Dec 2024 06:49:35 +0100 Subject: [PATCH 1/2] Fix: removed attribute disabled from host element to avoid accessibility issues --- packages/components/src/components/button/button.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/components/src/components/button/button.tsx b/packages/components/src/components/button/button.tsx index a0e3f6e4eb..c8b0b569bb 100644 --- a/packages/components/src/components/button/button.tsx +++ b/packages/components/src/components/button/button.tsx @@ -201,6 +201,12 @@ export class Button { this.disabled && 'disabled' ); + if (!this.disabled) { + this.hostElement.removeAttribute('disabled'); + } else { + this.hostElement.setAttribute('disabled', 'true'); + } + return ( {this.styles && } From 5685b2565f503153a64ff8380a788b9eb17bcfd3 Mon Sep 17 00:00:00 2001 From: glebbo <75304736+glebbo-dev@users.noreply.github.com> Date: Tue, 21 Jan 2025 14:41:47 +0100 Subject: [PATCH 2/2] fix(button): set reflect attribute on disabled property and removed javascript code --- packages/components/src/components/button/button.tsx | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/components/src/components/button/button.tsx b/packages/components/src/components/button/button.tsx index c8b0b569bb..dce8c505d1 100644 --- a/packages/components/src/components/button/button.tsx +++ b/packages/components/src/components/button/button.tsx @@ -40,7 +40,7 @@ export class Button { /** (optional) Button variant */ @Prop() variant?: string = 'primary'; /** (optional) If `true`, the button is disabled */ - @Prop() disabled?: boolean = false; + @Prop({ reflect: true }) disabled?: boolean = false; /** (optional) Button type */ @Prop() type?: 'reset' | 'submit' | 'button'; /** (optional) The name of the button, submitted as a pair with the button's `value` as part of the form data */ @@ -201,12 +201,6 @@ export class Button { this.disabled && 'disabled' ); - if (!this.disabled) { - this.hostElement.removeAttribute('disabled'); - } else { - this.hostElement.setAttribute('disabled', 'true'); - } - return ( {this.styles && }