Notas de la versión de Axe DevTools Mobile del 2 de julio de 2025

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

2 de julio de 2025

Not for use with personal data

Versiones de Componentes

iOS

  • iOS SDK (axeDevToolsXCUI v2.16.0)
  • Analizador iOS (axe-devtools-mobile-analyzer v1.4.12)
  • Controlador iOS Appium (axe-appium-xcuitest-driver v1.5.0)
    • (Derivado de XCUITest v9.2.3)

Cómo actualizar: iOS SDK, Analizador iOS, Controlador iOS Appium

Android

  • Android SDK (axe-devtools-android v7.0.0)
  • Analizador Android (Axe Accessibility Analyzer v2.0.0)
  • Controlador Android Appium (axe-appium-uiautomator2-driver v1.4.2)
    • (Derivado de UiAutomator2 v4.2.4)

Cómo actualizar: Android SDK, Analizador Android, Controlador Android Appium

¿Qué hay de nuevo?

URLs de Grupos de Escaneo

Ahora puede crear una URL para un grupo de hasta 20 resultados de escaneo, con nuestros SDKs de Android e iOS. Construya una URL para un solo escaneo o un grupo de escaneos con nuestros controladores Appium.
Visite las siguientes páginas para obtener detalles sobre cómo implementar esta función:

Correcciones

iOS

  • Solicitudes de red optimizadas para enviar escaneos con un nombre de escaneo y/o etiquetas
  • Mejoras en la precisión de las siguientes reglas: Texto Asociado, Contraste de Color, Etiqueta en Nombre, Etiqueta al Frente

Cambios importantes

APIs de XML y Compose de Android eliminadas

Nos hemos movido hacia una implementación simplificada de Axe DevTools para Android que ha resultado en la obsolescencia de las APIs de XML y Compose. Indicamos que este cambio se llevaría a cabo en las notas de la versión de octubre de 2024. Si aún no lo ha hecho, su equipo debería cambiar a las APIs independientes del diseño para continuar con el soporte y el acceso a las últimas actualizaciones.

Soporte de Nivel de API de Android

Hemos añadido soporte para el nivel 36 de la API de Android para el SDK. El nivel mínimo de API de Android compatible es ahora 26 tanto para el SDK como para la aplicación Mobile Analyzer.

Para preguntas o inquietudes sobre estos cambios importantes, contacte a support.deque.com.

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 sobre una solución alternativa identificada si no hay ninguna listada.

important
  • La prueba automatizada de Axe DevTools Mobile se ejecuta en aplicaciones nativas de iOS, Android nativo y React Native. Por favor, contacte a su representante de Deque para soluciones de pruebas de accesibilidad en su conjunto tecnológico.
  • Si bien puede obtener algunos resultados de las vistas web o los PDFs renderizados, recomendamos encarecidamente usar Axe DevTools para Web o Axe Monitor para obtener la prueba de accesibilidad más completa para la web.

iOS

Color Contrast rule does not run when text and background colors are the same

Our Color Contrast rule depends on Machine Learning to detect text, which ensures that the text being scanned is visible to users of your application. In cases where the text contained in a view is the same color as the background, our Machine Learning algorithm is unable to detect if any text is present, so the Color Contrast rule does not run on this view.

No se pueden ejecutar escaneos en dispositivos físicos con iOS Analyzer 1.4.7

Una configuración en el iOS Analyzer 1.4.7 impide que se realicen escaneos, devolviendo el mensaje „Test Failed“. Para ejecutar escaneos en un dispositivo físico, actualice al último proyecto de iOS Analyzer.

Error en el proyecto del Analyzer y Pruebas por ID de paquete en 2.8.1

La funcionalidad de prueba de una aplicación por identificador de paquete se rompió 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 la 2.8.2 o a la versión más reciente para resolver el error. Actualice a lo más reciente dentro del proyecto iOS Analyzer.

Error „No se pudo serializar AxeResult“ en el proyecto del Analyzer v1.2.0 y SDK v2.12.3

El escaneo de algunas aplicaciones con esta versión del analyzer 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 iOS SDK.

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 una propiedad associatedText incorrecta (#1622)

La regla Supporta Tipo Dinámico no funciona con el simulador iOS 15 Pro

Hay un problema que afecta al simulador iPhone 15 Pro que impide que la regla Supporta Tipo Dinámico se ejecute. Si usted participa en la regla Supporta Tipo Dinámico, no podrá probarla usando un simulador iPhone 15 Pro. Se ha presentado un 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 error a Apple. (#1110)

La regla Nombre de ImageView necesita revisión de resultados para aplicaciones UIKit

En aplicaciones UIKit, una imagen sin un `accessibilityLabel` no se puede enfocar con la tecnología asistiva por defecto.
Las propiedades que usamos para verificar la capacidad de enfoque 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 reportarán como Necesitan Revisión. Se ha presentado un informe de error a Apple. (#1633)

Falso positivo: En Scroll View, Label In Name, Label at Front, y Nombre de Imagen v2.11.0 & Nombre de Control Activo

Estamos trabajando activamente en solucionarlos siguientes falsos positivos y actualizaremos esta lista a medida que se liberen soluciones.

In Scroll View
Puede reportar problemas para el texto dentro de elementos que se comportan como banners. Para que estos elementos estén disponibles para aquellos que requieren texto más grande, use UILargeContentViewer. (#622)

v2.11.0 Image View Name & Active Control Name
Si un UIImageView tiene configurado un `accessibilityIdentifier` pero no es enfocadle por VoiceOver, y tiene controles enfocables anidados dentro, 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 vista, puede detectarse el texto incorrecto cercano, causando que estas reglas fallen. (#1622)

Android

La regla de Contraste de Color no se ejecuta cuando los colores de texto y de fondo son los mismos

Nuestra regla de Contraste de Color depende del Aprendizaje Automático para detectar texto, lo cual asegura que el texto escaneado sea visible para los usuarios de su aplicación. En casos donde el texto contenido en una vista es del mismo color que el fondo, nuestro algoritmo de Aprendizaje Automático no puede detectar si hay algún texto presente, por lo que la regla de Contraste de Color no se ejecuta en esta vista.

EditTextName en Android 7 (SDK 24-25)

Las aplicaciones escritas con XML que utilizan la función de texto resaltado pueden ver falsos positivos con la EditTextName regla. El texto resaltado no se introdujo hasta Android 8 (SDK 26). Usar este elemento en su aplicación XML asignará el texto resaltado al valor del campo de entrada de texto. Las versiones más recientes de Android están mejor equipadas para hacer esta experiencia accesible.

Para superar este problema, nuestra primera recomendación es ejecutar sus pruebas en versiones más nuevas de Android. Sin embargo, si es importante que la aplicación sea accesible en versiones anteriores de Android, podría considerar evitar el uso de la hintText característica, ya que no está oficialmente soportada.

Vistas ocultas de Android que devuelven resultados

Puede que vea resultados para vistas que están ocultas detrás de otras vistas en la pantalla. Estas vistas ocultas no están disponibles para la tecnología de asistencia, pero Axe DevTools Mobile aún las reporta como problemas.

Estamos trabajando en una solución para este problema complejo. Mientras tanto, si TalkBack no puede alcanzar estas vistas, puede ignorar los problemas correspondientes. No requieren una corrección para garantizar la accesibilidad.

Error al ejecutar la detección de texto de ML Kit

La detección de texto de ML Kit es necesaria en muchas de las reglas de Axe DevTools Mobile para garantizar la precisión de los resultados. La biblioteca ML Kit debe importarse automáticamente al hacer referencia a Axe DevTools Mobile en sus pruebas automatizadas de Espresso o UIAutomator. Sin embargo, en algunos casos, la importación automática no ocurre y verá el siguiente error en el logcat:

Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.

Para superar este problema, debe importar la biblioteca ML Kit a su proyecto manualmente. En el build.gradle archivo de su aplicación, agregue lo siguiente bajo dependencias:

implementation 'com.google.mlkit:text-recognition:16.0.1'

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 que haya sido escrito en Jetpack Compose. No se puede tomar ninguna acción en este momento. ¡Sin embargo, una solución llegará pronto!

Error al guardar resultados localmente en API 30

En Android API 30, una de las ubicaciones en las que intentamos guardar resultados localmente tiene un error de permisos. El resultado aún se guardará 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 aplicaciones híbridas y multiplataforma

En algunas aplicaciones híbridas y multiplataforma, podemos devolver resultados inesperados cuando los elementos en una vista de desplazamiento están parcialmente fuera de la pantalla. Para probar un elemento en cuanto a accesibilidad, asegúrese de que esté completamente en pantalla antes de realizar el escaneo.

Aplicación Analyzer: el botón de acción flotante desaparece

Con la API 31 (Android 12) se introdujo la capacidad de ocultar superposiciones no sistémicas. 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 las compilaciones de pruebas 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 (cuadro negro) en el tablero

Para desbloquear la funcionalidad completa de Axe DevTools para móviles, asegúrese de que las capturas de pantalla estén habilitadas. Recomendamos habilitar las capturas de pantalla en una versión de depuración o prueba de su aplicación que utilice datos simulados para evitar problemas de seguridad. Consulte nuestra guía para habilitar capturas de pantalla en aplicaciones Android.

Error al establecer `minifiedEnabled` en verdadero

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)

Compilaciones con r8 habilitado producen un error

Una compilación con r8 habilitado 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 API de Compose están obsoletas, por favor use las API independientes de diseño para seguir recibiendo actualizaciones. Si continúas usando las API de Compose y encuentras 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 consulta la API Compose setTestTag.

Mensaje de registro:MlKitContext has not been initialized

Si encuentra este mensaje, es posible que algunos resultados de 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 del Elemento Anidado. (#841)

MAUI: Regla de Nombre de Texto Editable

Debido a limitaciones de la arquitectura de aplicaciones MAUI al renderizar en el ecosistema Android, la regla de Nombre de Texto Editable se mostrará como Necesita Revisión en el tablero cuando se sospeche de un fallo para la versión SDK 5.5.0 y superiores. 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 vistas detrás del modal. En este caso, recomendamos no ejecutar nuestra herramienta contra estos modales o diálogos personalizados y en su lugar verificar manualmente para asegurar que se comportan como se desea con tecnología de asistencia.

Tablero Web

Captura de Pantalla Faltante

Si falta la captura de pantalla en la página de detalles del análisis, 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 construcción de pruebas para permitir la funcionalidad completa en el Tablero Móvil de Axe DevTools.

Algunos nombres de análisis de Android no están formateados

Algunos nombres de análisis de Android que se predeterminan al título de la pantalla aparecerán como el nombre completo de la clase incluyendo el identificador del paquete. En una versión futura, esto se resolverá para que el título de la pantalla se formatee en un nombre más legible. Como solución temporal, puede establecer el nombre del análisis desde el tablero o los marcos. (#1643)