Note di rilascio di Axe DevTools Mobile del 18 maggio 2026
18 maggio 2026
Versioni dei componenti
iOS
- App desktop iOS Analyzer (axe-devtools-mobile-desktop-app v1.2.1)
Come aggiornare: iOS Analyzer
Novità?
Abbiamo aggiunto il supporto per un'opzione di installazione per singolo utente su macOS, consentendo agli utenti senza accesso da amministratore di installare e utilizzare Axe DevTools Mobile Analyzer sui propri account (~/Applications). Supportiamo ancora il flusso di installazione esistente a livello di sistema per /Applications.
Inoltre, abbiamo aggiunto il supporto per la configurazione di proxy e PAC di sistema su macOS, consentendo a Axe DevTools Mobile Analyzer di funzionare in ambienti che utilizzano VPN o proxy aziendali.
Problemi noti
Se riscontri uno dei problemi elencati di seguito, ti preghiamo di contattarci a helpdesk@deque.com o support.deque.com. Possiamo quindi informarti una volta risolto o di una soluzione alternativa identificata nel caso non sia elencata.
- Axe DevTools Mobile esegue test automatizzati su applicazioni iOS native, Android native e React Native. Contatta il tuo rappresentante Deque per soluzioni di test di accessibilità per il tuo stack tecnologico.
- Sebbene tu possa ottenere alcuni risultati da visualizzazioni web o PDF renderizzati, consigliamo vivamente di testare utilizzando Axe DevTools per il Web o Axe Monitor per i test di accessibilità web più completi.
iOS
Falsi positivi per la regola del contrasto cromatico con sfondi a gradiente su schermi piccoli
Quando si eseguono controlli di accessibilità su schermi di dimensioni minori o con dimensioni di carattere inferiori, la regola del contrasto cromatico può segnalare falsi positivi per gli sfondi a gradiente. In tali casi, potrebbe non essere in grado di determinare il colore in primo piano e invece confrontare i colori di sfondo tra loro, risultando in un errore.
Per risolvere questo problema, prova a eseguire controlli di accessibilità su dispositivi più grandi. In alternativa, puoi scegliere di ignorare la regola nei tuoi test e controllare manualmente il contrasto cromatico per queste visualizzazioni.
Imprecisa isVisible proprietà da XCTest
Le API di accessibilità di Apple possono riportare erroneamente i contenuti web all'interno di WKWebView come "isVisible", anche quando la visualizzazione web è coperta da sovrapposizioni native (come visualizzazioni modali, avvisi o altri elementi dell'interfaccia utente native). Questo si verifica perché il sistema di accessibilità controlla se il contenitore WKWebView è visibile, piuttosto che se il suo contenuto web è effettivamente non ostruito e percepibile per l'utente.
Errore di accessibilità di iOS 26 con i pulsanti a step
iOS 26 contiene un errore di accessibilità in cui i pulsanti a step predefiniti non annunciano "disabilitato" dalla tecnologia assistiva per indicare che non sono abilitati. Di conseguenza, anche le regole iOS vedono questi pulsanti come abilitati anche se non lo sono. Un rapporto di errore è stato presentato ad Apple, ma fino a quando non sarà risolto, le seguenti regole potrebbero riportare risultati sui pulsanti a step disabilitati: AssociatedText, InaccessibleAction, e ColorContrast.
Fino a quando Apple non risolverà questo problema, la soluzione sarà [ignorare le regole](ios-ignore-rule). I pulsanti a step predefiniti hanno gli identificativi "Decrementa" e "Incrementa", e possono essere ignorati per identificativo se necessario.
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.
Falsi positivi: LabelInName e LabelAtFront in SwiftUI e app cross-platform
Alcune schermate potrebbero segnalare falsi positivi con LabelInName e LabelAtFront a causa di una proprietà associatedText non corretta trovata (#1622)
Regola Supporta Dynamic Type non funzionante con il simulatore iOS 15 Pro
C'è un problema che riguarda il simulatore iPhone 15 Pro che impedisce l'esecuzione della regola Supporta Dynamic Type. Se hai aderito alla regola Supporta Dynamic Type, non sarai in grado di testarla utilizzando il simulatore iPhone 15 Pro. È stato presentato un bug ad Apple.
Regole contro i controlli annidati
Mentre osservavamo un miglioramento per le nostre regole, abbiamo scoperto che in XCTest i controlli annidati non vengono restituiti nell'albero di accessibilità. È stato presentato un rapporto di errore ad Apple. (#1110)
La regola del nome dell'ImageView richiede risultati di revisione per le app UIKit
Nelle app UIKit, un'immagine senza un `accessibilityLabel` non è focalizzabile con la tecnologia assistiva per impostazione predefinita.
Le proprietà che utilizziamo per controllare la focalizzabilità da Apple possono essere imprecise quando su un'immagine è impostato un `accessibilityIdentifier`. A causa di questo comportamento inaspettato, i risultati per i problemi del nome ImageView nelle app UIKit saranno segnalati come "Needs Review". È stato presentato un rapporto di errore ad Apple. (#1633)
Falsi positivi: In View di Scorrimento, Label In Name, Label in Testa, e nome Image View v2.11.0 e ActiveControlName
Stiamo lavorando attivamente a delle correzioni per i seguenti falsi positivi e aggiorneremo questa lista man mano che le correzioni saranno rilasciate.
In Scroll View
Il testo all'interno di elementi che si comportano come banner potrebbe essere contrassegnato con un messaggio "Needs Review". Per rendere questi elementi disponibili a chi necessita di testo più grande, utilizza UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Se un UIImageView ha impostato un `accessibilityIdentifier` ma non è focalizzabile da VoiceOver, e ha controlli focalizzabili annidati al suo interno, ActiveControlName potrebbe riportare un falso positivo sull'UIImageView. Rimuovere l'`accessibilityIdentifier` risolve il problema. È stato presentato un rapporto di errore ad Apple. (#1633)
Label In Name and Label At Front
Queste due regole cercano l'etichetta visibile di un controllo tra gli elementi vicini per aiutare a determinare lo stato della regola. In alcune gerarchie di vista, il testo vicino sbagliato potrebbe essere rilevato causando il fallimento di queste regole. (#1622)
Android
Falso positivo rilevamento del testo annunciato
In alcuni casi, la tecnologia assistiva si basa su AccessibilityEvent descrizioni del sistema Android per annunciare informazioni all'utente quando non è disponibile nessun altro annuncio. Poiché AccessibilityEvents are triggered by user actions, we are unable to access the correct description if this information is not provided.
Per evitare questo problema, assicurati che tutte le viste rilevanti siano contrassegnate come importanti per l'accessibilità. Questo permetterà a Talkback di accedere alle informazioni dalla vista, che il nostro strumento potrà quindi rilevare.
La regola del Contrasto dei Colori non viene eseguita quando i colori del testo e dello sfondo sono gli stessi
La nostra regola del Contrasto dei Colori dipende dal Machine Learning per rilevare il testo, il che assicura che il testo scansionato sia visibile agli utenti della tua applicazione. Nei casi in cui il testo contenuto in una vista è dello stesso colore dello sfondo, il nostro algoritmo di Machine Learning non è in grado di rilevare la presenza di testo, quindi la regola del Contrasto dei Colori non viene eseguita su questa vista.
EditTextName su Android 7 (SDK 24-25)
Le app scritte con XML che utilizzano la funzionalità di testo suggerito potrebbero vedere falsi positivi con la EditTextName regola. Il testo suggerito non è stato introdotto fino ad Android 8 (SDK 26). Utilizzando questo elemento nella tua app XML, il testo suggerito verrà assegnato al valore del campo di input testo. Le versioni più recenti di Android sono meglio equipaggiate per rendere questa esperienza accessibile.
Per superare questo problema, la nostra prima raccomandazione è di eseguire i tuoi test su versioni più recenti di Android. Se è importante che l'app sia accessibile su versioni precedenti di Android, tuttavia, potresti considerare di evitare l'uso della hintText funzionalità, poiché non è ufficialmente supportata.
Viste nascoste di Android che restituiscono risultati
Potresti vedere i risultati per le viste che sono nascoste dietro altre viste sullo schermo. Queste viste nascoste non sono disponibili per la tecnologia assistiva, ma Axe DevTools Mobile le segnala comunque come problemi.
Stiamo lavorando per risolvere questo complesso problema. Nel frattempo, se TalkBack non riesce a raggiungere queste viste, puoi ignorare i problemi corrispondenti. Non richiedono una correzione per garantire l'accessibilità.
Errore durante l'esecuzione del Rilevamento Testo ML Kit
Il rilevamento del testo di ML Kit è richiesto in molte delle regole di Axe DevTools Mobile per garantire l'accuratezza dei risultati. La libreria ML Kit dovrebbe essere importata automaticamente quando si fa riferimento ad Axe DevTools Mobile nei tuoi test automatizzati Espresso o UIAutomator. In alcuni casi, tuttavia, l'importazione automatica non avviene e vedrai il seguente errore nel logcat:
Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.
Per superare questo problema, devi importare manualmente la libreria ML Kit nel tuo progetto. Nel tuo file dell'applicazione build.gradle , aggiungi quanto segue sotto le dipendenze:
debugImplementation 'com.google.mlkit:text-recognition:16.0.1'
Find a full working example of the ML Kit library being imported in the Android Mobile SDK Getting Started section, under Implementation
Distanziamento Target Touch e Jetpack Compose
La regola del Distanziamento Target Touch attualmente non viene eseguita su nessun componente slider scritto in Jetpack Compose. Al momento non è possibile intraprendere azioni. Tuttavia, una correzione è in arrivo!
Errore nel salvare i risultati localmente su API 30
Su Android API 30, una delle posizioni in cui tentiamo di salvare i risultati localmente presenta un errore di autorizzazione. Il risultato verrà comunque salvato come file JSON nonostante venga visualizzato questo errore. L'errore può essere soppresso commentando il codice nel blocco seguente:
def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'// finalizedBy {
// fetchAndroidFolderAxeReportsTask
// }
}
Si prega di notare che questo codice dovrebbe essere commentato solo per API 30 poiché causerà problemi quando si salva localmente per altri livelli API.
Rilevamento dello Scorrimento su App Ibride e Multi-piattaforma
In alcune app ibride e multi-piattaforma, potremmo restituire risultati inattesi quando elementi in una vista a scorrimento sono parzialmente fuori schermo. Per testare un elemento per l'accessibilità, assicurati che sia completamente sullo schermo prima di eseguire la scansione.
App Analyzer: Floating Action Button scompare
Introdotta con API 31 (Android 12) è la possibilità di nascondere le sovrapposizioni non di sistema. Per utilizzare l'app Analyzer di Axe, assicurati che questa impostazione non sia attivata. Se hai scelto di utilizzare questa funzione per i suoi miglioramenti alla sicurezza, ti consigliamo di lasciarla disattivata per le build di test interne dove puoi utilizzare dati di test in sicurezza e eliminare le preoccupazioni sulla sicurezza in questo modo. Note: this setting does not affect Google's accessibility scanner app as it's considered a system overlay.
Per utilizzare l'app Axe Accessibility Analyzer, aggiorna qualsiasi chiamata al metodo setHideOverlayWindows(true) a setHideOverlayWindows(false) sulle finestre delle attività interessate.
Screenshot Mancante (Scatola Nera) nella Dashboard
Per sbloccare tutte le funzionalità di Axe DevTools per Mobile, assicurati che gli screenshot siano abilitati. Consigliamo di abilitare gli screenshot su una versione di debug o test della tua app che utilizza dati fittizi per evitare problemi di sicurezza. Consulta la nostra guida per abilitare gli screenshot nelle app Android.
Crash quando minifiedEnabled è impostato su true
Se minimizzi il tuo build, vedrai un crash con un log di errore che riporta che un adattatore non è stato trovato quando tenti di accedere alla libreria Axe DevTools. Disabilita la minimizzazione per i tuoi build di debug con Axe DevTools implementato. (#729)
I build con r8 abilitato restituiscono un errore
Un build con r8 abilitato potrebbe tentare di minimizzare la libreria axeDevTools risultando in un errore simile 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.** { *; }
Messaggi di Errore quando si utilizzano le API di Compose
Le API di Compose sono deprecate, utilizza per favore le API agnostiche del layout per continuare a ricevere aggiornamenti. Se continui a utilizzare le API di Compose e incontri un errore del tipo `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` o `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, fai riferimento a API Compose setTestTag.
MAUI: Regola del Nome del Testo da Modificare
A causa delle limitazioni dell'architettura dell'app MAUI nel rendering nell'ecosistema Android, la regola del Nome del Testo da Modificare verrà mostrata come Da Rivedere nel dashboard quando viene sospettata una non conformità per la versione SDK 5.5.0 e superiore. Si prega di confermare manualmente il comportamento corretto per questo caso.
Android Nativo: Dialoghi / Modali Personalizzati
Quando implementi dialoghi o modali personalizzati che non estendono i controlli nativi, potresti ottenere risultati per le viste dietro il modale. In questo caso, raccomandiamo di non eseguire il nostro strumento contro questi modali o dialoghi personalizzati e invece di controllarli manualmente per assicurarti che si comportino con la tecnologia assistiva come desiderato.
Dashboard Web
Screenshot Mancante
Se lo screenshot manca dalla pagina dei dettagli della scansione, la tua app potrebbe impedire la cattura degli screenshot. Spesso questo avviene per motivi di sicurezza nella tua applicazione di produzione. Considera di rimuovere questo requisito per la tua build di test per consentire la piena funzionalità nel Dashboard di Axe DevTools Mobile.
Alcuni nomi di scansione Android non sono formattati
Alcuni nomi di scansione Android che vengono impostati di default come titolo dello schermo appariranno come il nome completo della classe, incluso l'identificatore del bundle. In un futuro aggiornamento, questo problema sarà risolto in modo che il titolo dello schermo sia formattato in un nome più leggibile. Come soluzione temporanea, puoi impostare il nome della scansione dal cruscotto o dai framework. (#1643)
