Notas de la versión de Axe DevTools Mobile - 12 de febrero de 2025
12 de febrero de 2025
Versiones de los componentes
- Android SDK (axe-devtools-android v6.1.0)
- Android Analyzer (Axe Accessibility Analyzer v1.11.0)
- Controlador Android Appium (axe-appium-uiautomator2-driver v1.3.0)
- Axe DevTools Reporter CLI v4.10.0
Cómo actualizar: Android SDK, Android Analyzer, Controlador Android Appium, Axe DevTools Reporter CLI
¿Qué hay de nuevo?
Controlador Android Appium
¡La función Reglas de Ignorar ahora está disponible para el controlador Android Appium! Consulte nuestra documentación de Reglas de Ignorar para Android teniendo en cuenta que para el controlador Appium Android, las Reglas de Ignorar solo se pueden implementar con vistas todas, no por vistas selectas o nombre de clase. Para saber más sobre cómo Ignorar Reglas, vea nuestra documentación de configuración de Appium. El soporte para el controlador iOS Appium llegará pronto.
Axe Reporter CLI
Ahora, cuando genere un informe HTML a partir del archivo JSON del escaneo móvil, podrá ver la Puntuación de Accesibilidad junto con el conteo total de problemas, el Ratio de Aprobación y la suma de Severidad de Problemas. Puede ver una puntuación para todos los escaneos o seleccionar un solo escaneo para ver su puntuación. Esta adición se alinea con la Puntuación de Accesibilidad que ve en el Tablero de Axe DevTools Mobile.
Para referencia, el Ratio de Aprobación es el porcentaje de requisitos de accesibilidad que fueron cumplidos con éxito del total de requisitos verificados. El Puntuación de Accesibilidad se calcula en función del número total de pantallas, el número de problemas y la gravedad de esos problemas.
Correcciones para Android
- Resultados más consistentes y fiables en aplicaciones nativas y multiplataforma
- Mejoras de accesibilidad para la aplicación Analyzer
- Actualizaciones para mejorar el rendimiento y la precisión de todas las reglas de accesibilidad
Problemas conocidos
Si está experimentando alguno de los problemas a continuación, por favor contáctenos en helpdesk@deque.com o support.deque.com. Entonces podremos notificarle una vez que se resuelva o de una solución alternativa identificada si no se encuentra listada.
- Las pruebas automatizadas de Axe DevTools Mobile se ejecutan en aplicaciones nativas de iOS, Android nativo y React Native. Por favor, contacte a su representante de Deque para obtener soluciones de pruebas de accesibilidad en su pila tecnológica.
- Si bien puede obtener algunos resultados de vistas web o PDFs renderizados, recomendamos enfáticamente realizar pruebas usando Axe DevTools for Web o Axe Monitor para las pruebas de accesibilidad más completas para la web.
iOS
Error en el Proyecto del Analizador y Pruebas por Id. del Paquete en la versión 2.8.1
La funcionalidad al probar una aplicación por identificador del paquete se interrumpió en la versión 2.8.1, lo que resultó en un error titulado "No se especificó la ruta de la aplicación de destino a través de la configuración de prueba: ...". Actualizar a la versión 2.8.2 o la última versión para resolver el error. Actualice a la última dentro del proyecto del Analizador iOS.
Error "No se pudo Serializar Resultados de Axe" en el Proyecto del Analizador v1.2.0 y SDK v2.12.3
Escanear algunas aplicaciones con esta versión del analizador y SDK resultaría en un error de "No se pudo Serializar Resultados de Axe". Actualice a la última versión para resolver el error. Actualice al último proyecto del Analizador iOS.Actualice al último SDK de iOS.
Falso Positivo: LabelInName y LabelAtFront en SwiftUI y Aplicaciones Multiplataforma
Algunas pantallas pueden reportar 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 la regla Supports Dynamic Type se ejecute. Si está inscrito en la regla Supports Dynamic Type, no podrá probarla utilizando un simulador de iPhone 15 Pro. Se reportó un error a Apple.
Reglas contra Controles Anidados
Mientras observábamos una mejora para nuestras reglas, encontramos que en XCTest, los controles anidados no se devuelven en el árbol de accesibilidad. Se reportó un error a Apple. (#1110)
Regla de Nombre de ImageView Necesita Revisar Resultados para Aplicaciones UIKit
En aplicaciones UIKit, una imagen sin un `accessibilityLabel` no es enfocada con tecnología asistiva por defecto.
Las propiedades que usamos para verificar la focalización de Apple pueden ser inexactas cuando se establece un `accessibilityIdentifier` en la imagen. Debido a este comportamiento inesperado, los resultados de problemas de Nombre de ImageView en aplicaciones UIKit se informarán como Necesita Revisar. Se ha presentado un informe de error a Apple. (#1633)
Falso Positivo: En Scroll View, Label In Name, Label at Front, y Vista de Imagen v2.11.0 & ActiveControlName
Estamos trabajando activamente en fijar los siguientes falsos positivos y actualizaremos esta lista a medida que se liberen las soluciones.
In Scroll View
Puede reportar problemas para texto dentro de elementos con comportamiento de banner. Para hacer estos elementos accesibles para aquellos que necesitan texto más grande, use UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Si un UIImageView tiene un `accessibilityIdentifier` configurado pero no es accesible por VoiceOver, y tiene controles accesibles anidados dentro de él, ActiveControlName puede reportar un falso positivo en el UIImageView. Eliminar el `accessibilityIdentifier` resuelve el problema. Se ha presentado un error con 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 vista, puede detectarse texto cercano incorrecto causando que estas reglas fallen. (#1622)
Android
Espaciado de Objetivo Táctil y Jetpack Compose
La regla de Espaciado de Objetivo Táctil actualmente no se ejecuta en ningún componente de control deslizante escrito en Jetpack Compose. No se puede tomar ninguna acción en este momento. ¡Sin embargo, pronto habrá una solución!
Error al guardar resultados localmente en API 30
En Android API 30, uno de los lugares donde intentamos guardar resultados localmente tiene un error de permisos. El resultado seguirá guardándose como un archivo JSON a pesar de que se muestre este error. El error se puede suprimir 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 Apps Híbridas y Apps Multiplataforma
En algunas apps híbridas y multiplataforma, podríamos devolver resultados inesperados cuando los elementos en una vista desplazable están parcialmente fuera de la pantalla. Para probar un elemento de accesibilidad, asegúrese de que esté completamente en pantalla antes de realizar el escaneo.
Aplicación Analizadora: Botón de Acción Flotante Desaparece
Introducida con API 31 (Android 12) está la capacidad de ocultar superposiciones no pertenecientes al sistema. Para utilizar la aplicación 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 versiones de prueba internas donde puede 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 aplicación 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 de Control
Para desbloquear la funcionalidad completa de Axe DevTools para Móvil, asegúrese de que las capturas de pantalla estén habilitadas. Recomendamos habilitar las capturas de pantalla en una versión de prueba o depuración de su aplicación que utilice datos simulados para evitar preocupaciones de seguridad. Consulte nuestra guía para habilitar capturas de pantalla en aplicaciones Android.
Error cuando `minifiedEnabled` está configurado en true
Si minimiza su compilación, verá un error con un registro que informa que no se pudo encontrar un adaptador al intentar iniciar sesión en la biblioteca Axe DevTools. Desactive la minimización para sus compilaciones de depuración con Axe DevTools implementado. (#729)
Las compilaciones con r8 habilitado lanzan un error
Una compilación con r8 habilitado puede intentar minimizar la biblioteca axeDevTools, lo que resulta 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, utilice las APIs agnósticas de diseño para seguir recibiendo actualizaciones. Si continúa utilizando las APIs de Compose y encuentra un error como `Se esperaba exactamente '1' nodo pero se encontraron '2' nodos que cumplen: (isRoot)` o `Ninguna Vista inicializada, ¿llamó a AxeDevToolsCompose.setComposeTestRule()?`, por favor consulte API Compose setTestTag.
Mensaje de registro:MlKitContext has not been initialized
Si encuentra este mensaje, algunos resultados de reglas pueden no devolver como se espera cuando esa regla utiliza inteligencia artificial. Las reglas afectadas incluyen Contraste de Color, Texto Accesible y Nombre de Elemento Anidado. (#841)
MAUI: Regla de Nombre de Texto de Edición
Debido a limitaciones de la arquitectura de la aplicación MAUI en el ecosistema Android, la regla de Nombre de Texto de Edición aparecerá como Needing Review en el panel de control cuando se sospeche un fallo para la versión SDK 5.5.0 o superior. Por favor, confirme el comportamiento correcto manualmente en este caso.
Android Nativo: Diálogos/Modales Personalizados
Cuando está implementando diálogos o modales personalizados que no extienden los controles nativos, podría obtener resultados para vistas detrás del modal. En este caso, recomendamos no ejecutar nuestra herramienta contra estos modales o diálogos personalizados y en su lugar revisarlos manualmente para garantizar que se comporten con la tecnología asistencial como se desea.
Panel de Control Web
Captura de pantalla faltante
Si la captura de pantalla falta en la página de detalles del escaneo, su aplicación puede estar 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 en su versión de prueba para permitir la funcionalidad completa en el Panel de Control Móvil de Axe DevTools.
Algunos nombres de escaneo de Android no están formateados
Algunos nombres de escaneo de Android que se configuran por defecto en el 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 pantalla se formatee en un nombre más legible. Como solución temporal, puede configurar el nombre del escaneo desde el panel de control o los marcos. (#1643)
