aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortusooa <tusooa@kazv.moe>2023-01-28 22:10:06 -0500
committertusooa <tusooa@kazv.moe>2023-01-28 22:10:06 -0500
commit6158b8667e6c76c5a5a09b480b82d6f04b8e4885 (patch)
tree81b23c3bfc3935220a8bd08f716433a3c0a21d62
parentf229c4a106b574e8a3de38fe06ef84dc11493fad (diff)
Make checkbox settings accessible
-rw-r--r--src/_mixins.scss12
-rw-r--r--src/components/checkbox/checkbox.vue8
-rw-r--r--src/components/screen_reader_notice/screen_reader_notice.vue9
3 files changed, 21 insertions, 8 deletions
diff --git a/src/_mixins.scss b/src/_mixins.scss
index e99fe26f..677bc210 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 7139d4fc..ac7acd52 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)"
>
- <i class="checkbox-indicator" />
+ <i
+ class="checkbox-indicator"
+ :aria-hidden="true"
+ />
<span
v-if="!!$slots.default"
class="label"
@@ -33,6 +36,7 @@ export default {
<style lang="scss">
@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 5098b94f..1cd908ae 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 @@
<script src="./screen_reader_notice.js"></script>
<style lang="scss">
+@import "../../mixins";
+
.screen-reader-text {
- display: block;
- width: 1px;
- height: 1px;
- margin: -1px;
- overflow: hidden;
- visibility: visible;
+ @include visible-for-screenreader-only;
}
</style>