Notas de la Versión de Axe DevTools Mobile del 16 de agosto de 2023

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

16 de agosto de 2023

Not for use with personal data

Versiones de Componentes

  • axeDevToolsXCUI v2.6.0
  • axe-devtools-android v4.0.0

¿Qué hay de nuevo?

Presentamos Axe DevTools Mobile Analyzer

Utilice el nuevo Axe DevTools Mobile Analyzer para probar aplicaciones iOS o Android construidas con cualquier tecnología sin acceso al código fuente. Pruebe tanto aplicaciones nativas como multiplataforma, como SwiftUI y UIKit en iOS, Jetpack Compose y XML en Android, React Native, Flutter, Xamarin e Ionic. Axe DevTools Mobile Analyzer reemplaza el botón flotante integrado para pruebas de accesibilidad iniciadas por el usuario (manuales). Para hacer el cambio, elimine el código incrustado para el botón flotante de su aplicación y siga la documentación para comience con el nuevo Axe DevTools Mobile Analyzer.

iOS

  • Las vistas construidas con SwiftUI y las aplicaciones multiplataforma ahora se pueden probar a través de pruebas iniciadas por el usuario (manuales) utilizando el nuevo Axe DevTools Mobile Analyzer para iOS.
  • La regla Admite Dynamic Type ahora está disponible en el framework XCUI. Esta regla cambia el tamaño del texto varias veces y reevalúa la pantalla después de cada cambio para buscar problemas, lo cual toma algunos segundos en ejecutarse. Por esta razón, la hemos lanzado como opción de activación. Para activarla, configure optInToSDT como true desde la API de configuración de Axe. axeDevTools.configuration.optInToSDT = true.
  • La versión mínima de iOS compatible ahora es iOS 14 (anteriormente iOS 13).

Android

  • Las aplicaciones multiplataforma ahora se pueden probar a través de pruebas iniciadas por el usuario (manuales) utilizando el nuevo Axe DevTools Mobile Analyzer para Android.
  • Las aplicaciones que utilizan vistas de Jetpack Compose ahora ejecutarán el conjunto completo de reglas tanto a través de pruebas iniciadas por el usuario (manuales) como de pruebas automatizadas. (Anteriormente, las aplicaciones de Android que utilizaban Jetpack Compose tenían un conjunto de reglas más pequeño).
  • Ahora soportamos el framework de prueba UI Automator para pruebas automatizadas.
  • El SDK de Android actualizado permite el escaneo de accesibilidad automatizado a través de Espresso y UI Automator utilizando el Instrumentation Registry, lo cual no requiere que especifique ninguna vista o actividad.
  • Cambio significativo: La clase DashboardService ha sido reemplazada por la clase ResultsDashboard.

Panel

  • Mejora en el tiempo de carga para el conteo de problemas y el resumen desde la pantalla principal del Panel.
  • Mejorada la apariencia de la Jerarquía de Vistas cuando se ve en el navegador Safari.

Corrección de errores

Axe DevTools Mobile para iOS

  • Regla de Contraste de Color - Ya no ejecutaremos reglas de contraste de color en botones desactivados porque las reglas de contraste de color no son aplicables a elementos desactivados.
  • Regla de Controles en Colisión - Cualquier control que no esté marcado como enfocable para accesibilidad o no sea un elemento de accesibilidad ya no será considerado al mirar controles en colisión.
  • Resultados guardados localmente - El nombre del escaneo ahora se añade correctamente al archivo JSON cuando se guarda localmente o se descarga desde el Panel. Esto corrige el título "escaneo sin nombre" que previamente aparecía en los informes HTML generados desde el CLI del Reportero.

Panel de Axe DevTools Mobile

  • Correcciones de accesibilidad: Se añadió el aria rol="button" faltante, se mejoró el encabezado del modal de anuncio, se eliminó el tooltip en la jerarquía de vistas, y se añadieron mejores anuncios para lectores de pantalla para la paginación.
  • Se corrigió el nombre del escaneo en la captura de pantalla que previamente se superponía con el botón 'Inspeccionar'.
  • Se corrigió un problema donde los usuarios de prueba gratuita veían un spinner infinito.

Actualizaciones

Este lanzamiento marca la última de nuestras actualizaciones al framework UIKit para pruebas automatizadas en aplicaciones iOS. Continuaremos ofreciendo este framework en el futuro previsible, pero ya no realizaremos correcciones de errores o actualizaciones. Le animamos a cambiar al framework XCUI que se actualizará con nuevas reglas y mejoras en el futuro. Si actualmente está usando el framework UIKit para pruebas unitarias automatizadas o de IU y desea soporte para la transición al framework XCUI, por favor háganoslo saber. Envíe una solicitud a support.deque.com, o envíe un correo electrónico a helpdesk@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. Podremos notificarle una vez que se haya resuelto o de una posible solución si no está listada.

important
  • Las pruebas automatizadas de Axe DevTools Mobile se ejecutan en aplicaciones nativas de iOS, Android nativo y React Native. Por favor, póngase en contacto con su representante de Deque para soluciones de pruebas de accesibilidad en su stack tecnológico.
  • Para apoyarle en obtener resultados precisos y consejos de remediación aplicables, las reglas de Axe DevTools Mobile no se ejecutan en vistas web ni en PDFs renderizados. Para probar contenido HTML, por favor utilice Axe DevTools para Web. Axe Monitor permite escanear PDFs para accesibilidad.

Axe DevTools Mobile para iOS

axeDevToolsUIKit.xcframework

Las vistas construidas con SwiftUI no se pueden probar usando este framework para pruebas automatizadas.

Use el framework axeDevToolsXCUI en UITesting para vistas de SwiftUI.

El soporte para reglas personalizadas está disponible solo en Swift

La API de reglas personalizadas no está abierta a Objective-C.

Falsos positivos: InScrollView, SupportsDynamicType, Vistas en colisión

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

InScrollView
InScrollView puede reportar problemas para el texto dentro de elementos que se comportan como banners. Para que estos elementos estén disponibles para quienes necesiten texto más grande, use UILargeContentViewer.

SupportsDynamicType
Puede ver falsos positivos en los siguientes escenarios:

  • Si utiliza la UIContentSizeCategoryDidChange notificación, es posible que el marco informe incorrectamente que el texto no responde al Dynamic Type en UITests.
  • Si usa NotificationCenter.default.addObserver(forName:.., object:.., queue:.., using:..) para responder a la UIContentSizeCategoryDidChange notificación.
  • Si utiliza traitCollectionDidChange en la vista padre de un texto o controlador de vista para responder al Dynamic Type.
Colliding Views
When a scrollable subview contains text, and that subview does not span to the edge of the screen's bounds, you will see failures for text located within the view's bounds.

axeDevToolsXCUI.xcframework

Selector SwiftUI y Selector UIKit

Las vistas de selector en SwiftUI y UIKit pueden causar que el marco se quede atascado en simuladores o dispositivos. (#636)

Reglas contra controles anidados

Al considerar 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)

Falso positivo: In Scroll View, ActiveControlName

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

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 quienes necesiten texto más grande, use UILargeContentViewer. (#622) ActiveControlName
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. (#1178)

Falso negativo: Nombre de vista de imagen, Texto focalizable en iOS 13 hasta iOS 14.8.1

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

Image View Name
Si un UIImageView tiene un `accessibilityIdentifier` establecido pero no es focalizable por VoiceOver, ImageViewName puede reportar un falso negativo en el UIImageView. Eliminar el `accessibilityIdentifier` resuelve el problema. (#1188) Focusable Text
Los elementos marcados como no accesibles pueden reportar resultados incorrectos debido a un error en el marco de Apple.

Axe DevTools Móvil para Android

Error al usar Proguard

Si tu compilación de prueba o depuración está utilizando Proguard, sigue los pasos para ignorar Deque en tus configuraciones de Proguard.

Error cuando `minifiedEnabled` está establecido en verdadero

Si minimizas tu compilación, verás un error con un registro que indica que no se pudo encontrar un adaptador al intentar iniciar sesión en la librería Axe DevTools. Desactiva la minimización para tus compilaciones de depuración con Axe DevTools implementado. (#729)

Errores al compilar con Java8 Project y Axe DevTools Android 3.1.0

Intenta las siguientes importaciones:

implementation 'androidx.core:core-ktx:1.9.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'
	
After importing the above library, if you see errors related to minSDK version for core-ktx library try the following in your project’s Android Manifest:
<uses-sdk tools:overrideLibrary="androidx.core" />

Compilaciones con r8 habilitado generan un error

Una compilación con r8 habilitado puede intentar minimizar la librería 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)

Si encuentras un error del tipo `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)`, por favor contáctanos en helpdesk@deque.com o support.deque.com para asistencia. Bajo ciertas condiciones, pueden existir dos nodos raíz de Compose al mismo tiempo.

Panel de control de Axe DevTools Móvil

Algunos nombres de escaneos de Android no están formateados

Algunos nombres de escaneos de Android predeterminados al título de 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, puedes establecer el nombre del escaneo desde el panel de control o los marcos. (#1643)