10 puntos por GN⁺ 2024-03-20 | 3 comentarios | Compartir por WhatsApp

Aplicar a11y (accesibilidad) rápidamente en SwiftUI

  • Se presenta una forma de resolver rápidamente los casos en los que se pasó por alto la accesibilidad en una app de SwiftUI.
  • Aunque la accesibilidad es una función importante que necesita el 16% de los usuarios, a menudo se ignora durante el desarrollo.
  • Una app que no considera la accesibilidad puede dar una impresión negativa a los usuarios.

Revisar la accesibilidad de la app

  • Es importante probar la accesibilidad en un dispositivo real.
  • Configura el Centro de control para poder aplicar rápidamente funciones de accesibilidad.

Revisar el tamaño del texto

  • En iOS hay 12 tamaños de texto disponibles, y hay que probarlos para confirmar que la app se adapta bien a cada uno.
  • Es necesario revisar si la UI funciona correctamente incluso con el tamaño de texto más grande.

Revisar el lector de pantalla

  • Para los usuarios que usan lector de pantalla, revisa la accesibilidad con herramientas como VoiceOver.
  • Mejoras grandes pueden lograrse con ajustes simples, como agregar etiquetas de accesibilidad a las imágenes.

Aplicar accesibilidad rápidamente

  • Después de identificar los problemas, se corrigen uno por uno con rapidez.

Contenido desplazable

  • Cuando el tamaño del texto aumenta, el problema se resuelve expandiendo el contenido a una vista desplazable.
  • Se usa un modificador de vista personalizado llamado a11yScrollView() para que el contenido sea desplazable solo cuando sea necesario.

Mal olor de código al forzar espacio

  • En lugar de Spacer(), se usa el modificador frame() para construir un layout más confiable.

Ajustar el tamaño de imágenes e íconos

  • Se usa el property wrapper @ScaledMetric para ajustar dinámicamente imágenes e íconos según el tamaño de texto del usuario.

Alineación del contenido

  • Se usa A11yHStack, que permite alinear el contenido según el tamaño de texto del usuario.

Mejorar el lector de pantalla

  • Se mejora la compatibilidad con lectores de pantalla usando accessibilityLabel, accessibilityElement(children:), accessibilityRepresentation, entre otros.

Usar componentes nativos

  • Siempre que sea posible, usar componentes nativos de SwiftUI mejora el rendimiento y la accesibilidad.

Convencer a las partes interesadas

  • Se explica cómo influir dentro de la organización para que la accesibilidad se considere importante.
  • Se resalta la importancia de la accesibilidad enfatizando los requisitos legales y las ventajas de negocio.

Conclusión

  • Se describe el proceso general para identificar y resolver problemas de accesibilidad en una app.
  • Se presentan diversas herramientas y técnicas que ofrece SwiftUI para mejorar la accesibilidad.

Opinión de GN⁺

  • Este artículo es muy útil porque explica por qué la accesibilidad es importante para los desarrolladores de apps y ofrece formas concretas de mejorarla en la práctica.
  • Una app que no considera la accesibilidad puede perjudicar la experiencia de usuario y causar problemas legales, por lo que es importante tenerla en cuenta desde las primeras etapas del desarrollo.
  • Al usar frameworks modernos como SwiftUI, se puede mejorar al mismo tiempo el rendimiento y la accesibilidad aprovechando al máximo las ventajas de los componentes nativos.
  • También es una buena estrategia aprovechar bibliotecas o herramientas ofrecidas por la comunidad para mejorar la accesibilidad, ya que esto puede simplificar el proceso de desarrollo y aumentar la eficiencia.
  • Mejorar la accesibilidad de una app no es solo un tema técnico, sino una forma de practicar la responsabilidad social y la inclusión, asegurando que todos los usuarios puedan usar el servicio en igualdad de condiciones.

3 comentarios

 
aer0700 2024-03-21

Considerar la accesibilidad quizá también sea una forma de crear clientes leales a mi servicio
Si servicios competidores similares no ofrecen esa función y solo nuestra app la admite, los clientes usarán la nuestra

 
godrm 2024-03-20

Oh, esto también habrá que presentarlo en Let's Swift jaja

 
GN⁺ 2024-03-20
Opiniones en Hacker News
  • Resumen del primer comentario:

    El desarrollador no está de acuerdo con la afirmación del autor de que "no se detendrá hasta que todos puedan usar la app". Todas las apps que ha desarrollado se han creado para adaptarse a la mayor cantidad posible de usuarios sin sacrificar los requisitos del negocio ni los aspectos importantes o centrales de la app. De lo contrario, se convertirían en productos inutilizables.

  • Resumen del segundo comentario:

    El desarrollador hace todo lo posible para que su app también pueda ser usada por personas con discapacidad visual. En una app reciente, buscó una forma de hacerla fácil de usar también para personas sin discapacidad y de ofrecer beneficios a las personas con discapacidad. Agregó una función de "ayuda con pulsación larga" en la que, al mantener presionado cualquier elemento de la UI, aparece un popover que lo describe. Esta función funciona bien usando etiquetas y pistas de accesibilidad.

  • Resumen del tercer comentario:

    Valoración positiva de un artículo práctico. La accesibilidad es importante, pero considera problemático tachar de flojos a los desarrolladores que no hacen que sus apps sean accesibles por defecto. Hay muchos conceptos que aprender, prioridades que entran en conflicto, herramientas con las que hay que familiarizarse y también hace falta construir un caso de negocio para la accesibilidad. La mayoría de los desarrolladores y diseñadores no conoce bien las reglas de WCAG. También es difícil encontrar colores de marca que cumplan con los requisitos de contraste.

  • Resumen del cuarto comentario:

    El desarrollador creó una app con Flutter sin considerar la accesibilidad, pero recibió una queja de un usuario con discapacidad visual después de 6 meses de uso. Flutter maneja la mayor parte de la accesibilidad automáticamente, y las funciones personalizadas también funcionaron bien para usuarios con discapacidad visual sin necesidad de grandes modificaciones.

  • Resumen del quinto comentario:

    Se cuestiona por qué hay que priorizar visualmente las opciones de accesibilidad y anotar medios precisos y con alta densidad táctil. Tal vez sería mejor ofrecer una app personalizada para quienes necesitan accesibilidad, como una versión de "baja visión" o una versión de "baja precisión táctil".

  • Resumen del sexto comentario:

    Pregunta sobre la responsabilidad legal o los periodos de gracia cuando una app nueva o una startup tiene éxito mucho más rápido de lo esperado. Cuando todavía no está claro si la idea funcionará, la accesibilidad puede no ser una gran preocupación, y piensa que fuera de California no suele haber grandes problemas legales si se asignan recursos para corregir temas de accesibilidad después de un éxito inesperado.

  • Resumen del séptimo comentario:

    Comparte la experiencia del padre del desarrollador, quien usó una silla de ruedas eléctrica tras sufrir un derrame cerebral. Eso le hizo darse cuenta de la importancia de cumplir con la ADA y enfatiza que, como desarrolladores, pueden desempeñar un papel importante para hacer el mundo accesible. Les pide a los desarrolladores que se esfuercen por hacer su trabajo accesible para todas las personas posibles.

  • Resumen del octavo comentario:

    Comparte la experiencia de un usuario que activó las opciones "Texto más grande" y "Zoom de pantalla" del iPhone. No se trata solo de personas con discapacidad, sino de la flexibilidad y el control para que cualquier usuario adapte la interfaz a su estilo de uso. A veces uno no quiere mirar la pantalla y quiere que se la lean, o solo que le lean ciertas partes.

  • Resumen del noveno comentario:

    Las comunidades que necesitan accesibilidad por lo general primero la piden y después demandan, si hace falta. La ADA es una ley fuerte, pero si se hace un esfuerzo, normalmente no hay problema. Alrededor del año 2000 escribió una guía de accesibilidad bajo la supervisión de abogados y, después, siguió agregando accesibilidad a apps trabajando con usuarios con discapacidad visual. Si alguien lo pide, ayúdalo, y así puedes ganar un defensor muy fuerte de lo que haces.

  • Resumen del décimo comentario:

    La razón por la que la app tuvo éxito es que no perdió tiempo en cosas innecesarias como accesibilidad (a11y) o internacionalización (i18n). Históricamente, ningún producto exitoso se enfocó en la accesibilidad o la internacionalización desde el principio. Ahora que la app ya es exitosa, se puede pensar en accesibilidad y dedicarle recursos.