Notas de la versión de axe DevTools Mobile del 27 de marzo de 2024
27 de marzo de 2024
Versiones de componentes
- axe-devtools-android v5.3.0
- Complemento axeDevToolsMobile para Appium v2.0.0
¿Qué hay de nuevo?
Appium
- Cambio importante: en función de los comentarios de los clientes, hemos realizado los siguientes cambios para que nuestro complemento Appium sea más fácil de usar.
- Ya no es necesario que utilice el método del controlador de Appium para iniciar un análisis de accesibilidad.
page source
En su lugar, ahora utilizará la funcionalidad del controlador.execute script
Esto significa que tienes la libertad de utilizar el método para otros fines en tus pruebas de Appium.page source
Tenga en cuenta: cuando ejecute nuestro script, recuperaremos el código fuente de la página automáticamente. Si ya ha recuperado el código fuente de la página durante su prueba, pásela al ejecutar nuestro script para evitar recuperarla dos veces. - Ya no es necesario establecer una funcionalidad para el
key
. En su lugar, pasará su clave API a nuestro script. - Consulte la guía de migración para actualizar de v1.0.0 a v2.0.0
- ¿Empezando? Consulte la documentación de Appium para obtener instrucciones de configuración y ejemplos
- Ya no es necesario que utilice el método del controlador de Appium para iniciar un análisis de accesibilidad.
Correcciones de errores
Android
- Se solucionó un problema por el cual guardar resultados localmente de pruebas automatizadas no funcionaba con Gradle versión 8 o superior.
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 y .NET MAUI: Label In Name & Label At Front
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();