Durante la primavera y el verano probé varias herramientas de inteligencia artificial para evaluar su capacidad de generar interfaces de usuario accesibles para Android. Esta publicación es la última de las pruebas de la serie y pronto publicaré un artículo de resumen con todas las conclusiones.
El procedimiento fue el mismo: pedí a Claude que generara una aplicación Android y luego la probé con herramientas y tecnologías asistivas. Primero describo brevemente la aplicación generada.
La generación se hizo desde la versión gratuita de Claude usando la interfaz de chat. Para construir la app creé un proyecto en Android Studio, añadí los archivos necesarios y copié el código generado en los ficheros correspondientes.
El encargo consistía en generar pantallas con Jetpack Compose para gestionar inventario de ovillos de lana y agujas de punto por talla y tipo. Se pedían pantallas de inicio con opciones para añadir lana y agujas, una lista de lanas y su detalle, una lista de agujas y su detalle. Los datos a almacenar incluían marca, nombre del ovillo, color, metros, peso del ovillo, cantidad, imagen para la lana y marca, talla en mm y tipo para las agujas siendo tipo un desplegable. También se solicitó soporte para navegación alternativa, lectores de pantalla, orientación vertical y horizontal y escalado de texto grande, siguiendo buenas prácticas de Material3.
Claude devolvió una lista de aspectos de accesibilidad que supuestamente se habían tenido en cuenta como descripciones semánticas, roles adecuados, descripciones de contenido, gestión del foco, soporte para texto grande, modo de alto contraste, control de anuncios de voz, orden lógico de tabulación, menús desplegables accesibles, jerarquía de encabezados, texto alternativo para imágenes, soporte de orientación, tamaño mínimo de objetivo táctil y soporte para dispositivos de navegación por botones. Sin embargo muchos de estos puntos quedaron más en una lista que en implementaciones efectivas dentro del código que finalmente usé.
Curiosamente Claude generó un archivo llamado AccessibilityExtensions.kt que no se usa en la app y que contiene redundancias y elementos innecesarios. Esa pieza por sí sola merece un análisis aparte.
Desde la perspectiva visual la app me pareció mejor que otras generadas por IA que tienden a parecerse entre sí. A nivel de accesibilidad, tampoco estaba perfecta pero presentaba menos problemas graves que algunas otras propuestas de otros modelos.
Para las pruebas manuales utilicé un Pixel Fold con todas las herramientas configuradas. Las tecnologías y ajustes con los que probé la app fueron Accessibility Scanner, TalkBack, Switch Access, teclado físico, Voice Access y tamaños de fuente grandes.
Problemas encontrados: presencia de descripciones de contenido redundantes. Por ejemplo, botones flotantes o tarjetas que ya contienen texto visible a la vista fueron complementados con contentDescription que repetía la misma información e incluso añadía frases como pulsar para ver detalles lo cual resulta redundante y genera lecturas repetitivas con lectores de pantalla. La solución adecuada es evitar contentDescription redundantes cuando el texto ya expone la información accesible, o poner la descripción directamente en el elemento icono cuando corresponde.
Falta de agrupación en pantallas de detalle. Los campos etiqueta y valor no se agrupan con mergeDescendants igual a true, con lo que el lector de pantalla obliga a navegar por separado por la etiqueta y por el valor en vez de leer la pareja como una sola unidad. La mejora consiste en usar semántica que fusione descendientes para filas de detalle y así exponer etiqueta y valor juntos.
Alucinaciones semánticas. Claude generó una función accessibleTextField en AccessibilityExtensions.kt que pretendía asignar Role TextField mediante la semántica, pero ese rol no existe en la API de Role de Jetpack Compose. Además muchas de esas semánticas son redundantes porque los propios composables de TextField ya aportan la información necesaria. Estas alucinaciones no bloquearon totalmente la compilación en mi caso porque el archivo no se usó, pero podrían introducir errores si se integran sin revisar.
Problemas con la navegación por botones. Con tamaños de fuente y escala de pantalla aumentados la app no respetó suficiente margen inferior y algunos contenidos quedaron ocultos tras la barra de navegación del sistema. Es fundamental respetar los insets y usar padding por WindowInsets o Scaffold con contentPadding para asegurar que elementos interactivos no queden tapados por la navegación por botones.
En resumen, la app generada por Claude mostró avances interesantes en diseño y estructura, pero dejó varios retos de accesibilidad por resolver: evitar descripciones redundantes, agrupar correctamente etiquetas y valores, no introducir roles inexistentes y asegurar compatibilidad con navegación por botones y escalado de interfaz. Estas observaciones confirman que la IA puede acelerar prototipos pero la revisión humana sigue siendo imprescindible para accesibilidad completa.
Acerca de Q2BSTUDIO: somos una empresa de desarrollo de software a medida y aplicaciones a medida especializada en soluciones basadas en inteligencia artificial y ciberseguridad. Ofrecemos servicios cloud aws y azure, servicios de inteligencia de negocio e implementaciones con Power BI para transformar datos en decisiones. Ayudamos a empresas a integrar ia para empresas mediante agentes IA personalizados, automatización de procesos y arquitecturas seguras en la nube. Si buscas software a medida o aplicaciones a medida con enfoque en inteligencia artificial y ciberseguridad Q2BSTUDIO proporciona consultoría, desarrollo y soporte para proyectos desde la idea hasta la producción.
Palabras clave para posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Estas áreas son el núcleo de nuestra oferta y las integramos en proyectos de desarrollo de aplicaciones a medida y soluciones de software a medida con un fuerte enfoque en seguridad y escalabilidad.
En próximos artículos publicaré un resumen comparativo con los resultados de todas las pruebas realizadas a lo largo de estos meses y recomendaciones prácticas para quien quiera usar IA en generación de interfaces accesibles. Mientras tanto Q2BSTUDIO sigue disponible para ayudar en proyectos que requieran integración de inteligencia artificial, ciberseguridad, servicios cloud aws y azure, agentes IA y soluciones de business intelligence con Power BI.
Enlaces relevantes mencionados en el análisis: Claude Test App en repositorio, AccessibilityExtensions.kt generado por Claude y documentación de Role en Android Developers. Recomendación final: usar los resultados generados por IA como punto de partida, pero aplicar auditoría de accesibilidad manual y ajustar semánticas e insets antes de publicar en producción.