Skip to content

Commit 72422b6

Browse files
committed
fix: update page in line with new elements, reword statement
1 parent 81f32e7 commit 72422b6

10 files changed

Lines changed: 203 additions & 237 deletions

File tree

app/pages/accessibility.vue

Lines changed: 44 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ defineOgImageComponent('Default', {
1414
})
1515
1616
const router = useRouter()
17+
const canGoBack = useCanGoBack()
1718
</script>
1819

1920
<template>
@@ -26,12 +27,12 @@ const router = useRouter()
2627
</h1>
2728
<button
2829
type="button"
29-
:title="$t('nav.back')"
30-
class="inline-flex items-center gap-2 font-mono text-sm text-fg-muted hover:text-fg transition-colors duration-200 rounded focus-visible:outline-accent/70 shrink-0"
30+
class="cursor-pointer inline-flex items-center gap-2 font-mono text-sm text-fg-muted hover:text-fg transition-colors duration-200 rounded shrink-0"
3131
@click="router.back()"
32+
v-if="canGoBack"
3233
>
3334
<span class="i-carbon:arrow-left rtl-flip w-4 h-4" aria-hidden="true" />
34-
<span class="hidden sm:inline">{{ $t('nav.back') }}</span>
35+
<span class="sr-only sm:not-sr-only">{{ $t('nav.back') }}</span>
3536
</button>
3637
</div>
3738
</header>
@@ -45,88 +46,75 @@ const router = useRouter()
4546
</i18n-t>
4647
</p>
4748

48-
<!-- Commitment to Accessibility -->
49+
<!-- Our Approach -->
4950
<div>
5051
<h2 class="text-lg text-fg-subtle uppercase tracking-wider mb-4">
51-
{{ $t('a11y.commitment.title') }}
52-
</h2>
53-
<p class="text-fg-muted leading-relaxed">
54-
{{ $t('a11y.commitment.p1') }}
55-
</p>
56-
</div>
57-
58-
<!-- Regulatory Framework and Compliance Status -->
59-
<div>
60-
<h2 class="text-lg text-fg-subtle uppercase tracking-wider mb-4">
61-
{{ $t('a11y.compliance.title') }}
52+
{{ $t('a11y.approach.title') }}
6253
</h2>
6354
<p class="text-fg-muted leading-relaxed mb-4">
64-
<i18n-t keypath="a11y.compliance.p1" tag="span" scope="global">
65-
<template #guidelines>
66-
<strong class="text-fg">{{ $t('a11y.compliance.guidelines') }}</strong>
67-
</template>
68-
<template #aa>
69-
<strong class="text-fg">{{ $t('a11y.compliance.aa') }}</strong>
55+
{{ $t('a11y.approach.p1') }}
56+
</p>
57+
<p class="text-fg-muted leading-relaxed">
58+
<i18n-t keypath="a11y.approach.p2" tag="span" scope="global">
59+
<template #about>
60+
<NuxtLink
61+
:to="{ name: 'about' }"
62+
class="text-fg-muted hover:text-fg underline decoration-fg-subtle/50 hover:decoration-fg"
63+
>
64+
{{ $t('a11y.approach.about_link') }}
65+
</NuxtLink>
7066
</template>
7167
</i18n-t>
7268
</p>
73-
<a
74-
:title="$t('a11y.compliance.wcag_alt')"
75-
href="https://www.w3.org/WAI/WCAG2AA-Conformance"
76-
target="_blank"
77-
rel="noopener noreferrer"
78-
class="inline-flex items-center gap-1 text-fg-muted hover:text-fg underline decoration-fg-subtle/50 hover:decoration-fg"
79-
>
80-
<img
81-
src="/wcag2.1AA.svg"
82-
width="88"
83-
height="32"
84-
:alt="$t('a11y.compliance.wcag_alt')"
85-
/>
86-
</a>
8769
</div>
8870

89-
<!-- Implementation Measures -->
71+
<!-- What We Do -->
9072
<div>
9173
<h2 class="text-lg text-fg-subtle uppercase tracking-wider mb-4">
92-
{{ $t('a11y.implementation.title') }}
74+
{{ $t('a11y.measures.title') }}
9375
</h2>
9476
<p class="text-fg-muted leading-relaxed mb-4">
95-
{{ $t('a11y.implementation.p1') }}
77+
{{ $t('a11y.measures.p1') }}
9678
</p>
97-
<ul class="space-y-3 text-fg-muted list-none p-0 mb-4">
98-
<li class="flex items-start gap-3">
99-
<span aria-hidden="true" class="text-fg-subtle shrink-0 mt-1">&mdash;</span>
100-
<span>{{ $t('a11y.implementation.li1') }}</span>
101-
</li>
79+
<ul class="space-y-3 text-fg-muted list-none p-0">
10280
<li class="flex items-start gap-3">
103-
<span aria-hidden="true" class="text-fg-subtle shrink-0 mt-1">&mdash;</span>
104-
<span>{{ $t('a11y.implementation.li2') }}</span>
81+
<span class="text-fg-subtle shrink-0">&mdash;</span>
82+
<span>{{ $t('a11y.measures.li1') }}</span>
10583
</li>
10684
<li class="flex items-start gap-3">
107-
<span class="text-fg-subtle shrink-0 mt-1">&mdash;</span>
108-
<span>{{ $t('a11y.implementation.li3') }}</span>
85+
<span class="text-fg-subtle shrink-0">&mdash;</span>
86+
<span>{{ $t('a11y.measures.li2') }}</span>
10987
</li>
11088
<li class="flex items-start gap-3">
111-
<span aria-hidden="true" class="text-fg-subtle shrink-0 mt-1">&mdash;</span>
112-
<span>{{ $t('a11y.implementation.li4') }}</span>
89+
<span class="text-fg-subtle shrink-0">&mdash;</span>
90+
<span>{{ $t('a11y.measures.li3') }}</span>
11391
</li>
11492
<li class="flex items-start gap-3">
115-
<span aria-hidden="true" class="text-fg-subtle shrink-0 mt-1">&mdash;</span>
116-
<span>{{ $t('a11y.implementation.li5') }}</span>
93+
<span class="text-fg-subtle shrink-0">&mdash;</span>
94+
<span>{{ $t('a11y.measures.li4') }}</span>
11795
</li>
11896
<li class="flex items-start gap-3">
119-
<span aria-hidden="true" class="text-fg-subtle shrink-0 mt-1">&mdash;</span>
120-
<span>{{ $t('a11y.implementation.li6') }}</span>
97+
<span class="text-fg-subtle shrink-0">&mdash;</span>
98+
<span>{{ $t('a11y.measures.li5') }}</span>
12199
</li>
122100
<li class="flex items-start gap-3">
123-
<span aria-hidden="true" class="text-fg-subtle shrink-0 mt-1">&mdash;</span>
124-
<span>{{ $t('a11y.implementation.li7') }}</span>
101+
<span class="text-fg-subtle shrink-0">&mdash;</span>
102+
<span>{{ $t('a11y.measures.li6') }}</span>
125103
</li>
126104
</ul>
127105
</div>
128106

129-
<!-- Contact and Feedback -->
107+
<!-- Known Limitations -->
108+
<div>
109+
<h2 class="text-lg text-fg-subtle uppercase tracking-wider mb-4">
110+
{{ $t('a11y.limitations.title') }}
111+
</h2>
112+
<p class="text-fg-muted leading-relaxed">
113+
{{ $t('a11y.limitations.p1') }}
114+
</p>
115+
</div>
116+
117+
<!-- Feedback -->
130118
<div>
131119
<h2 class="text-lg text-fg-subtle uppercase tracking-wider mb-4">
132120
{{ $t('a11y.contact.title') }}

i18n/locales/en.json

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1067,34 +1067,32 @@
10671067
}
10681068
},
10691069
"a11y": {
1070-
"title": "accessibility statement",
1070+
"title": "accessibility",
10711071
"footer_title": "a11y",
1072-
"welcome": "We are committed to making the {app} site accessible to everyone.",
1073-
"commitment": {
1074-
"title": "Commitment to Accessibility",
1075-
"p1": "We continuously work to improve the user experience for everyone, applying relevant accessibility standards to ensure our site can be used by the widest possible audience, regardless of their abilities."
1076-
},
1077-
"compliance": {
1078-
"title": "Regulatory Framework and Compliance Status",
1079-
"p1": "This site has been developed to comply with the {guidelines} of the World Wide Web Consortium (W3C), aiming for a {aa} conformance level.",
1080-
"guidelines": "Web Content Accessibility Guidelines (WCAG 2.1)",
1081-
"aa": "Double-A (AA)",
1082-
"wcag_alt": "W3C WAI-AA WCAG 2.1 Conformance site (opens in a new window)"
1083-
},
1084-
"implementation": {
1085-
"title": "Implementation Measures",
1086-
"p1": "In addition to following the regulatory framework, we have taken the following measures to ensure the accessibility of this site:",
1087-
"li1": "The page semantics have been built using standard HTML5 and ARIA roles where necessary.",
1088-
"li2": "Text sizes are relative, allowing the user to adjust their size from the browser.",
1089-
"li3": "The design is responsive and allows for magnification (zoom) up to 250% without loss of content or functionality, exceeding the 200% minimum required by WCAG 2.1.",
1090-
"li4": "The color palette meets Level AA contrast ratios in its standard themes.",
1091-
"li5": "Keyboard navigation is logical and predictable.",
1092-
"li6": "Animations and transitions are reduced or eliminated for users who have requested reduced motion in their operating system or browser preferences.",
1093-
"li7": "The site employs progressive enhancement, ensuring essential content remains accessible without JavaScript, although some personalization features may require it."
1072+
"welcome": "We want {app} to be usable by as many people as possible.",
1073+
"approach": {
1074+
"title": "Our approach",
1075+
"p1": "We try to follow the Web Content Accessibility Guidelines (WCAG) 2.2 and use them as a reference when building features. We don't claim full conformance with any level of WCAG — accessibility is a continual process and there is always more work to do.",
1076+
"p2": "This site is an {about}. Accessibility improvements are made incrementally as part of our regular development.",
1077+
"about_link": "open-source, community-driven project"
1078+
},
1079+
"measures": {
1080+
"title": "What we do",
1081+
"p1": "Some of the things we aim to do across the site:",
1082+
"li1": "Use semantic HTML and ARIA attributes where appropriate.",
1083+
"li2": "Use relative text sizes so you can adjust them in your browser.",
1084+
"li3": "Support keyboard navigation throughout the interface.",
1085+
"li4": "Respect the prefers-reduced-motion and prefers-color-scheme media queries.",
1086+
"li5": "Design with sufficient color contrast in mind.",
1087+
"li6": "Ensure essential content is available without JavaScript, though some interactive features require it."
1088+
},
1089+
"limitations": {
1090+
"title": "Known limitations",
1091+
"p1": "Some parts of the site — particularly third-party content like package READMEs — may not meet accessibility standards. We are working to improve these areas over time."
10941092
},
10951093
"contact": {
1096-
"title": "Contact and Feedback",
1097-
"p1": "Accessibility is an ongoing effort. If you encounter any barriers or have any suggestions to improve the accessibility of {app}, please do not hesitate to contact us by opening an issue on our {link}.",
1094+
"title": "Feedback",
1095+
"p1": "If you encounter an accessibility barrier on {app}, please let us know by opening an issue on our {link}. We take these reports seriously and will do our best to address them.",
10981096
"link": "GitHub repository"
10991097
}
11001098
}

i18n/locales/es-419.json

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,5 @@
3434
"typeahead_description": "¡Compara contra no usar una dependencia! Aprobado por e18e.",
3535
"tooltip_description": "¡Compara contra no usar una dependencia! La {link} mantiene una lista de paquetes que pueden ser reemplazados con APIs nativas o alternativas más simples."
3636
}
37-
},
38-
"a11y": {
39-
"commitment": {
40-
"p1": "Trabajamos continuamente para mejorar la experiencia del usuario para todos, aplicando los estándares de accesibilidad pertinentes para garantizar que nuestro portal pueda ser utilizado por la audiencia más amplia posible, independientemente de sus habilidades."
41-
},
42-
"contact": {
43-
"title": "Contacto y Retroalimentación",
44-
"p1": "La accesibilidad es un esfuerzo continuo. Si encuentras alguna barrera o tienes alguna sugerencia para mejorar la accesibilidad de {app}, por favor no dudes en contactarnos abriendo un problema (issue) en nuestro {link}."
45-
}
4637
}
4738
}

i18n/locales/es.json

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1019,37 +1019,5 @@
10191019
"title": "Cambios en esta política",
10201020
"p1": "Podemos actualizar esta política de privacidad ocasionalmente. Cualquier cambio se publicará en esta página con una fecha de revisión actualizada."
10211021
}
1022-
},
1023-
"a11y": {
1024-
"title": "declaración de accesibilidad",
1025-
"footer_title": "accesibilidad",
1026-
"welcome": "Nos comprometemos a hacer que el sitio {app} sea accesible para todos.",
1027-
"commitment": {
1028-
"title": "Compromiso con la Accesibilidad",
1029-
"p1": "Trabajamos continuamente para mejorar la experiencia de usuario para todos, aplicando los estándares de accesibilidad pertinentes para garantizar que nuestro sitio web pueda ser utilizado por la audiencia más amplia posible, independientemente de sus capacidades."
1030-
},
1031-
"compliance": {
1032-
"title": "Marco Normativo y Estado de Cumplimiento",
1033-
"p1": "Este sitio web ha sido desarrollado para cumplir con las {guidelines} del World Wide Web Consortium (W3C), con el objetivo de alcanzar un nivel de conformidad {aa}.",
1034-
"guidelines": "Pautas de Accesibilidad para el Contenido Web (WCAG 2.1)",
1035-
"aa": "Doble-A (AA)",
1036-
"wcag_alt": "Sitio web de Conformidad W3C WAI-AA WCAG 2.1 (se abre en una nueva ventana)"
1037-
},
1038-
"implementation": {
1039-
"title": "Medidas de Implementación",
1040-
"p1": "Además de seguir el marco normativo, hemos tomado las siguientes medidas para garantizar la accesibilidad de este sitio web:",
1041-
"li1": "La semántica de la página se ha construido utilizando HTML5 estándar y roles ARIA donde es necesario.",
1042-
"li2": "Los tamaños de texto son relativos, permitiendo al usuario ajustar su tamaño desde el navegador.",
1043-
"li3": "El diseño es responsivo y permite una ampliación (zoom) de hasta el 250% sin pérdida de contenido o funcionalidad, superando el mínimo del 200% requerido por WCAG 2.1.",
1044-
"li4": "La paleta de colores cumple con los ratios de contraste de Nivel AA en sus temas estándar.",
1045-
"li5": "La navegación por teclado es lógica y predecible.",
1046-
"li6": "Las animaciones y transiciones se reducen o eliminan para los usuarios que han solicitado movimiento reducido en las preferencias de su sistema operativo o del navegador.",
1047-
"li7": "El sitio web emplea mejora progresiva, asegurando que el contenido esencial permanezca accesible sin JavaScript, aunque algunas funciones de personalización pueden requerirlo."
1048-
},
1049-
"contact": {
1050-
"title": "Contacto y Comentarios",
1051-
"p1": "La accesibilidad es un esfuerzo continuo. Si encuentras alguna barrera o tienes alguna sugerencia para mejorar la accesibilidad de {app}, no dudes en contactarnos abriendo un problema (issue) en nuestro {link}.",
1052-
"link": "repositorio de GitHub"
1053-
}
10541022
}
10551023
}

i18n/schema.json

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3202,6 +3202,96 @@
32023202
},
32033203
"additionalProperties": false
32043204
},
3205+
"a11y": {
3206+
"type": "object",
3207+
"properties": {
3208+
"title": {
3209+
"type": "string"
3210+
},
3211+
"footer_title": {
3212+
"type": "string"
3213+
},
3214+
"welcome": {
3215+
"type": "string"
3216+
},
3217+
"approach": {
3218+
"type": "object",
3219+
"properties": {
3220+
"title": {
3221+
"type": "string"
3222+
},
3223+
"p1": {
3224+
"type": "string"
3225+
},
3226+
"p2": {
3227+
"type": "string"
3228+
},
3229+
"about_link": {
3230+
"type": "string"
3231+
}
3232+
},
3233+
"additionalProperties": false
3234+
},
3235+
"measures": {
3236+
"type": "object",
3237+
"properties": {
3238+
"title": {
3239+
"type": "string"
3240+
},
3241+
"p1": {
3242+
"type": "string"
3243+
},
3244+
"li1": {
3245+
"type": "string"
3246+
},
3247+
"li2": {
3248+
"type": "string"
3249+
},
3250+
"li3": {
3251+
"type": "string"
3252+
},
3253+
"li4": {
3254+
"type": "string"
3255+
},
3256+
"li5": {
3257+
"type": "string"
3258+
},
3259+
"li6": {
3260+
"type": "string"
3261+
}
3262+
},
3263+
"additionalProperties": false
3264+
},
3265+
"limitations": {
3266+
"type": "object",
3267+
"properties": {
3268+
"title": {
3269+
"type": "string"
3270+
},
3271+
"p1": {
3272+
"type": "string"
3273+
}
3274+
},
3275+
"additionalProperties": false
3276+
},
3277+
"contact": {
3278+
"type": "object",
3279+
"properties": {
3280+
"title": {
3281+
"type": "string"
3282+
},
3283+
"p1": {
3284+
"type": "string"
3285+
},
3286+
"link": {
3287+
"type": "string"
3288+
}
3289+
},
3290+
"additionalProperties": false
3291+
}
3292+
},
3293+
"additionalProperties": false
3294+
},
32053295
"$schema": {
32063296
"type": "string"
32073297
}

0 commit comments

Comments
 (0)