Notas de Lanzamiento de Axe DevTools Mobile del 9 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

9 de julio de 2025

Not for use with personal data

¿Qué hay de nuevo?

La experiencia de usuario de navegación en el Panel de Control de Axe DevTools Mobile se ha actualizado, lo que le permite navegar más fácilmente entre las diferentes áreas de la plataforma Axe. Haga clic en el logotipo de Axe en la esquina superior izquierda del Panel para navegar a otros productos de Axe, como Axe Reports.

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 temporal identificada si no se lista ninguna.

important
  • Las pruebas automáticas de Axe DevTools Mobile se ejecutan en aplicaciones nativas de iOS, Android nativo y React Native. Comuníquese con su representante de Deque para obtener soluciones de pruebas de accesibilidad en su stack tecnológico.
  • Aunque puede obtener algunos resultados de vistas web o PDFs renderizados, recomendamos encarecidamente realizar pruebas utilizando Axe DevTools para Web o Axe Monitor para las pruebas de accesibilidad más completas 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 realizar escaneos en dispositivos físicos con iOS Analyzer 1.4.7

Una configuración en la versión 1.4.7 del iOS Analyzer impide que se ejecuten escaneos, devolviendo el mensaje "Prueba Fallida". Para ejecutar escaneos en un dispositivo físico, actualice al proyecto iOS Analyzer más reciente.

Error en el Proyecto del Analizador 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 de destino a través de la configuración de la prueba: ...". Actualice a la versión 2.8.2 o a la versión más reciente para resolver el error. Actualice al último dentro del proyecto iOS Analyzer.

Error "No se pudo serializar AxeResult" en el proyecto 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 proyecto iOS Analyzer más reciente.Actualice al SDK de iOS más reciente.

Falso Positivo: LabelInName y LabelAtFront en SwiftUI y Aplicaciones Multiplataforma

Algunas pantallas pueden informar falsos positivos con LabelInName y LabelAtFront debido a que se encuentra una propiedad associatedText incorrecta (#1622)

La regla de Soporte para Tipo Dinámico no funciona con el simulador de iOS 15 Pro

Hay un problema que afecta al simulador del iPhone 15 Pro que impide que se ejecute la regla de Soporte para Tipo Dinámico. Si usted optó por la regla de Soporte para Tipo Dinámico, no podrá probarla utilizando un simulador de iPhone 15 Pro. Se ha presentado un bug a Apple.

Reglas contra Controles Anidados

Al analizar una mejora para nuestras reglas, encontramos que en XCTest, los controles anidados no se devuelven en el árbol de accesibilidad. Se ha presentado un bug a Apple. (#1110)

Regla de Nombre de ImageView necesita revisión de resultados para aplicaciones UIKit

En las aplicaciones UIKit, una imagen sin un `accessibilityLabel` no es enfocada con 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 informarán como Necesitan 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 Nombre de Vista de Imagen & Nombre de Control Activo

Estamos trabajando activamente en soluciones para los siguientes falsos positivos y actualizaremos esta lista a medida que se publiquen las soluciones.

In Scroll View
Puede informar problemas para 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 un `accessibilityIdentifier` establecido pero no es enfocable por VoiceOver, y tiene controles enfocables anidados dentro de él, ActiveControlName puede informar 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 vistas, puede detectarse texto cercano incorrecto causando que estas reglas fallen. (#1622)

Android

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

Nuestra regla de Contraste de Color depende del Aprendizaje Automático para detectar texto, lo que garantiza que el texto que se escanea sea visible para los usuarios de su aplicación. En los casos donde el texto contenido en una vista tiene el mismo color que el fondo, nuestro algoritmo de Aprendizaje Automático no puede detectar si hay algún texto presente, por lo cual 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 de sugerencia pueden ver falsos positivos con la EditTextName regla. El texto de sugerencia no se introdujo hasta Android 8 (SDK 26). Usar este elemento en su aplicación XML asignará el texto de sugerencia al valor del campo de entrada de texto. Las versiones más recientes de Android están mejor equipadas para hacer accesible esta experiencia.

Para superar este problema, nuestra primera recomendación es realizar sus pruebas en versiones más recientes de Android. Si es importante que la aplicación sea accesible en versiones anteriores de Android, sin embargo, podría considerar evitar el uso de la hintText función, ya que no es oficialmente compatible.

Vistas ocultas de Android devuelven resultados

Puede ver 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 asistiva, pero Axe DevTools Mobile aún las informa como problemas.

Estamos trabajando en una solución para este problema complejo. Mientras tanto, si TalkBack no puede acceder a estas vistas, puede ignorar los problemas correspondientes. No requieren una solució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 asegurar la precisión de los resultados. La biblioteca de ML Kit debería importarse automáticamente al referenciar Axe DevTools Mobile en tus pruebas automatizadas de Espresso o UIAutomator. Sin embargo, en algunos casos, la importación automática no ocurre y verás el siguiente error en el logcat:

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

Para superar este problema, debes importar la biblioteca de ML Kit manualmente en tu proyecto. En el archivo de build.gradle tu aplicación, agrega lo siguiente bajo dependencies:

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

Espaciado del objetivo táctil y Jetpack Compose

La regla de Espaciado del Objetivo Táctil actualmente no se ejecuta en ningún componente deslizable que fue escrito en Jetpack Compose. No se puede tomar ninguna acción en este momento. ¡Sin embargo, una solución está en camino!

Error al guardar resultados localmente en API 30

En Android API 30, uno de los lugares donde intentamos guardar los 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 puede suprimirse 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 de una vista de desplazamiento están parcialmente fuera de la pantalla. Para probar un elemento en busca de accesibilidad, asegúrate de que esté completamente visible en pantalla antes de realizar el escaneo.

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

Introducida con la API 31 (Android 12) está la capacidad de ocultar superposiciones que no son del sistema. Para utilizar la aplicación Axe Analyzer, asegúrate de que esta configuración no esté activada. Si has optado por utilizar esta función por sus mejoras de seguridad, te recomendamos dejarla desactivada para las versiones de prueba internas donde puedas usar datos de prueba de manera segura y eliminar las preocupaciones de seguridad de esa forma. 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, actualiza cualquier llamada al método setHideOverlayWindows(true) a setHideOverlayWindows(false) en las ventanas de actividad afectadas.

Captura de pantalla perdida (caja negra) en el panel de control

Para desbloquear la funcionalidad completa de Axe DevTools para Mobile, asegúrate de que las capturas de pantalla estén habilitadas. Recomendamos habilitar capturas de pantalla en una versión de depuración o prueba de tu aplicación que utilice datos simulados para evitar preocupaciones de seguridad. Consulta nuestra guía para habilitar capturas de pantalla en aplicaciones Android.

Bloqueo cuando `minifiedEnabled` está establecido en true

Si reduces tu compilación, verás un bloqueo con un registro de error que informa que no se pudo encontrar un adaptador al intentar iniciar sesión en la biblioteca de Axe DevTools. Desactiva la minificación para tus compilaciones de depuración con Axe DevTools implementado. (#729)

Las compilaciones con r8 habilitado arrojan 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 usa las APIs agnósticas 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()?', consulta la API setTestTag de Compose.

Mensaje de registro:MlKitContext has not been initialized

Si encuentras este mensaje, algunos resultados de reglas pueden no retornar como se espera cuando esa regla está utilizando inteligencia artificial. Las reglas afectadas incluyen Contraste de colores, Texto enfocable y Nombre de elemento anidado. (#841)

MAUI: Regla de Nombre de Texto de Edición

Debido a las limitaciones de la arquitectura de aplicaciones MAUI en el ecosistema Android, la regla de Nombre de Texto de Edición se mostrará como Necesita Revisión en el panel de control cuando se sospecha de un fallo para la versión SDK 5.5.0 y superiores. Por favor confirma el comportamiento correcto manualmente para este caso.

Android Nativo: Diálogos / Modales Personalizados

Cuando estés implementando diálogos o modales personalizados que no extienden los controles nativos, puedes obtener resultados de 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 asegurar que se comporten con la tecnología de asistencia de la manera deseada.

Panel de control web

Captura de pantalla perdida

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 sucede por razones de seguridad en tu aplicación de producción. Considera eliminar este requisito para tu compilación de pruebas para permitir la funcionalidad completa en el Panel de Control de Axe DevTools Mobile.

Algunos nombres de escaneo de Android están sin formato

Algunos nombres de escaneo de Android que se predeterminan al título de la pantalla aparecerán como el nombre completo de la clase, incluido 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 provisional, puedes establecer el nombre del escaneo desde el panel de control o frameworks. (#1643)