diff --git a/components/autocomplete/AutoComplete.vue b/components/autocomplete/AutoComplete.vue index a3ff29818..4fe38bb8e 100755 --- a/components/autocomplete/AutoComplete.vue +++ b/components/autocomplete/AutoComplete.vue @@ -407,6 +407,11 @@ export default { }, 0); // For ScreenReaders }, onFocus(event) { + if (this.disabled) { + // For ScreenReaders + return; + } + if (!this.dirty && this.completeOnFocus) { this.search(event, event.target.value, 'focus'); } @@ -424,6 +429,12 @@ export default { this.$emit('blur', event); }, onKeyDown(event) { + if (this.disabled) { + event.preventDefault(); + + return; + } + switch (event.code) { case 'ArrowDown': this.onArrowDownKey(event); @@ -529,6 +540,11 @@ export default { } }, onMultipleContainerFocus() { + if (this.disabled) { + // For ScreenReaders + return; + } + this.focused = true; }, onMultipleContainerBlur() { @@ -536,6 +552,12 @@ export default { this.focused = false; }, onMultipleContainerKeyDown(event) { + if (this.disabled) { + event.preventDefault(); + + return; + } + switch (event.code) { case 'ArrowLeft': this.onArrowLeftKeyOnMultiple(event); diff --git a/components/cascadeselect/CascadeSelect.vue b/components/cascadeselect/CascadeSelect.vue index bbb397153..69189f6ea 100644 --- a/components/cascadeselect/CascadeSelect.vue +++ b/components/cascadeselect/CascadeSelect.vue @@ -278,6 +278,11 @@ export default { }, 0); // For ScreenReaders }, onFocus(event) { + if (this.disabled) { + // For ScreenReaders + return; + } + this.focused = true; this.$emit('focus', event); }, diff --git a/components/dropdown/Dropdown.vue b/components/dropdown/Dropdown.vue index e61a931ad..41d26fa26 100755 --- a/components/dropdown/Dropdown.vue +++ b/components/dropdown/Dropdown.vue @@ -397,6 +397,11 @@ export default { }, 0); // For ScreenReaders }, onFocus(event) { + if (this.disabled) { + // For ScreenReaders + return; + } + this.focused = true; this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1; this.overlayVisible && this.scrollInView(this.focusedOptionIndex); @@ -409,6 +414,12 @@ export default { this.$emit('blur', event); }, onKeyDown(event) { + if (this.disabled) { + event.preventDefault(); + + return; + } + const metaKey = event.metaKey || event.ctrlKey; switch (event.code) { diff --git a/components/multiselect/MultiSelect.vue b/components/multiselect/MultiSelect.vue index fa5fe5412..f69a79b49 100755 --- a/components/multiselect/MultiSelect.vue +++ b/components/multiselect/MultiSelect.vue @@ -412,6 +412,11 @@ export default { }, 0); // For ScreenReaders }, onFocus(event) { + if (this.disabled) { + // For ScreenReaders + return; + } + this.focused = true; this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1; this.overlayVisible && this.scrollInView(this.focusedOptionIndex); @@ -424,6 +429,12 @@ export default { this.$emit('blur', event); }, onKeyDown(event) { + if (this.disabled) { + event.preventDefault(); + + return; + } + const metaKey = event.metaKey || event.ctrlKey; switch (event.code) {