Hagamos Nuestra Aplicación de Página Única Accesible

Rate this content
Bookmark

Esta charla va a proporcionar recomendaciones para hacer que una aplicación de página única sea accesible. La charla no va a cubrir lo básico de accesibilidad, como agregar texto ALT o usar elementos HTML correctos, pero va a cubrir las principales deficiencias existentes en nuestra SPA.

En ningún orden en particular, esta charla va a cubrir los siguientes temas:

  • - Proporcionar una lista de recursos (blog, libro y personas a seguir)
  • - Presentar el problema con SPA con un ejemplo en vivo
  • - Describir y resolver problemas con el enrutamiento en SPA
  • - Describir y resolver problemas con cambios dinámicos en una aplicación Vue
  • - Una breve introducción a los elementos HTML correctos (y cómo aprovechar Vue para esto)
  • - Describir y solucionar el historial del navegador

FAQ

Simone Cuomo es un arquitecto de software en Distal Labs. Puedes encontrarlo en Twitter en zelyk880 o leer sus artículos en zelyk880.com. También está activo en Discord y Twitter y está disponible para preguntas o charlas sobre Vue.js.

La charla se centra en cómo hacer que las aplicaciones de página única sean accesibles, destacando los problemas específicos que enfrentan estas aplicaciones en términos de accesibilidad.

Se discuten soluciones para manejar contenido dinámico, actualización de página y componentes personalizados, incluyendo el uso de LiveRegion y técnicas para mejorar la navegación y el enfoque en aplicaciones de una sola página.

La accesibilidad es crucial porque permite que todos, incluidas las personas con discapacidad o circunstancias particulares, accedan a servicios esenciales en línea como la banca, compras y trámites gubernamentales.

Menciona que 11 millones de personas con discapacidad accedieron a Internet en 2022, lo que representa el 20% de la población del Reino Unido, destacando la importancia de la accesibilidad web.

LiveRegion es una parte de la página que se lee en un lector de pantalla cada vez que su contenido cambia. En Vue.js, se puede manejar fácilmente con un complemento llamado ViewAnnouncer, que ayuda a informar a los usuarios sobre cambios dinámicos en la aplicación.

Simone sugiere mejorar el componente anunciador para informar los cambios de página y agregar un enlace de omisión para permitir a los usuarios saltar directamente al contenido relevante, mejorando la experiencia de navegación.

Simone Cuomo
Simone Cuomo
25 min
15 May, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

La charla de hoy se centró en hacer que las aplicaciones de página única sean más accesibles. Se destacó la importancia de la accesibilidad web para todos los usuarios, incluidos aquellos con discapacidades y diferentes circunstancias. La charla discutió los problemas comunes de accesibilidad en las aplicaciones de página única, como la carga de contenido dinámico y la actualización de la página, y proporcionó soluciones para abordarlos. También se demostró la implementación de LiveRegion y la composición de respuestas de usuario en Vue.js para mejorar la accesibilidad. Además, la charla enfatizó la necesidad de mejorar el enrutamiento, la navegación y la selección de componentes para una mejor accesibilidad. Por último, se mencionó el uso del complemento View App Setting para verificar problemas de accesibilidad en el desarrollo.

1. Introducción a la accesibilidad de Vue.js

Short description:

¡Hola a todos! Hoy hablaré sobre cómo hacer que nuestra aplicación de página única sea accesible. Soy Simone Cuomo, un arquitecto de software en Distal Labs. Puedes encontrarme en Twitter en zelyk880 o visitar mi sitio web zelyk880.com. ¡Comencemos!

Hola a todos y bienvenidos. Es un gran placer hablar sobre Vue.js. Y el tema de hoy será cómo hacer que nuestra aplicación de página única sea accesible. Pero antes de comenzar, permítanme presentarme. Mi nombre es Simone Cuomo y soy un arquitecto de software en Distal Labs. Puedes encontrarme en Twitter en zelyk880, o leer cualquiera de mis artículos en mi sitio web en zelyk880.com. También quiero informarles que estaré muy activo en Discord y Twitter. Así que no dudes en contactarme si tienes alguna pregunta o si te gustaría tener una charla sobre cualquier tema relacionado con Vue.js.

La agenda de hoy va a estar muy ocupada. Tenemos 20 minutos, pero tenemos 20 minutos llenos de contenido. Esta charla no va a ser la típica charla básica sobre accessibility donde hablamos de todas las etiquetas y encabezados, etc. Se va a centrar en los problemas de las aplicaciones de página única. También quiero informarles que compartiré las diapositivas y compartiré el repositorio y todo lo que discutamos durante esta charla más tarde. No hay razón para que tomen notas.

2. Por qué es importante la accesibilidad

Short description:

Internet no es opcional. Los bancos están cerrando, obligando a los usuarios a utilizar la aplicación, las compras se realizan en línea, incluso la declaración de impuestos se hace en línea. Es nuestro deber hacer que la web sea más accesible. La accesibilidad no es solo para personas con discapacidades, sino también para aquellos que pueden tener limitaciones temporales o circunstancias diferentes. Por ejemplo, una persona que sostiene a un niño puede necesitar navegar con el teclado, alguien con dislexia puede tener dificultades con textos largos y un hablante no nativo puede depender de un lector de pantalla. Los sitios web accesibles son esenciales en entornos ruidosos o situaciones con un exceso de brillo en la pantalla.

¿Por dónde deberíamos empezar? Bueno, en primer lugar, ¿por qué deberíamos preocuparnos por la accessibility? Esa es la primera pregunta que debemos responder. Bueno, Internet no es opcional. ¿Qué quiero decir con esto? Hace unos años, las charlas sobre accessibility se trataban de dar a las personas con discapacidad la oportunidad de acceder a Internet solo para acceder a Internet de forma gratuita. La verdad es que hoy en día tienen que acceder a Internet. Los bancos están cerrando, obligando a los usuarios a utilizar la aplicación, las compras se realizan en línea, incluso la declaración de impuestos se hace en línea. Entonces, si no hacemos que nuestra aplicación sea accesible, ¿cómo van a realizar estas personas las operaciones diarias? ¿Cómo van a reservar vuelos? ¿Cómo van a hacer eso? Así que es nuestro deber hacer que la web sea más accesible. Hay algunas estadísticas importantes allí abajo. 11 millones de personas con discapacidad acceden a Internet en 2022. Eso es el 20% de la población del Reino Unido, bastante considerable. Y el último punto es, la accessibility no es solo para personas con discapacidad. ¿Qué significa eso? Las personas tienen la percepción de que escribimos código de accessibility solo para personas con discapacidad, pero eso puede no ser cierto. Un padre que sostiene a un niño, durmiendo en su mano, me pasó cuando mi hijo era más pequeño, puede que no pueda usar el mouse y tenga que navegar por el sitio con el teclado. Lo mismo si tienes un yeso. Luego, una persona con dislexia que puede tener dificultades para entender textos largos y un hablante no nativo que en realidad va a activar el lector de pantalla para poder leer el subtítulo. Entonces, hay muchas de estas cosas que no son realmente accessibility por el bien de las personas con discapacidad, por el bien de las personas con discapacidad, sino accessibility para permitir que todos en todas las circunstancias puedan acceder a Internet. Los dos últimos ejemplos allí, entornos muy ruidosos, alguien tiene que activar los subtítulos, o un día muy soleado donde hay tanto brillo en la pantalla que no puedes ver los colores. Pueden requerir un sitio web accesible para poder verlo todo.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Todo Más Allá de la Gestión de Estado en Tiendas con Pinia
Vue.js London Live 2021Vue.js London Live 2021
34 min
Todo Más Allá de la Gestión de Estado en Tiendas con Pinia
Top Content
Cuando pensamos en Vuex, Pinia, o tiendas en general, a menudo pensamos en la gestión de estado y los patrones Flux, pero no solo las tiendas no siempre siguen el patrón Flux, ¡hay mucho más en las tiendas que las hace valer la pena usar! Plugins, Devtools, renderizado en el lado del servidor, integraciones TypeScript... Vamos a sumergirnos en todo más allá de la gestión de estado con Pinia con ejemplos prácticos sobre plugins y Devtools para sacar el máximo provecho de tus tiendas.
Bienvenido a Nuxt 3
Vue.js London Live 2021Vue.js London Live 2021
29 min
Bienvenido a Nuxt 3
Top Content
Explica sobre la refactorización del código base de NuxtJS y los desafíos que enfrenta para implementar Vue 3, Vite y otros paquetes.
Un Año en Vue 3
Vue.js London Live 2021Vue.js London Live 2021
20 min
Un Año en Vue 3
Top Content
Vue 3 puede sonar aún nuevo para muchos usuarios, pero en realidad ya ha sido lanzado hace más de un año. ¿Cómo evolucionó Vue 3 durante este período? ¿Por qué tardó tanto en ponerse al día el ecosistema? ¿Qué aprendimos de este proceso? ¿Qué viene después? ¡Discutiremos estas preguntas en esta charla!
Utilizando Rust desde Vue con WebAssembly
Vue.js London Live 2021Vue.js London Live 2021
8 min
Utilizando Rust desde Vue con WebAssembly
Top Content
Rust es un nuevo lenguaje para escribir código de alto rendimiento, que puede ser compilado a WebAssembly, y ejecutado dentro del navegador. En esta charla se te guiará sobre cómo puedes integrar Rust, dentro de una aplicación Vue, de una manera que es sencilla y fácil. Con ejemplos de cómo interactuar con Rust desde JavaScript, y algunas de las trampas a tener en cuenta.
Vue: Actualizaciones de Características
Vue.js London 2023Vue.js London 2023
44 min
Vue: Actualizaciones de Características
Top Content
El creador de Vue js da una actualización sobre las nuevas características de la tecnología.
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Vue.js London Live 2021Vue.js London Live 2021
24 min
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Top Content
¿Cuántas veces has implementado el mismo flujo en tu aplicación: verificar si los datos ya se han obtenido del servidor, si es así - renderizar los datos, si no - obtener estos datos y luego renderizarlos? Creo que lo he hecho más de diez veces yo mismo y he visto la pregunta sobre este flujo más de cincuenta veces. Desafortunadamente, nuestra biblioteca de gestión de estado predeterminada, Vuex, no proporciona ninguna solución para esto.Para la aplicación basada en GraphQL, había una alternativa para usar el cliente Apollo que proporcionaba herramientas para trabajar con la caché. Pero, ¿qué pasa si usas REST? Afortunadamente, ahora tenemos una alternativa de Vue a una biblioteca de react-query que proporciona una buena solución para trabajar con la caché del servidor. En esta charla, explicaré la distinción entre el estado de la aplicación local y la caché del servidor local y haré algo de codificación en vivo para mostrar cómo trabajar con este último.

Workshops on related topic

Vue3: Desarrollo Moderno de Aplicaciones Frontend
Vue.js London Live 2021Vue.js London Live 2021
169 min
Vue3: Desarrollo Moderno de Aplicaciones Frontend
Top Content
Featured WorkshopFree
Mikhail Kuznetcov
Mikhail Kuznetcov
Vue3 fue lanzado a mediados de 2020. Además de muchas mejoras y optimizaciones, la principal característica que trae Vue3 es la API de Composición, una nueva forma de escribir y reutilizar código reactivo. Aprendamos más sobre cómo usar la API de Composición de manera eficiente.

Además de las características principales de Vue3, explicaremos ejemplos de cómo usar bibliotecas populares con Vue3.

Tabla de contenidos:
- Introducción a Vue3
- API de Composición
- Bibliotecas principales
- Ecosistema Vue3

Requisitos previos:
IDE de elección (Inellij o VSC) instalado
Nodejs + NPM
Usando Nitro - Construyendo una Aplicación con el Último Motor de Renderizado de Nuxt
Vue.js London Live 2021Vue.js London Live 2021
117 min
Usando Nitro - Construyendo una Aplicación con el Último Motor de Renderizado de Nuxt
Top Content
Workshop
Daniel Roe
Daniel Roe
Construiremos un proyecto Nuxt juntos desde cero usando Nitro, el nuevo motor de renderizado de Nuxt, y Nuxt Bridge. Exploraremos algunas de las formas en que puedes usar y desplegar Nitro, mientras construimos una aplicación juntos con algunas de las restricciones del mundo real que enfrentarías al desplegar una aplicación para tu empresa. En el camino, dispara tus preguntas hacia mí y haré lo mejor para responderlas.
Embarcándonos en una aventura con Nuxt 3, Motion UI y Azure
JSNation 2022JSNation 2022
141 min
Embarcándonos en una aventura con Nuxt 3, Motion UI y Azure
WorkshopFree
Melanie de Leeuw
Melanie de Leeuw
¡Nos encantan las aplicaciones web fáciles de crear y desplegar! Entonces, veamos qué puede hacer una pila tecnológica muy actual como Nuxt 3, Motion UI y Azure Static Web Apps. Podría ser perfectamente un trío de oro en el desarrollo web moderno. O podría ser una hoguera de errores y problemas. De cualquier manera, será una aventura de aprendizaje para todos nosotros. Nuxt 3 se lanzó hace apenas unos meses y no podemos esperar más para explorar sus nuevas características, como su compatibilidad con Vue 3 y el Motor Nitro. Agregamos un poco de estilo a nuestra aplicación con la biblioteca Sass Motion UI, porque el diseño estático está pasado de moda y las animaciones vuelven a estar de moda.Nuestra fuerza impulsora de la pila será Azure. Las aplicaciones web estáticas de Azure son nuevas, casi listas para producción y una forma ingeniosa y rápida para que los desarrolladores desplieguen sus sitios web. Así que, por supuesto, debemos probar esto.Con algunas Azure Functions esparcidas por encima, exploraremos lo que puede hacer el desarrollo web en 2022.
TresJS crea experiencias 3D de forma declarativa con componentes Vue
Vue.js London 2023Vue.js London 2023
137 min
TresJS crea experiencias 3D de forma declarativa con componentes Vue
Workshop
Alvaro Saburido
Alvaro Saburido
- Introducción a 3D- Introducción a WebGL- ThreeJS- Por qué TresJS- Instalación o configuración de Stackblitz- Conceptos básicos- Configuración del lienzo- Escena- Cámara- Agregar un objeto- Geometrías- Argumentos- Props- Slots- El bucle- Composable UseRenderLoop- Callbacks antes y después de la renderización- Animaciones básicas- Materiales- Material básico- Material normal- Material Toon- Material Lambert- Material estándar y físico- Metalness, roughness- Luces- Luz ambiental- Luz direccional- Luces puntuales- Sombras- Texturas- Cargar texturas con useTextures- Consejos y trucos- Misceláneo- Controles de órbita- Cargar modelos con Cientos- Depuración de tu escena- Rendimiento
Construyendo formularios Vue con VeeValidate
Vue.js London Live 2021Vue.js London Live 2021
176 min
Construyendo formularios Vue con VeeValidate
Workshop
Abdelrahman Awad
Abdelrahman Awad
En este masterclass, aprenderás cómo usar vee-validate para manejar la validación de formularios, gestionar los valores de los formularios y manejar las presentaciones de manera efectiva. Comenzaremos desde lo básico con un formulario de inicio de sesión simple hasta el uso de la API de composición y la construcción de formularios repetibles y de múltiples pasos.

Tabla de contenidos:
- Introducción a vee-validate
- Construcción de un formulario básico con componentes vee-validate
- Manejo de validación y presentaciones de formularios
- Construcción de componentes de entrada validables con la API de composición
- Arrays de campos e inputs repetibles
- Construcción de un formulario de múltiples pasos
Prerrequisitos:
Configuración de VSCode y un proyecto Vite + Vue vacío.
Construyendo aplicaciones GraphQL de pila completa con Hasura y Vue 3
Vue.js London Live 2021Vue.js London Live 2021
115 min
Construyendo aplicaciones GraphQL de pila completa con Hasura y Vue 3
WorkshopFree
Gavin Ray
Gavin Ray
El ecosistema frontend avanza a un ritmo frenético. Este masterclass tiene como objetivo equipar a los participantes con una comprensión del estado del ecosistema Vue 3 + GraphQL, explorando ese ecosistema - prácticamente y a través del desarrollo de aplicaciones de pila completa.

Tabla de contenidos
- Los participantes utilizarán Hasura para construir una API GraphQL en tiempo real respaldada por Postgres. Juntos recorreremos su consumo desde un frontend y haremos que el frontend sea reactivo, suscrito a los cambios de datos.
- Además, analizaremos las herramientas comúnmente utilizadas en el stack Vue GraphQL (como Apollo Client y Urql), discutiremos algunas alternativas menos conocidas y abordaremos los problemas frecuentemente encontrados al comenzar.
- Se describirán varios patrones para gestionar datos con estado y sus compensaciones durante el masterclass, y se mostrará una implementación básica para cada patrón discutido.
Nivel del masterclass

NOTA: No se requiere experiencia previa con GraphQL, pero puede ser útil para ayudar a la comprensión. Se cubrirán los fundamentos.