diff --git a/pkg/rancher-components/src/components/Form/Checkbox/Checkbox.vue b/pkg/rancher-components/src/components/Form/Checkbox/Checkbox.vue index 9bf64f0ad1e..03377a7d0e5 100644 --- a/pkg/rancher-components/src/components/Form/Checkbox/Checkbox.vue +++ b/pkg/rancher-components/src/components/Form/Checkbox/Checkbox.vue @@ -254,13 +254,15 @@ export default defineComponent({ @@ -319,6 +321,11 @@ $fontColor: var(--input-label); .checkbox-info { line-height: normal; margin-left: 2px; + + &:focus-visible { + @include focus-outline; + outline-offset: 2px; + } } .checkbox-custom { diff --git a/shell/assets/translations/en-us.yaml b/shell/assets/translations/en-us.yaml index 758c7a19d37..52f3328706c 100644 --- a/shell/assets/translations/en-us.yaml +++ b/shell/assets/translations/en-us.yaml @@ -9,6 +9,7 @@ generic: back: Back cancel: Cancel confirm: Confirm + colorPicker: Color picker clear: Clear clearAll: Clear All close: Close diff --git a/shell/components/form/ColorInput.vue b/shell/components/form/ColorInput.vue index eccbeaba752..3fc51e47b01 100644 --- a/shell/components/form/ColorInput.vue +++ b/shell/components/form/ColorInput.vue @@ -73,7 +73,21 @@ export default { mounted() { // Ensures that if the default value is used, the model is updated with it this.$emit('update:value', this.inputValue); - } + }, + + methods: { + handleKeyups(ev) { + if (this.isDisabled) { + return ''; + } + + return this.$refs.input.click(ev); + } + }, + + // according to https://www.w3.org/TR/html-aria/ + // input type="color" has no applicable role + // and only aria-label and aria-disabled }; @@ -82,6 +96,9 @@ export default { class="color-input" :class="{[mode]:mode, disabled: isDisabled}" :data-testid="componentTestid + '-color-input'" + :tabindex="isDisabled ? -1 : 0" + @keyup.enter.stop="handleKeyups($event)" + @keyup.space.stop="handleKeyups($event)" >