diff --git a/src/_mixins.scss b/src/_mixins.scss index e99fe26f86..677bc21087 100644 --- a/src/_mixins.scss +++ b/src/_mixins.scss @@ -16,3 +16,15 @@ @content; } } + +@mixin visible-for-screenreader-only { + display: block; + width: 1px; + height: 1px; + margin: -1px; + overflow: hidden; + visibility: visible; + clip: rect(0 0 0 0); + padding: 0; + position: absolute; +} diff --git a/src/components/checkbox/checkbox.vue b/src/components/checkbox/checkbox.vue index 7139d4fc41..ac7acd5215 100644 --- a/src/components/checkbox/checkbox.vue +++ b/src/components/checkbox/checkbox.vue @@ -10,7 +10,10 @@ :indeterminate="indeterminate" @change="$emit('update:modelValue', $event.target.checked)" > - + @import "../../variables"; +@import "../../mixins"; .checkbox { position: relative; @@ -81,7 +85,7 @@ export default { } input[type="checkbox"] { - display: none; + @include visible-for-screenreader-only; &:checked + .checkbox-indicator::before { color: $fallback--text; diff --git a/src/components/screen_reader_notice/screen_reader_notice.vue b/src/components/screen_reader_notice/screen_reader_notice.vue index 5098b94fbd..1cd908ae0d 100644 --- a/src/components/screen_reader_notice/screen_reader_notice.vue +++ b/src/components/screen_reader_notice/screen_reader_notice.vue @@ -10,12 +10,9 @@