Notas de la versión de Axe DevTools Mobile del 20 de febrero de 2025
20 de febrero de 2025
Versiones de componentes
- SDK iOS (axeDevToolsXCUI v2.14.0)
- Analizador iOS (axe-devtools-mobile-analyzer v1.4.8)
- Controlador Appium iOS (axe-appium-xcuitest-driver v1.2.0)
Cómo actualizar: SDK iOS, Analizador iOS, Controlador Appium iOS
¿Qué hay de nuevo?
Controlador Appium iOS
¡La función de Reglas de Ignorar ahora está disponible para el controlador Appium iOS! Consulte nuestra Documentación de las reglas de ignorar para Appium para obtener información sobre la implementación. Para aprender más sobre cómo ignorar reglas al realizar escaneos de accesibilidad, consulte nuestra Documentación de configuración de Appium.
SDK iOS
Hemos hecho que los mensajes de registro de red sean más descriptivos. Anteriormente, todos los registros de éxito solo incluían el mensaje 200 OK. Ahora verá mensajes más descriptivos, como DEQUE LOG: 200 OK - User verified. Successfully logged in., impresos en la consola.
Correcciones iOS
- Mejoras en la precisión de las siguientes reglas: Contraste de color, Texto asociado, Etiqueta en el nombre y Etiqueta al frente
Problemas conocidos
Si está experimentando alguno de los siguientes problemas, por favor contáctenos en helpdesk@deque.com o support.deque.com. Podremos notificarle una vez que esté resuelto o de una solución alternativa identificada si no se encuentra ninguna listada.
- Las pruebas automatizadas de Axe DevTools Mobile se ejecutan en aplicaciones iOS nativas, Android nativas y React Native. Por favor, contacte a su representante de Deque para obtener soluciones de pruebas de accesibilidad en su pila tecnológica.
- Aunque puede obtener algunos resultados de vistas web o archivos PDF renderizados, recomendamos encarecidamente realizar pruebas con Axe DevTools para Web o Axe Monitor para obtener pruebas de accesibilidad web más completas.
iOS
No se pueden ejecutar escaneos en dispositivos físicos con iOS Analyzer 1.4.7
Una configuración en iOS Analyzer 1.4.7 impide que los escaneos se ejecuten, devolviendo el mensaje "Prueba fallida". Para ejecutar escaneos en un dispositivo físico, actualice al último proyecto de iOS Analyzer.
Error en el proyecto de Analyzer y pruebas por ID de paquete en 2.8.1
La funcionalidad con la prueba de una aplicación por identificador de paquete fue interrumpida en la versión 2.8.1, lo que resultó en un error titulado "No se especificó la ruta de la aplicación objetivo a través de la configuración de prueba: ...". Actualice a 2.8.2 o la última versión para resolver el error. Actualice al último dentro del proyecto de iOS Analyzer.
Error "No se pudo serializar AxeResult" en el proyecto de Analyzer v1.2.0 y SDK v2.12.3
Escanear algunas aplicaciones con esta versión del analizador y SDK resultaría en un error "No se pudo serializar AxeResult". Actualice a la última versión para resolver el error. Actualice al último proyecto de iOS Analyzer.Actualice al último SDK iOS.
Falso positivo: LabelInName y LabelAtFront en aplicaciones SwiftUI y multiplataforma
Algunas pantallas pueden reportar falsos positivos con LabelInName y LabelAtFront debido a que se encuentra incorrectamente una propiedad associatedText (#1622)
La regla Soporte para Tipo Dinámico no funciona con el simulador iOS 15 Pro
Hay un problema que afecta al simulador del iPhone 15 Pro que impide que se ejecute la regla Soporte para Tipo Dinámico. Si está inscrito en la regla Soporte para Tipo Dinámico, no podrá probarla usando un simulador de iPhone 15 Pro. Se ha presentado un informe de error a Apple.
Reglas contra controles anidados
Mientras buscábamos una mejora para nuestras reglas, encontramos que en XCTest, los controles anidados no se devuelven en el árbol de accesibilidad. Se ha presentado un informe de error a Apple. (#1110)
La regla de nombre de ImageView necesita resultados de revisión para aplicaciones UIKit
En las aplicaciones UIKit, una imagen sin un `accessibilityLabel` no es focalizable con tecnología de asistencia por defecto.
Las propiedades que usamos para verificar la accesibilidad desde Apple pueden ser inexactas cuando se establece un `accessibilityIdentifier` en la imagen. Debido a este comportamiento inesperado, los resultados para problemas de nombre de ImageView en aplicaciones UIKit se informarán como Necesita Revisión. Se ha presentado un informe de error a Apple. (#1633)
Falso positivo: En vista de desplazamiento, Label In Name, Label at Front y v2.11.0 Image View Name & ActiveControlName
Estamos trabajando activamente en correcciones para los siguientes falsos positivos y actualizaremos esta lista a medida que se publiquen las correcciones.
In Scroll View
Puede reportar problemas para textos dentro de elementos que actúan como banderas. Para hacer que estos elementos estén disponibles para aquellos que requieran texto más grande, use UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Si un UIImageView tiene un `accessibilityIdentifier` establecido pero no es focalizable por VoiceOver, y tiene controles focalizables anidados dentro de él, ActiveControlName puede reportar un falso positivo en el UIImageView. Eliminar el `accessibilityIdentifier` resuelve el problema. Se ha presentado un informe de error a Apple. (#1633)
Label In Name and Label At Front
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, el texto cercano incorrecto puede ser detectado, causando que estas reglas fallen. (#1622)
Android
Espaciado del objetivo táctil y Jetpack Compose
La regla del Espaciado del Objetivo Táctil actualmente no se ejecuta en ningún componente deslizante que haya sido escrito en Jetpack Compose. No se puede tomar ninguna medida por el momento. ¡Sin embargo, una solución llegará pronto!
Error al guardar resultados localmente en API 30
En Android API 30, uno de los lugares en los que intentamos guardar los resultados localmente tiene un error de permisos. El resultado todavía se guardará como un archivo JSON a pesar de que se muestre este error. El error puede ser suprimido comentando el código en el siguiente bloque:
def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'
// finalizedBy {
// fetchAndroidFolderAxeReportsTask
// }
}
Please note that this code should only be commented out for API 30 as it will cause problems when saving locally for other API levels.
Detección de desplazamiento en aplicaciones híbridas y multiplataforma
En algunas aplicaciones híbridas y multiplataforma, podemos obtener resultados inesperados cuando los elementos en una vista desplazable están parcialmente fuera de la pantalla. Para probar un elemento por accesibilidad, asegúrese de que esté completamente en pantalla antes de realizar el escaneo.
Aplicación Analizadora: Desaparece el Botón de Acción Flotante
Introducida con la API 31 (Android 12) está la capacidad de ocultar superposiciones no del sistema. Para utilizar la app Axe Analyzer, asegúrese de que esta configuración no esté activada. Si ha optado por utilizar esta función por sus mejoras de seguridad, recomendamos dejarla desactivada para las versiones de prueba internas donde pueda utilizar datos de prueba de manera segura y eliminar preocupaciones de seguridad de esa manera. Note: this setting does not affect Google's accessibility scanner app as it's considered a system overlay.
Para utilizar la app Axe Accessibility Analyzer, actualice cualquier llamada al método setHideOverlayWindows(true) a setHideOverlayWindows(false) en las ventanas de actividad afectadas.
Captura de pantalla faltante (Caja negra) en el panel
Para desbloquear la funcionalidad completa de Axe DevTools para Móvil, asegúrese de que las capturas de pantalla estén activadas. Recomendamos habilitar capturas de pantalla en una versión de prueba o debug de su aplicación que use datos simulados para evitar preocupaciones de seguridad. Consulte nuestra guía para habilitar capturas de pantalla en aplicaciones Android.
Fallo cuando `minifiedEnabled` está configurado como verdadero
Si está minimizando su compilación, verá un fallo con un registro de error informando que no se pudo encontrar un adaptador al intentar iniciar sesión en la biblioteca de Axe DevTools. Desactive minificar para sus compilaciones de depuración con Axe DevTools implementado. (#729)
Las compilaciones con r8 activado generan un error
Una compilación con r8 activado puede intentar minimizar la biblioteca axeDevTools, resultando en un error similar a:
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)
To resolve this error add the following line to your ProGuard file to keep axeDevTools classes: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()?
Las APIs de Compose están obsoletas, por favor use las APIs agnósticas al diseño para seguir recibiendo actualizaciones. Si continúa usando las APIs de Compose y encuentra un error como `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` o `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, por favor consulte el API Compose setTestTag.
Mensaje de registro:MlKitContext has not been initialized
Si encuentra este mensaje, es posible que algunos resultados de las reglas no se devuelvan como se esperaba cuando esa regla esté utilizando inteligencia artificial. Las reglas afectadas incluyen Contraste de Color, Texto Enfocable y Nombre de Elemento Anidado. (#841)
MAUI: regla de Nombre de Texto Editar
Debido a las limitaciones de la arquitectura de la aplicación MAUI en el ecosistema Android, la regla de Nombre de Texto Editar aparecerá como Necesita Revisión en el panel cuando se sospeche de un fallo para la versión SDK 5.5.0 en adelante. Por favor, confirme el comportamiento correcto manualmente para este caso.
Android Nativo: Diálogos/Modales Personalizados
Cuando esté implementando diálogos o modales personalizados que no extienden los controles nativos, puede obtener resultados para las vistas detrás del modal. En este caso, recomendamos no ejecutar nuestra herramienta contra estos modales o diálogos personalizados y en su lugar verificarlos manualmente para asegurarse de que se comporten con la tecnología asistiva como se desea.
Panel Web
Captura de pantalla faltante
Si la captura de pantalla falta en la página de detalles del escaneo, es posible que su aplicación esté impidiendo que se tomen capturas de pantalla. A menudo, esto es por razones de seguridad en su aplicación de producción. Considere eliminar este requisito para su versión de prueba para permitir la funcionalidad completa en el Panel Móvil de Axe DevTools.
Algunos nombres de escaneo de Android no están formateados
Algunos nombres de escaneo de Android que por defecto se destinan al título de la pantalla aparecerán como el nombre completo de la clase incluyendo el identificador del paquete. En una futura versión, esto se resolverá para que el título de la pantalla se formatee en un nombre más legible. Como solución, puede establecer el nombre del escaneo desde el panel o los marcos. (#1643)
