chore(a11y): improve component roles

This commit is contained in:
liyasthomas
2022-03-01 12:11:53 +05:30
parent b3d0d4d86b
commit 9bd55b6db5
39 changed files with 498 additions and 420 deletions

View File

@@ -15,18 +15,20 @@
/>
</span>
</template>
<NuxtLink
v-for="(locale, index) in $i18n.locales"
:key="`locale-${index}`"
:to="switchLocalePath(locale.code)"
@click="language.tippy().hide()"
>
<SmartItem
:label="locale.name"
:active-info-icon="$i18n.locale === locale.code"
:info-icon="$i18n.locale === locale.code ? 'done' : null"
/>
</NuxtLink>
<div class="flex flex-col" role="menu">
<NuxtLink
v-for="(locale, index) in $i18n.locales"
:key="`locale-${index}`"
:to="switchLocalePath(locale.code)"
@click="language.tippy().hide()"
>
<SmartItem
:label="locale.name"
:active-info-icon="$i18n.locale === locale.code"
:info-icon="$i18n.locale === locale.code ? 'done' : null"
/>
</NuxtLink>
</div>
</tippy>
</span>
</template>

View File

@@ -1,6 +1,8 @@
<template>
<div
class="inline-flex items-center justify-center cursor-pointer transition flex-nowrap group hover:text-secondaryDark"
role="checkbox"
:aria-checked="on"
@click="$emit('change')"
>
<input

View File

@@ -3,6 +3,8 @@
v-if="show"
dialog
:title="$t('modal.confirm')"
role="dialog"
aria-modal="true"
@close="hideModal"
>
<template #body>

View File

@@ -15,21 +15,23 @@
/>
</span>
</template>
<SmartItem
v-for="(size, index) in fontSizes"
:key="`size-${index}`"
:label="`${getFontSizeName(size)}`"
:icon="
size === active ? 'radio_button_checked' : 'radio_button_unchecked'
"
:active="size === active"
@click.native="
() => {
setActiveFont(size)
fontSize.tippy().hide()
}
"
/>
<div class="flex flex-col" role="menu">
<SmartItem
v-for="(size, index) in fontSizes"
:key="`size-${index}`"
:label="`${getFontSizeName(size)}`"
:icon="
size === active ? 'radio_button_checked' : 'radio_button_unchecked'
"
:active="size === active"
@click.native="
() => {
setActiveFont(size)
fontSize.tippy().hide()
}
"
/>
</div>
</tippy>
</span>
</template>

View File

@@ -16,6 +16,7 @@
]"
:disabled="disabled"
:tabindex="loading ? '-1' : '0'"
role="menuitem"
>
<span
v-if="!loading"

View File

@@ -28,6 +28,7 @@ const SmartLink = {
switch (tag) {
case ANCHOR_TAG:
attrs["aria-label"] = "Link"
attrs.role = "link"
// Map `to` prop to the correct attribute
attrs.href = context.props.to
@@ -56,6 +57,7 @@ const SmartLink = {
default:
attrs["aria-label"] = "Button"
attrs.role = "button"
break
}

View File

@@ -3,6 +3,8 @@
<div
ref="modal"
class="fixed inset-0 z-10 z-50 overflow-y-auto transition hide-scrollbar"
role="dialog"
aria-modal="true"
>
<div
class="flex items-end justify-center min-h-screen text-center sm:block"

View File

@@ -5,6 +5,8 @@
value === selected ? 'radio_button_checked' : 'radio_button_unchecked'
"
:active="value === selected"
role="radio"
:aria-checked="value === selected"
@click.native="$emit('change', value)"
/>
</template>

View File

@@ -19,6 +19,7 @@
class="tab"
:class="[{ active: tab.active }, { vertical: vertical }]"
:aria-label="tab.label"
role="button"
@keyup.enter="selectTab(tab)"
@click="selectTab(tab)"
>