Merge branch 'tusooa/checkbox-accessibility' into 'develop'

Make checkbox settings accessible

See merge request pleroma/pleroma-fe!1778
This commit is contained in:
HJ 2023-02-10 09:48:55 +00:00
commit 06551d447c
4 changed files with 20 additions and 18 deletions

View File

@ -580,8 +580,6 @@ textarea,
} }
&[type="checkbox"] { &[type="checkbox"] {
display: none;
&:checked + label::before { &:checked + label::before {
color: $fallback--text; color: $fallback--text;
color: var(--inputText, $fallback--text); color: var(--inputText, $fallback--text);
@ -887,3 +885,15 @@ option {
opacity: 0; opacity: 0;
} }
/* stylelint-enable no-descending-specificity */ /* stylelint-enable no-descending-specificity */
.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;
}

View File

@ -5,12 +5,16 @@
> >
<input <input
type="checkbox" type="checkbox"
class="visible-for-screenreader-only"
:disabled="disabled" :disabled="disabled"
:checked="modelValue" :checked="modelValue"
:indeterminate="indeterminate" :indeterminate="indeterminate"
@change="$emit('update:modelValue', $event.target.checked)" @change="$emit('update:modelValue', $event.target.checked)"
> >
<i class="checkbox-indicator" /> <i
class="checkbox-indicator"
:aria-hidden="true"
/>
<span <span
v-if="!!$slots.default" v-if="!!$slots.default"
class="label" class="label"
@ -33,6 +37,7 @@ export default {
<style lang="scss"> <style lang="scss">
@import "../../variables"; @import "../../variables";
@import "../../mixins";
.checkbox { .checkbox {
position: relative; position: relative;
@ -81,8 +86,6 @@ export default {
} }
input[type="checkbox"] { input[type="checkbox"] {
display: none;
&:checked + .checkbox-indicator::before { &:checked + .checkbox-indicator::before {
color: $fallback--text; color: $fallback--text;
color: var(--inputText, $fallback--text); color: var(--inputText, $fallback--text);

View File

@ -1,6 +1,6 @@
<template> <template>
<div <div
class="screen-reader-text" class="visible-for-screenreader-only"
:aria-live="ariaLive" :aria-live="ariaLive"
> >
{{ currentText }} {{ currentText }}
@ -8,14 +8,3 @@
</template> </template>
<script src="./screen_reader_notice.js"></script> <script src="./screen_reader_notice.js"></script>
<style lang="scss">
.screen-reader-text {
display: block;
width: 1px;
height: 1px;
margin: -1px;
overflow: hidden;
visibility: visible;
}
</style>

View File

@ -5,12 +5,12 @@
> >
<Popover <Popover
trigger="hover" trigger="hover"
:trigger-attrs="{ 'aria-label': $t('settings.setting_changed') }"
> >
<template #trigger> <template #trigger>
&nbsp; &nbsp;
<FAIcon <FAIcon
icon="wrench" icon="wrench"
:aria-label="$t('settings.setting_changed')"
/> />
</template> </template>
<template #content> <template #content>