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

This talk has been presented at Vue.js London 2023, check out the latest edition of this JavaScript Conference.

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
State management is not limited to complex applications and transitioning to a store offers significant benefits. Pinia is a centralized state management solution compatible with Vue 2 and Vue 3, providing advanced devtools support and extensibility with plugins. The core API of Pinia is similar to Vuex, but with a less verbose version of stores and powerful plugins. Pinia allows for easy state inspection, error handling, and testing. It is recommended to create one file per store for better organization and Pinia offers a more efficient performance compared to V-rex.
Bienvenido a Nuxt 3
Vue.js London Live 2021Vue.js London Live 2021
29 min
Bienvenido a Nuxt 3
Top Content
Nux3 has made significant improvements in performance, output optimization, and serverless support. Nuxt Bridge brings the Nitro engine for enhanced performance and easier transition between Nuxt 2 and Nuxt Read. Nuxt 3 supports Webpack 5, Bytes, and Vue 3. NextLab has developed brand new websites using Docus technology. Nuxt.js is recommended for building apps faster and simpler, and Nuxt 2 should be used before migrating to Nuxt 3 for stability. DOCUS is a new project that combines Nuxt with additional features like content modules and an admin panel.
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 has seen significant adoption and improvements in performance, bundle size, architecture, and TypeScript integration. The ecosystem around Vue 3 is catching up, with new tools and frameworks being developed. The Vue.js.org documentation is undergoing a complete overhaul. PNIA is emerging as the go-to state management solution for Vue 3. The options API and composition API are both viable options in Vue 3, with the choice depending on factors such as complexity and familiarity with TypeScript. Vue 3 continues to support CDN installation and is recommended for new projects.
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
In this Talk, the speaker demonstrates how to use Rust with WebAssembly in a Vue.js project. They explain that WebAssembly is a binary format that allows for high-performance code and less memory usage in the browser. The speaker shows how to build a Rust example using the WasmPack tool and integrate it into a Vue template. They also demonstrate how to call Rust code from a Vue component and deploy the resulting package to npm for easy sharing and consumption.
Vue: Actualizaciones de Características
Vue.js London 2023Vue.js London 2023
44 min
Vue: Actualizaciones de Características
Top Content
The Talk discusses the recent feature updates in Vue 3.3, focusing on script setup and TypeScript support. It covers improvements in defining props using imported types and complex types support. The introduction of generic components and reworked signatures for defined components provides more flexibility and better type support. Other features include automatic inference of runtime props, improved define emits and defined slots, and experimental features like reactive props destructure and define model. The Talk also mentions future plans for Vue, including stabilizing suspense and enhancing computer invalidations.
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
This Talk discusses handling local state in software development, particularly when dealing with asynchronous behavior and API requests. It explores the challenges of managing global state and the need for actions when handling server data. The Talk also highlights the issue of fetching data not in Vuex and the challenges of keeping data up-to-date in Vuex. It mentions alternative tools like Apollo Client and React Query for handling local state. The Talk concludes with a discussion on GitLab going public and the celebration that followed.

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 Kuznetsov
Mikhail Kuznetsov
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
Monitoreo 101 para Desarrolladores de React
React Summit US 2023React Summit US 2023
107 min
Monitoreo 101 para Desarrolladores de React
Top Content
WorkshopFree
Lazar Nikolov
Sarah Guthals
2 authors
Si encontrar errores en tu proyecto frontend es como buscar una aguja en un pajar de código, entonces el monitoreo de errores de Sentry puede ser tu detector de metales. Aprende los conceptos básicos del monitoreo de errores con Sentry. Ya sea que estés ejecutando un proyecto de React, Angular, Vue, o simplemente JavaScript “vainilla”, mira cómo Sentry puede ayudarte a encontrar el quién, qué, cuándo y dónde detrás de los errores en tu proyecto frontend.
Nivel de la masterclass: Intermedio
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.