Notas de la versión de axe DevTools Mobile del 28 de febrero de 2024
28 de febrero de 2024
Versiones de componentes
- axeDevToolsXCUI v2.9.1
- axe-devtools-android v5.2.0
¿Qué hay de nuevo?
Solución Appium mejorada
- El 14 de febrero se lanzó una solución mejorada para usar Appium. Consulte las notas de la versión.
Android
- El método connect() para autenticarse en el servidor axe DevTools Mobile quedará obsoleto en favor de loginWithUsername() o loginWithApiKey(). Referencia de API
- Ahora hay una nueva API disponible que le permite usar etiquetas de prueba para localizar y escanear un elemento componible en particular en los diseños de Jetpack Compose. Esto puede ser útil cuando una pantalla tiene una combinación de diseños Jetpack Compose y XML. Ejemplo
Bug Fixes
iOS
- Se corrigió un falso negativo con la regla de nombre de control activo donde un
searchBarTextField
Sin una etiqueta accesible se estaba pasando la regla incorrectamente. - Se corrigió un falso positivo con la regla de Contraste de color en los campos de texto cuando el cursor está presente. Cuando parezca que un campo de texto está editado, lo colocaremos en estado "Necesita revisión" en lugar de "Fallido".
Android
- Se solucionó un problema por el cual el Analizador móvil a veces se bloqueaba al escanear aplicaciones multiplataforma.
- Se corrigieron falsos positivos con las reglas de Texto enfocable y Nombre de elementos anidados que se ejecutaban para vistas que no eran visibles para el usuario. La regla ya no se ejecutará a menos que la vista esté visible en la pantalla.
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.
Las vistas fuera de la pantalla pueden mostrar resultados para aplicaciones SwiftUI probadas en iOS 17
Con la versión 2.8.0 (Ver notas de la versión), los resultados ya no se informan en vistas que no son visibles, incluidas las que están fuera de la pantalla u ocultas por otra vista. Descubrimos que en las aplicaciones SwiftUI que se están probando en iOS 17, aún se muestran algunos resultados. (#1383)
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)
Falso positivo: en la vista de desplazamiento, 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)
Nombre de control activo
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. (#1226)
Falso negativo: Image View Name, texto enfocable en iOS 13 a través de iOS 14.8.1
Estamos trabajando activamente para corregir los siguientes falsos negativos y actualizaremos esta lista a medida que se publiquen las correcciones.
Nombre de la vista de la imagen
Si un UIImageView tiene un `accessibilityIdentifier` establecido pero VoiceOver no puede enfocarlo, ImageViewName puede informar un falso negativo en UIImageView. Quitar el `accessibilityIdentifier` resuelve el problema. Se ha informado de un error a Apple. (#1226)
Texto enfocable
Los elementos marcados como elementos no accesibles pueden arrojar resultados incorrectos debido a un error en el marco de Apple.
axe DevTools Mobile para Android
Fallo al usar Proguard
Si su compilación de depuración o prueba utiliza Proguard, siga los pasos para excluir Deque en su configuración de Proguard.
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.
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
Falso positivo: 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. Estamos explorando soluciones y esperamos una corrección en una versión futura.
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: 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();