Notas de la versión de axe DevTools Mobile del 14 de agosto de 2024
14 de agosto de 2024
Versiones de componentes
- SDK de iOS (axeDevToolsXCUI v2.12.3)
- Analizador de iOS (axe-devtools-mobile-analyzer v1.2.0)
- SDK de Android (axe-devtools-android v5.5.2)
- Analizador de Android (Analizador de accesibilidad axe v1.8.4)
Cómo actualizar: iOS SDK, iOS Analyzer, Android SDK, Android Analyzer
¿Qué hay de nuevo?
Panel de control
Mejoras en las pantallas de detalles de escaneo y emisión
Hemos actualizado las pantallas de detalles de escaneo e incidencias en el Dashboard móvil de axe DevTools para que sean más fáciles de usar y preparar el escenario para futuras mejoras. Si bien las pantallas se ven diferentes, la funcionalidad importante aún está disponible. ¿Tienes comentarios? Por favor, háganoslo saber enviándonos un correo a mobile-feedback@deque.com
iOS
Motor de reglas integrado en el proyecto de Analyzer
Hemos eliminado la dependencia de Swift Package Manager para recuperar axeDevToolsXCUI en el proyecto Xcode de iOS Analyzer. La última versión del marco XCUI ahora está incorporada en el Analizador para cada versión. Este cambio facilitará la actualización del proyecto Analyzer y garantizará que tenga el motor de reglas más reciente.
Correcciones
Android
- Se solucionó un problema por el cual la aplicación Analyzer se bloqueaba cuando el dispositivo se reiniciaba en el nivel de API 34 de Android
- Mejoras para aumentar la precisión y reducir los falsos positivos en las reglas de Contraste de color y Tamaño del objetivo táctil
- Los datos de uso ahora están disponibles en axe Reports
iOS
- Se mejoró la forma en que detectamos si las vistas de SwiftUI son visibles para el usuario, lo que reducirá los falsos positivos y mejorará la precisión de varias reglas.
- Mejoras para aumentar la precisión y reducir los falsos positivos en las siguientes reglas: Acción inaccesible, Texto enfocable, Título de pantalla, Nombre de elementos anidados
Problemas Conocidos
Si experimenta alguno de los problemas que se indican a continuación, comuníquese con nosotros a helpdesk@deque.com o support.deque.com. Luego podremos notificarle una vez resuelto o de una solución alternativa identificada si no hay ninguna en la lista.
- Las pruebas automatizadas de axe DevTools Mobile se ejecutan en aplicaciones nativas de iOS, Android y React Native. Comuníquese con su representante de Deque para obtener soluciones de pruebas de accesibilidad en su pila tecnológica.
- Si bien puede obtener algunos resultados de las vistas web o los PDF renderizados, le recomendamos encarecidamente realizar pruebas con axe DevTools for Web o axe Monitor para obtener las pruebas de accesibilidad más completas para la web.
axe DevTools Mobile para iOS
Error en el Proyecto del Analizador & Prueba por ID de paquete en 2.8.1
La funcionalidad para probar una aplicación por identificador de paquete no funcionaba en la versión 2.8.1, lo que generaba un error titulado "No se especificó la ruta de la aplicación de destino a través de la configuración de prueba: ...". Actualice a 2.8.2 o la última versión para resolver el error. Actualización a la última versión del proyecto iOS Analyzer.
Falso positivo: LabelInName y LabelAtFront en SwiftUI y aplicaciones multiplataforma
Algunas pantallas pueden informar falsos positivos con LabelInName y LabelAtFront debido a que se encontró una propiedad associatedText incorrecta (#1622)
La regla Supports Dynamic Type no funciona con el simulador de iOS 15 Pro
Hay un problema que afecta al simulador de iPhone 15 Pro que impide que se ejecute la regla Supports Dynamic Type. Si ha optado por la regla Supports Dynamic Type, no podrá probarla usando un simulador de iPhone 15 Pro. Se ha informado de un error a Apple.
Reglas contra los controles anidados
Mientras buscábamos una mejora para nuestras reglas, descubrimos que en XCTest, los controles anidados no se devuelven en el árbol de accesibilidad. Se ha informado de un error a Apple. (#1110)
La regla de nombre de ImageView para aplicaciones UIKit necesita revisión de resultados
En las aplicaciones UIKit, una imagen sin `accessibilityLabel` no se puede enfocar con tecnología de asistencia de forma predeterminada.
Las propiedades que usamos para verificar la enfocabilidad de Apple pueden ser inexactas cuando se configura un `accessibilityIdentifier` en la imagen. Debido a este comportamiento inesperado, los resultados de los problemas de ImageView Name en las aplicaciones UIKit se informarán como Necesita revisión. Se ha enviado un informe de error a Apple. (#1633)
Falso positivo: en Scroll View, Label In Name, Label at Front, y Image View Name v2.11.0 & ActiveControlName
Estamos trabajando activamente para corregir los siguientes falsos positivos y actualizaremos esta lista a medida que se publiquen las correcciones.
En Scroll View
Puede informar problemas de texto dentro de elementos que funcionan como banners. Para que estos elementos estén disponibles para aquellos que requieren un texto más grande, utilice UILargeContentViewer
. (#622)
v2.11.0 Nombre de vista de imagen y NombreControlActivo
Si UIImageView tiene un `accessibilityIdentifier` establecido pero VoiceOver no puede enfocarlo y tiene controles enfocables anidados dentro de él, ActiveControlName puede informar un falso positivo en UIImageView. Quitar el `accessibilityIdentifier` resuelve el problema. Se ha informado de un error a Apple. (#1633)
Etiqueta en el nombre y etiqueta al principio
Estas dos reglas buscan la etiqueta visible de un control entre los elementos cercanos para ayudar a determinar el estado de la regla. En algunas jerarquías de visualización, se puede detectar texto cercano incorrecto, lo que provoca que estas reglas fallen. (#1622)
axe DevTools Mobile para Android
La captura de pantalla se muestra como un cuadro negro en el tablero.
Para desbloquear la funcionalidad completa de axe DevTools para dispositivos móviles, asegúrese de que las capturas de pantalla estén habilitadas. Recomendamos habilitar capturas de pantalla en una versión de depuración o prueba de su aplicación que use datos simulados para evitar problemas de seguridad. Consulta nuestra guía para habilitar capturas de pantalla en aplicaciones de Android.
Se bloquea cuando `minifiedEnabled` se establece como verdadero
Si minimiza su construcción, verá un cierre inesperado con un registro de error que informa que no se pudo encontrar un adaptador al intentar iniciar sesión en la biblioteca DevTools de axe. Deshabilite la minimización para sus construcciones de depuración con axe DevTools implementado. (#729)
Las compilaciones con r8 habilitado arrojan un error
Una construcción con r8 habilitado puede intentar minimizar la biblioteca axeDevTools, lo que genera un error similar al siguiente:
Caused by: java.lang.NullPointerException: throw with null exception at g.b.b.a$a.a(Unknown Source:1) at g.b.b.a$a.a(Unknown Source:0) at g.b.b.a.a(AccessToken.java:190)Para resolver este error, agregue la siguiente línea a su archivo ProGuard para mantener las clases axeDevTools:
keep class com.deque.** { *; }
Mensaje de error similar a:
Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)
o: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
Si encuentra un error como `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` o `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, consulte la API setTestTag de Compose.
Mensaje de registro:MlKitContext has not been initialized
Si aparece este mensaje, es posible que algunos resultados de las reglas no aparezcan como se esperaba cuando esa regla utiliza inteligencia artificial. Las reglas afectadas incluyen Contraste de color, Texto con foco y Nombre de elemento anidado. (#841)
MAUI: Regla de Nombre de Texto Editable
Debido a las limitaciones del renderizado de la arquitectura de la aplicación MAUI en el ecosistema Android, la regla Editar nombre de texto se mostrará como Necesita revisión en el panel cuando se sospeche de una falla en la versión 5.5.0 y posteriores del SDK. Confirme manualmente el comportamiento correcto para este caso.
Android nativo: diálogos y modales personalizados
Al implementar cuadros de diálogo o ventanas modales personalizadas que no amplían los controles nativos, puede que obtenga resultados de las vistas que se encuentran detrás de la ventana modal. En este caso, recomendamos no ejecutar nuestra herramienta en estas ventanas modales o cuadros de diálogo personalizados y, en su lugar, verificarlos manualmente para garantizar que se comporten con la tecnología de asistencia como se desea.
Panel de control de axe DevTools Mobile
Falta captura de pantalla
Si la captura de pantalla falta en la página de detalles del escaneo, es posible que tu aplicación esté impidiendo que se tomen capturas de pantalla. A menudo, esto se debe a razones de seguridad en tu aplicación de producción. Considere eliminar este requisito para su compilación de prueba para permitir la funcionalidad completa en el Dashboard de axe DevTools Mobile.
Algunos nombres de escaneo de Android no tienen formato
Algunos nombres de escaneo de Android que están predeterminados en el título de la pantalla aparecerán como el nombre de clase completo, incluido el identificador del paquete. En una versión futura, se resolverá este problema para que el título de la pantalla tenga un formato más legible. Como solución alternativa, puede configurar el nombre del análisis desde el panel de control o los frameworks. (#1643)
axe DevTools Mobile para Appium
Falsos positivos: nombre de vista activa, espaciado de elementos interactivos
Estamos trabajando activamente para corregir los siguientes falsos positivos y actualizaremos esta lista a medida que se publiquen las correcciones.
Nombre de vista activa
Debido a las limitaciones en la información disponible a través de la plataforma Appium, hemos identificado un resultado incorrectamente positivo para el nombre de vista activa al usar la propiedad labeledBy
para proporcionar una etiqueta para un elemento de botón.
Touch Target Spacing en la plataforma iOS para aplicaciones SwiftUI y React Native
Los controles más grandes pueden fallar en el espaciado de elementos interactivos cuando son mayores que el requisito mínimo de 24 pt x 24 pt. (#411)
Falso negativo: acción inaccesible en Android React Native
Es posible que vea resultados contradictorios para esta nueva regla al escanear aplicaciones React Native en la plataforma Android. Algunas vistas tendrán un elemento de botón anidado, lo que provocará un error en el botón principal, pero un pase en el botón secundario. (#407)
React Native: etiqueta en el nombre y etiqueta al frente
Debido a las limitaciones en la información disponible a través de la plataforma Appium, hemos identificado que las reglas Label In Name y Label At Front no pueden ejecutarse para aplicaciones creadas con React Native. Estamos explorando soluciones y esperamos una corrección en una versión futura.
React Native y .NET MAUI: Inspeccionar jerarquía de vistas mostrando la pantalla anterior
A veces, la propiedad de origen de la página de Appium necesita tiempo adicional para actualizarse entre escaneos. Si esto sucede, verá la jerarquía de vistas de una pantalla anterior al usar la función de inspección en el panel. Para solucionarlo, agregue un pequeño tiempo de espera antes de llamar a la API de origen de la página para solicitar el escaneo de accesibilidad. Ejemplo:
await driver.pause(1000); const result = await driver.getPageSource();
Limitación: Nombre de la vista de imagen para imágenes decorativas en Android
Debido a las limitaciones en la información disponible a través de la plataforma Appium, hemos identificado que la regla Nombre de vista de imagen no puede probar con precisión los criterios de éxito de imágenes decorativas en Android. Los resultados de las imágenes sin un nombre accesible se mostrarán como "Necesita revisión" en el panel para un análisis más detallado.