Patrones, componentes y sistemas de diseño

Muchas personas usan el desarrollo basado en componentes con guías de estilo de patrones, bibliotecas de componentes o sistemas de diseño completos en su proceso de flujo de trabajo de desarrollo. Incluso si no usaste estas herramientas de forma formal, es probable que uses un proceso similar para dividir un diseño grande de un sitio web, una app o cualquier otro producto digital en partes fáciles de manejar.

Al igual que cuando se construye una estructura física, es importante crear una pieza a la vez. Primero, los cimientos, la estructura, las paredes, las ventanas, el techo y todo lo que hay en medio. Las herramientas de desarrollo basadas en componentes nos permiten hacer esto para sitios web, apps y otros productos digitales.

Algunas de las ventajas del desarrollo basado en componentes incluyen dividir los elementos en partes fáciles de administrar, de modo que se dedique menos tiempo al desarrollo con estos componentes reutilizables. Permite que los diseñadores, los desarrolladores de frontend y backend, y el control de calidad trabajen de forma simultánea. A los clientes, diseñadores, PM y otros les gusta porque pueden obtener una vista previa del proceso de compilación y usar una guía de estilo dinámica como referencia después de que se lanza el sitio web.

Sin embargo, cuando observamos patrones, componentes y sistemas de diseño teniendo en cuenta la accesibilidad, surgen algunas preguntas. ¿Cómo sabes cuáles son los mejores patrones en términos de accesibilidad? ¿Debes usar un patrón o una biblioteca establecidos, o crear otros nuevos? ¿Cómo sabes si estos patrones realmente ayudarán a tus usuarios?

Con la gran cantidad de opciones disponibles, es fácil confundirse con los patrones, los componentes y los sistemas de diseño. El objetivo de este módulo es brindarte información general sobre cómo evaluar patrones, componentes y sistemas de diseño para la accesibilidad, y te ofrece un punto de partida para ayudarte a tomar decisiones más accesibles.

Piensa de forma crítica

Elegir un patrón, un componente o un sistema de diseño accesible no es ciencia espacial, pero requiere tiempo y pensamiento crítico. De hecho, no existe un “patrón perfecto”, pero es posible que haya muchas opciones que podrían funcionar. Se trata de aprender a elegir la mejor opción para tu situación única.

En los módulos de pruebas posteriores, obtendrás más información sobre las técnicas y los métodos para evaluar patrones, componentes y sistemas de diseño para la accesibilidad. Antes de llegar allí, debes hacerte algunas preguntas fundamentales, como las siguientes:

  • ¿Ya existe un patrón, un componente o un sistema de diseño accesible establecido?
  • ¿Qué navegadores y tecnología de accesibilidad (AT) admito?
  • ¿Hay limitaciones de código o framework? ¿Hay otras integraciones, factores o necesidades de los usuarios que deba tener en cuenta?

Según tu entorno de desarrollo y las necesidades de los usuarios, es posible que tengas preguntas adicionales o distintas a estas. Considera estas preguntas como tu punto de partida en la evaluación de accesibilidad.

Recursos establecidos

Antes de crear algo nuevo, haz tu debida diligencia y revisa lo que ya existe en términos de patrones, componentes y sistemas de diseño accesibles. Con un poco de investigación, es posible que te sorprendas al encontrar una solución (o varias) que se adapte a tus necesidades.

Estos son algunos recursos excelentes para patrones, componentes y sistemas de diseño accesibles:

En el caso de los frameworks de JavaScript, los siguientes recursos son bastante accesibles de forma predeterminada o se pueden personalizar para la accesibilidad:

Sin embargo, y no podemos enfatizarlo lo suficiente, nunca debes copiar y pegar código y suponer que se ajustará a tu entorno y satisfará automáticamente las necesidades de los usuarios. Esto es cierto para todos los patrones, componentes y sistemas de diseño, incluso si están etiquetados como completamente accesibles.

Todos los recursos deben considerarse un punto de partida. Asegúrate de probar todo.

Compatibilidad con navegadores y tecnología de accesibilidad (AT)

Después de investigar algunos patrones básicos, componentes o un sistema de diseño completo que podría funcionar para tu entorno de desarrollo, puedes pasar a la compatibilidad con la tecnología de accesibilidad. Un tipo importante de AT en el que te debes enfocar cuando evalúes patrones, componentes y sistemas de diseño son los lectores de pantalla.

Los lectores de pantalla se crearon teniendo en cuenta navegadores específicos y funcionan mejor cuando se usan con ellos. Analizaremos este tema con mucho más detalle en el módulo sobre pruebas de AT, pero, a los efectos de la evaluación de patrones, es útil comprender que existen estas combinaciones para que sepas qué necesitas en términos de asistencia.

Lector de pantalla SO Compatibilidad del navegador Costo
Job Access with Speech (JAWS) Windows Chrome, Firefox y Edge Se requiere una licencia (existe una versión gratuita de 40 minutos)
Acceso a escritorio no visual (NVDA) Windows Chrome y Firefox Gratis (requiere descarga)
Narrador Windows Edge Gratuito (integrado en máquinas de Windows)
VoiceOver macOS Safari Sin cargo (integrado en máquinas macOS)
Orca Linux Firefox Gratuito (integrado en distribuciones basadas en Gnome)
TalkBack Android Chrome y Firefox Gratuito (integrado en ciertas versiones del SO Android)
VoiceOver iOS Safari Gratuito (integrado en dispositivos iOS)

La compatibilidad con navegadores suele ser complicada, y las cosas se complican aún más cuando se agregan dispositivos de accesibilidad y especificaciones de ARIA.

Pero no todo son malas noticias. Por suerte, existen excelentes recursos, como Accesibilidad de HTML5, Compatibilidad con accesibilidad y la Lista de tareas de desarrollo accesible para controles personalizados del WCAG, que nos ayudan a comprender mejor la compatibilidad actual con navegadores y dispositivos de AT, y hasta cuándo usar ARIA.

En estos recursos, se describen los diferentes subelementos de patrones HTML y ARIA disponibles, incluidas las pruebas de la comunidad de código abierto. También puedes revisar algunos ejemplos de patrones para computadoras de escritorio, navegadores para dispositivos móviles y dispositivos AT. Por lo tanto, estos recursos pueden ayudarte a tomar una decisión más accesible con respecto a los patrones, los componentes y los sistemas de diseño que podrías querer usar.

Otras consideraciones

Una vez que hayas elegido algunos patrones o componentes básicos accesibles y hayas tenido en cuenta la compatibilidad con el navegador y el dispositivo de AT, puedes pasar a preguntas contextuales más específicas sobre el patrón, el componente, el sistema de diseño y el entorno de desarrollo.

Por ejemplo, si trabajas en un sistema de administración (CMS) o tienes código heredado, es posible que haya algunas limitaciones en los patrones que puedes usar. Después de la revisión, es posible que varias opciones de patrones se reduzcan rápidamente a una o dos.

Muchos frameworks de JavaScript permiten a los desarrolladores usar casi cualquier patrón que elijan. En casos como estos, es posible que tengas menos restricciones y puedas elegir la opción de patrón más accesible.

Hay consideraciones adicionales que debes tener en cuenta cuando elijas un patrón, un componente o un sistema de diseño, como las siguientes:

  • Rendimiento
  • Seguridad
  • Optimización para motores de búsqueda
  • Compatibilidad con la traducción de idiomas
  • Integraciones de terceros

Sin duda, estos factores influirán en tu elección de patrones, pero también debes tener en cuenta a las personas que crean el contenido y el código en sí. El patrón que elijas debe ser lo suficientemente sólido como para manejar cualquier limitación potencial en torno al contenido generado por el editor o por el usuario, además de compilarse de una manera que puedan usar los desarrolladores con todo el conocimiento de accesibilidad.

Verifica tu comprensión

Pon a prueba tus conocimientos sobre los patrones

¿Los componentes accesibles siempre son accesibles para los usuarios?

Sí, puedes usar estos componentes sin trabajo adicional.
Si bien es más probable que un recurso creado para la accesibilidad funcione automáticamente que otros, es fundamental que realices pruebas de accesibilidad para asegurarte de que estos componentes funcionen para tus usuarios.
No, primero debes probar tus componentes.
Incluso los componentes y patrones diseñados para la accesibilidad deben probarse. Es posible que no se pueda acceder a él en combinación con otros componentes existentes.