Notas de la versión de Axe DevTools Mobile 16 de enero 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

16 de enero de 2025

Not for use with personal data

Versiones de componentes

  • iOS SDK (axeDevToolsXCUI v2.13.0)
  • iOS Analyzer (axe-devtools-mobile-analyzer v1.4.5)
  • iOS Appium Driver (axe-appium-xcuitest-driver v1.1.0)

Cómo actualizar: iOS SDK, iOS Analyzer, iOS Appium Driver

Correcciones

  • Actualizaciones para mejorar el rendimiento y la precisión de las siguientes reglas: Texto Asociado, Contraste de Color, Rasgos en Conflicto, Acción inaccesible, En vista de desplazamiento, Etiqueta en Nombre, Etiqueta al Frente, Nombre de Elementos Anidados
  • La versión mínima de iOS soportada ahora es iOS 16
  • Se solucionó un problema con la función Ignorar Reglas, específicamente al ignorar por identificador de accesibilidad con SwiftUI

Problemas conocidos

Si está experimentando alguno de los siguientes problemas, póngase en contacto con nosotros en helpdesk@deque.com o support.deque.com. Podremos notificarle una vez que se resuelva o de una solución alternativa si no hay una listada.

important
  • Las pruebas automatizadas de Axe DevTools Mobile se ejecutan en aplicaciones nativas de iOS, Android nativo y React Native. Póngase en contacto con su representante de Deque para obtener soluciones de prueba de accesibilidad en su plataforma tecnológica.
  • Aunque puede obtener algunos resultados de vistas web o PDFs renderizados, recomendamos encarecidamente realizar pruebas usando Axe DevTools para Web o Axe Monitor para una prueba de accesibilidad más completa para la web.

iOS

Error en el Proyecto Analyzer y Pruebas por ID de Paquete en 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 titulado "No se especificó la ruta de la aplicación de destino a través de la configuración de prueba: ...". Actualice a 2.8.2 o a la última versión para resolver el error. Actualice a la última versión dentro del proyecto iOS Analyzer.

Falso Positivo: LabelInName y LabelAtFront en SwiftUI y Aplicaciones Multiplataforma

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

Regla de Soporte de 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 la regla de Soporte de Tipo Dinámico se ejecute. Si está inscrito en la regla de Soporte de Tipo Dinámico, no podrá probarla usando un simulador de iPhone 15 Pro. Se ha informado un error a Apple.

Reglas contra Controles Anidados

Al observar una mejora para nuestras reglas, descubrimos que en XCTest, los controles anidados no se devuelven en el árbol de accesibilidad. Se ha informado un error a Apple. (#1110)

Regla de Nombre de ImageView Necesita Revisión de Resultados para Aplicaciones de UIKit

En aplicaciones de UIKit, una imagen sin un `accessibilityLabel` no es focalizable con tecnología de asistencia por defecto.
Las propiedades que usamos para verificar la capacidad de enfocar de Apple pueden ser inexactas cuando se establece un `accessibilityIdentifier` en la imagen. Debido a este comportamiento inesperado, los resultados de los problemas de Nombre de ImageView en aplicaciones de UIKit se reportarán como Necesita Revisión. Se ha presentado un informe de error a Apple. (#1633)

Falso Positivo: En Vista de Desplazamiento, Etiqueta en Nombre, Etiqueta al Frente, y Nombre de Vista de Imagen v2.11.0 & Nombre de Control Activo

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

In Scroll View
Puede reportar problemas para texto dentro de elementos con comportamiento de banner. Para hacer estos elementos 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 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. 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, el texto cercano incorrecto puede ser detectado causando que estas reglas fallen. (#1622)

Android

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 todavía se guardará como un archivo JSON a pesar de que se muestre este error. El error puede ser suprimido 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 para accesibilidad, asegúrese de que esté completamente en pantalla antes de realizar el escaneo.

App Analyzer: Botón de Acción Flotante Desaparece

Con API 31 (Android 12) se introdujo la posibilidad de ocultar superposiciones no del 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 para sus mejoras de seguridad, recomendamos dejarla desactivada para las versiones de prueba internas donde pueda utilizar los datos de prueba de manera segura y así eliminar las preocupaciones de seguridad. 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 panel

Para desbloquear la funcionalidad completa de Axe DevTools para Mobile, 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 problemas 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 error con un registro que reporta 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 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 APIs de Compose están obsoletas, por favor use las APIs agnósticas de diseño para continuar recibiendo actualizaciones. Si continúa usando las APIs de Compose y encuentra 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 consulte la API Compose setTestTag.

Mensaje de registro:MlKitContext has not been initialized

Si encuentra este mensaje, algunos resultados de las reglas pueden no devolver lo esperado cuando esa regla utiliza inteligencia artificial. Las reglas afectadas incluyen Contraste de Color, Texto Enfocable y Nombre del Elemento Anidado. (#841)

MAUI: Regla de Nombre de Texto de Edición

Debido a limitaciones de la arquitectura de la aplicación MAUI al renderizar 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 sospeche un fallo para la versión 5.5.0 del SDK en adelante. Por favor, confirme el comportamiento correcto manualmente para este caso.

Android Nativo: Diálogos/Modales Personalizados

Cuando implemente diálogos o modales personalizados que no extiendan los controles nativos, puede 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, revisarlos manualmente para asegurarse de que se comporten con la tecnología asistiva 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 para su versión de prueba para permitir la funcionalidad completa en el Panel de Control Móvil de Axe DevTools.

Algunos nombres de escaneo en Android no están formateados

Algunos nombres de escaneo en Android que por defecto son el 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á de modo 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 panel de control o los frameworks. (#1643)