Notas de la versión de Axe DevTools Mobile del 21 de mayo 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

21 de mayo de 2025

Not for use with personal data

Versiones de Componentes

iOS

  • SDK de iOS (axeDevToolsXCUI v2.15.0)
  • Analizador de iOS (axe-devtools-mobile-analyzer v1.4.11)
  • Controlador Appium de iOS (axe-appium-xcuitest-driver v1.4.0)

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

Android

  • SDK de Android (axe-devtools-android v6.3.0)
  • Analizador de Android (Axe Accessibility Analyzer v1.13.0)
  • Controlador Appium de Android (axe-appium-uiautomator2-driver v1.4.1)

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

¿Qué hay de nuevo?

Alineación de la fuente de las reglas

Ahora, cuando referencias nuestras reglas de accesibilidad, encontrarás que se alinean directamente con los criterios de éxito de las Pautas de Accesibilidad para el Contenido Web (WCAG) o que se consideran una mejor práctica definida por una nota en las WCAG, el consejo de expertos en A11y de Deque, o las recomendaciones de Apple y Google.

SDK de Android y Aplicación Analizadora

Se implementó una nueva y mejorada manera de probar la orientación de la pantalla.

Reglas experimentales desactivadas por defecto

Para alinearnos con el comportamiento de Axe DevTools para Web, hemos desactivado las reglas experimentales por defecto en el panel de control de Axe DevTools Mobile. Aprende más sobre reglas experimentales y cómo puedes habilitarlas si lo deseas.

Correcciones

iOS

  • Las reglas ya no levantarán problemas para los controles dentro del teclado proporcionado por el sistema operativo.
  • Mejoras en la precisión de las reglas "Etiqueta en el nombre" y "Control activo"

Android

  • Mejora del manejo de errores para una excepción al recopilar AccessibilityNodeInfo
  • Ajuste en la implementación de MLKit para reducir las desincronizaciones de versiones
  • Mejoras en la precisión de las reglas "Nombre de EditText" y "Contraste de color"

Problemas conocidos

Si experimentas alguno de los problemas a continuación, por favor contáctanos en helpdesk@deque.com o support.deque.com. De este modo podremos notificarte una vez que se resuelva o de una solución alternativa identificada si no se lista.

important
  • Las pruebas automáticas de Axe DevTools Mobile se ejecutan en aplicaciones nativas de iOS, Android nativas y de React Native. Por favor, contacta a tu representante de Deque para obtener soluciones de pruebas de accesibilidad en tu stack tecnológico.
  • Si bien puedes obtener algunos resultados de vistas web o PDFs renderizados, te recomendamos encarecidamente probar usando 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 el iOS Analyzer 1.4.7 impide que se realicen escaneos, devolviendo el mensaje "Test Failed". Para realizar escaneos en un dispositivo físico, actualiza al último proyecto de iOS Analyzer.

Error en el proyecto del Analizador y pruebas por ID de paquete en la 2.8.1

La funcionalidad para probar una aplicación por identificador de paquete se rompió en la versión 2.8.1, lo que resultó en un error con el título "No target application path specified via test configuration: ...". Actualiza a la 2.8.2 o la última versión para resolver el error. Actualiza al último en el proyecto del iOS Analyzer.

Error "No se pudo serializar AxeResult" en el proyecto Analizador v1.2.0 y SDK v2.12.3

Al escanear algunas aplicaciones con esta versión del analizador y SDK, se produciría un error "No se pudo serializar AxeResult". Actualice a la última versión para resolver el error. Actualice al último proyecto iOS Analyzer.Actualice al último SDK de iOS.

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 Soporta Tipo Dinámico no funciona con el simulador iOS 15 Pro

Hay un problema que afecta al simulador de iPhone 15 Pro que impide que la regla Soporta Tipo Dinámico se ejecute. Si ha optado por la regla Soporta Tipo Dinámico, no podrá probarla usando un simulador iPhone 15 Pro. Se ha presentado un informe de error a Apple.

Reglas contra Controles Anidados

Mientras revisá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 Revisar Resultados para Aplicaciones UIKit

En las aplicaciones UIKit, una imagen sin una `accessibilityLabel` no es enfocable con tecnología de asistencia por defecto.
Las propiedades que utilizamos para verificar la enfocabilidad 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 la Vista de Desplazamiento, Labels 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 lancen las soluciones.

In Scroll View
Puede reportar problemas para el texto dentro de elementos que se comportan como banner. 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, ActiveControlName puede reportar un falso positivo en el UIImageView. Quitar 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 elementos cercanos para ayudar a determinar el estado de la regla. En algunas jerarquías de vista, el texto cercano incorrecto puede detectarse causando que estas reglas fallen. (#1622)

Android

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

Nuestra regla de Contraste de Color depende del Aprendizaje Automático para detectar texto, lo que garantiza que el texto escaneado sea visible para los usuarios de su aplicación. En los 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 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 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 ejecutar sus pruebas en versiones más nuevas 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 está soportada oficialmente.

Vistas ocultas en 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 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 es necesario corregirlos 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 debería 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 manualmente en su proyecto. En el archivo de su aplicación build.gradle , agregue lo siguiente bajo dependencias:

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

Espacios de Destino de Toque y Jetpack Compose

Actualmente, la regla de Espacios de Destino de Toque no se ejecuta en ningún componente deslizante que se haya 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 aún se guarda como un archivo JSON a pesar de que se muestra 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 obtener 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.

App del Analizador: Botón de Acción Flotante Desaparece

Con API 31 (Android 12) se introdujo la capacidad de ocultar superposiciones que no son 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, le recomendamos dejarla desactivada para las compilaciones internas de pruebas 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 del Analizador de Accesibilidad Axe, 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 Tablero

Para desbloquear toda la funcionalidad de Axe DevTools para Móviles, asegúrese de que las capturas de pantalla estén habilitadas. Recomendamos habilitar capturas de pantalla en una versión de depuración o prueba 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.

Error cuando `minifiedEnabled` está configurado en true

Si está minimizando su compilación, verá un bloqueo con un registro de error 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 arrojan 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 API de Compose están obsoletas, por favor use las API agnósticas de diseño para continuar recibiendo actualizaciones. Si continúa utilizando las API de Compose y encuentra un error del tipo `Se esperaba exactamente '1' nodo pero se encontraron '2' nodos que cumplen con: (isRoot)` o `No se ha inicializado View, ¿ha llamado a AxeDevToolsCompose.setComposeTestRule()?`, por favor consulte 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 utiliza inteligencia artificial. Las reglas afectadas incluyen Contraste de Color, Texto Enfocable y Nombre de 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 aparecerá como Necesita Revisión en el tablero cuando se sospeche 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 extiendan los controles nativos, puede obtener resultados de 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 funcionan con tecnología de asistencia como se desea.

Tablero 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 se debe a 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 Tablero Móvil de Axe DevTools.

Algunos nombres de escaneo de Android no están formateados

Algunos nombres de escaneo 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 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 temporal, puede establecer el nombre del escaneo desde el tablero o los marcos de trabajo. (#1643)