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
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
Oh, esto también habrá que presentarlo en Let's Swift jaja
Opiniones en Hacker News
Resumen del primer comentario:
Resumen del segundo comentario:
Resumen del tercer comentario:
Resumen del cuarto comentario:
Resumen del quinto comentario:
Resumen del sexto comentario:
Resumen del séptimo comentario:
Resumen del octavo comentario:
Resumen del noveno comentario:
Resumen del décimo comentario: