Axe DevTools Mobile Release-opmerkingen van 17 juni 2026
17 juni 2026
Componentversies
iOS
- iOS Analyzer Desktop App (axe-devtools-mobile-desktop-app v1.3.0)
Hoe te updaten: iOS Analyzer
Wat is er nieuw?
De begeleide setup van Axe DevTools Mobile Analyzer detecteert problemen voordat je gaat scannen. Bij het opstarten controleert de app of je klaar bent om te testen en vraagt je om ontbrekende delen toe te voegen. Als er geen Apple ID is ingelogd of als Xcode niet correct is geïnstalleerd, niet gelicenseerd is of geen ontwikkelaarsaccount heeft geconfigureerd, biedt de app duidelijke uitleg en kun je problemen oplossen voordat je verdergaat.
Selecteer je Apple-ontwikkelaarsteam direct vanuit de app om het Xcode-project automatisch te ondertekenen, zonder Xcode te hoeven openen. Wanneer je team is opgeslagen, regelt de app de ondertekening automatisch elke keer dat je scant.
Bij testen op een fysiek apparaat dat geen ontwikkelaarsmodus heeft ingeschakeld, leidt de app je door het proces om het in te schakelen en gaat vervolgens automatisch verder zodra het is ingeschakeld.
Bij het verbinden met een aangepaste backendserver worden URL's nu vooraf gevalideerd.
Oplossingen
- Een probleem opgelost waarbij fysieke iOS-apparaten die via USB waren aangesloten soms niet werden gedetecteerd. De app maakt nu automatisch de verbindingstunnel, waardoor je Xcode niet hoeft te openen voordat je een apparaat aansluit.
- Verbeterde betrouwbaarheid van netwerkverzoeken door mislukte verbindingen automatisch opnieuw te proberen.
Bekende problemen
Als je een van de onderstaande problemen ervaart, neem dan contact met ons op via helpdesk@deque.com of support.deque.com. Dan kunnen we je op de hoogte stellen zodra het is opgelost of van een bekend alternatief als er geen vermeld wordt.
- Axe DevTools Mobile-geautomatiseerd testen draait op native iOS-, native Android- en React Native-applicaties. Neem contact op met je Deque-vertegenwoordiger voor oplossingen voor toegankelijkheidstesten voor jouw tech stack.
- Hoewel je wat resultaten kunt krijgen van webweergaven of gerenderde PDF's, raden we sterk aan om te testen met axe DevTools voor Web of axe Monitor voor de meest uitgebreide toegankelijkheidstesten voor het web.
iOS
Kleurcontrast kan werken op alleen-icoon elementen door OCR
De Kleurcontrastregel gebruikt Apple's Vision-framework (Optical Character Recognition, of OCR) om tekst binnen de grenzen van een element te lezen. OCR kan af en toe kleine icoonachtige symbolen - zoals terugpijlen (<), opsommingstekens, decoratieve symbolen - als tekst verkeerd identificeren. Wanneer dit gebeurt, werkt de Kleurcontrastregel op een element dat geen leesbare tekst bevat, wat kan leiden tot een resultaat voor een alleen-icoonknop. Omdat OCR-uitvoer niet consistent is tussen scans, kan hetzelfde element in Kleurcontrastresultaten verschijnen bij een scan en als „NIET VAN TOEPASSING“ worden gerapporteerd bij de volgende. Dit is een bekend kenmerk van OCR, geen fout in de regel.
Om dit probleem te omzeilen, kun je de ignore API's gebruiken om Kleurcontrastresultaten voor de getroffen elementen te onderdrukken.
// Ignore Color Contrast for a specific element by accessibility identifier
axeDevTools?.configuration.ignore(rulesFor: [
"backButton": [AxeRuleId.ColorContrast.toString()]
])// Of negeer Kleurcontrast wereldwijd axeDevTools?.configuration.ignore(rule: AxeRuleId.ColorContrast.toString())
Leer meer over regels negeren.
Schermtitel false positive in Flutter-apps
Flutter map niet AppBar.title aan de native schermtitel-eigenschap - UIViewController.title, waardoor de Schermtitelregel faalt op alle Flutterschermen, ongeacht of er een beschrijvende titel aanwezig is.
Dit is een bekende Flutter-platformbeperking die wordt gevolgd in flutter/flutter#185894.
False positives voor Kleurcontrastregel met verloopachtergronden op kleine schermen
Wanneer toegankelijkheidscontroles worden uitgevoerd op kleinere schermgroottes of met kleinere lettergroottes, kan de Kleurcontrastregel false positives rapporteren voor verloopachtergronden. In dergelijke gevallen kan het de voorgrondkleur niet bepalen en vergelijkt het in plaats daarvan achtergrondkleuren met elkaar, wat leidt tot een fout.
Om dit probleem te omzeilen, probeer toegankelijkheidscontroles uit te voeren op grotere apparaten. Alternatief kun je ervoor kiezen om de regel in je tests te negeren en Kleurcontrast handmatig te controleren voor deze weergaven.
Onafgesproken isVisible eigenschap van XCTest
Apple's toegankelijkheids-API's kunnen webcontent binnen WKWebView ten onrechte rapporteren als "isVisible", zelfs wanneer de webweergave bedekt is door native overlays (zoals modale weergaven, waarschuwingen of andere native UI-elementen). Dit gebeurt omdat het toegankelijkheidssysteem controleert of de WKWebView-container zelf zichtbaar is, in plaats van of de webcontent daadwerkelijk onbelemmerd en waarneembaar is voor de gebruiker.
iOS 26 toegankelijkheidsbug met steppers
iOS 26 bevat een toegankelijkheidsbug waarbij standaardstapperknoppen niet „gedimd“ aankondigen door Assistive Technology om aan te geven dat zij niet ingeschakeld zijn. Daardoor ziet de iOS-regels deze knoppen ook als ingeschakeld, zelfs als dat niet het geval is. Er is een bugmelding ingediend bij Apple, maar totdat dit is opgelost, kunnen de volgende regels resultaten rapporteren op uitgeschakelde stapperknoppen: AssociatedText, InaccessibleAction, en ColorContrast.
Totdat Apple deze bug oplost, is de oplossing om de [regels te negeren](ios-ignore-rule). De standaard stapknoppen hebben de identificaties „Dekrementeren“ en „Inkrementeren“ en kunnen indien nodig op identificatie worden genegeerd.
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.
False Positive: LabelInName en LabelAtFront in SwiftUI & Cross Platform Apps
Sommige schermen kunnen foute positieve meldingen geven met LabelInName en LabelAtFront door een onjuiste associatedText-eigenschap die wordt gevonden (#1622)
Ondersteuning Dynamische Typeregel werkt niet met iOS 15 Pro simulator
Er is een probleem dat de iPhone 15 Pro simulator beïnvloedt, waardoor de ondersteuning dynamische typeregel niet kan worden uitgevoerd. Als u zich hebt ingeschreven voor de ondersteuning dynamische typeregel, zult u deze niet kunnen testen met een iPhone 15 Pro simulator. Een bug is gemeld bij Apple.
Regels tegen Geneste Bedieningselementen
Terwijl we keken naar een verbetering voor onze regels, ontdekten we dat in XCTest geneste bedieningselementen niet worden geretourneerd in de toegankelijkheidsboom. Een bug is gerapporteerd bij Apple. (#1110)
ImageView Naamregel heeft herzieningsresultaten nodig voor UIKit-apps
In UIKit-apps is een afbeelding zonder `accessibilityLabel` niet standaard toegankelijk met behulp van ondersteunende technologie.
De eigenschappen die we gebruiken om de focusbaarheid van Apple te controleren, kunnen onnauwkeurig zijn wanneer een `accessibilityIdentifier` is ingesteld op de afbeelding. Vanwege dit onverwachte gedrag zullen resultaten voor ImageView Naamproblemen in UIKit-apps worden gerapporteerd als 'Behoeft Herziening'. Een bugrapport is ingediend bij Apple. (#1633)
False Positive: In Scroll View, Label In Name, Label at Front, en v2.11.0 Image View Naam & ActiveControlName
We werken actief aan oplossingen voor de volgende false positives en zullen deze lijst bijwerken naarmate er oplossingen worden vrijgegeven.
In Scroll View
Tekst binnen elementen die gedrag als banners vertonen, kan worden gemarkeerd met een „Behoeft Herziening“-bericht. Om deze elementen beschikbaar te maken voor mensen die grotere tekst nodig hebben, gebruikt u UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Als een UIImageView een `accessibilityIdentifier` heeft ingesteld maar niet toegankelijk is voor VoiceOver, en het bevat focusbare bedieningselementen, kan ActiveControlName een false positive melden op de UIImageView. Het verwijderen van de `accessibilityIdentifier` lost het probleem op. Een bug is gemeld bij Apple. (#1633)
Label In Name and Label At Front
Deze twee regels zoeken naar het zichtbare label van een bedieningselement tussen naburige elementen om de regestatus te helpen bepalen. In sommige weergavehiërarchieën kan de verkeerde naburige tekst worden gedetecteerd, waardoor deze regels mislukken. (#1622)
Android
Potentiële toegankelijkheidsproblemen voor Focusable Text
Bij het gebruik van decoratieve tekst in weergaven zoals „Contactpictogrammen“, is het mogelijk om een toegankelijkheidsprobleem te introduceren. Als u een tekstweergave gebruikt om letters weer te geven in plaats van afbeeldingen te genereren met de gewenste letters als vectoren, en u verklaart vervolgens dat tekstveld als niet belangrijk voor toegankelijkheid, kunnen we niet betrouwbaar bepalen of u een toegankelijkheidsschending hebt geïntroduceerd.
Als u de focusbare tekst bewerkt om twee of minder karakters te negeren, kunt u per ongeluk veel een-woordknoppen in verschillende talen negeren (bijv. „OK“, „Nee“, „Sí“). Om deze problemen te voorkomen, moet u de gewenste letters uit het woord halen dat u in het pictogram wilt weergeven en de letters genereren als onderdeel van de afbeelding in plaats van als aparte tekstweergaven. `FocusableText` zal dan niet op die weergaven draaien.
Schermtitel false positive in Flutter apps
Flutter koppelt niet AppBar.title aan de native schermtitel eigenschap - Activity.setTitle, waardoor de schermtitelregel mislukt op alle Flutter-schermen, ongeacht of er een beschrijvende titel aanwezig is.
Dit is een bekende Flutter platform beperking die wordt bijgehouden in flutter/flutter#185894.
Aangekondigde tekstdetectie false positive
In sommige gevallen is ondersteunende technologie afhankelijk van AccessibilityEvent beschrijvingen van het Android-systeem om informatie aan de gebruiker aan te kondigen wanneer er geen andere aankondiging beschikbaar is. Omdat AccessibilityEventen worden geactiveerd door gebruikersacties, kunnen we niet de juiste beschrijving bereiken als deze informatie niet wordt verstrekt.
Om dit probleem te voorkomen, zorgt u ervoor dat alle relevante weergaven als belangrijk voor toegankelijkheid worden gemarkeerd. Dit stelt Talkback in staat om de informatie uit de weergave te halen, die onze tool vervolgens kan detecteren.
Kleurcontrastregel wordt niet uitgevoerd wanneer de tekst- en achtergrondkleuren hetzelfde zijn
Onze kleurcontrastregel is afhankelijk van machinaal leren om tekst te detecteren, wat ervoor zorgt dat de gescande tekst zichtbaar is voor gebruikers van uw applicatie. In gevallen waarin de tekst in een weergave dezelfde kleur heeft als de achtergrond, kan ons machinaal leeralgoritme niet detecteren of er tekst aanwezig is, zodat de kleurcontrastregel niet op deze weergave wordt uitgevoerd.
EditTextName op Android 7 (SDK 24-25)
Apps geschreven met XML die gebruik maken van de hinttekstfunctie kunnen foute positieve meldingen zien met de EditTextName regel. Hinttekst werd pas geïntroduceerd met Android 8 (SDK 26). Het gebruik van dit element in uw XML-app kent de hinttekst toe aan de waarde van het tekstinvoerveld. Recentere versies van Android zijn beter uitgerust om deze ervaring toegankelijk te maken.
Om dit probleem te overwinnen, is onze eerste aanbeveling om uw tests op nieuwere versies van Android uit te voeren. Als het echter belangrijk is dat de app toegankelijk is op oudere Android-versies, kunt u overwegen het gebruik van de hintText functie te vermijden, omdat deze niet officieel wordt ondersteund.
Android verborgen weergaven retourneren resultaten
U kunt resultaten zien voor weergaven die verborgen zijn achter andere weergaven op het scherm. Deze verborgen weergaven zijn niet beschikbaar voor ondersteunende technologie, maar axe DevTools Mobile rapporteert ze toch als problemen.
We werken aan een oplossing voor dit complexe probleem. In de tussentijd kunt u, als TalkBack deze weergaven niet kan bereiken, de bijbehorende problemen negeren. Ze vereisen geen oplossing om toegankelijkheid te garanderen.
Fout bij het uitvoeren van ML Kit Tekstherkenning
ML Kit tekstherkenning is vereist in veel van de axe DevTools Mobile-regels om de nauwkeurigheid van resultaten te garanderen. De ML Kit-bibliotheek moet automatisch worden geïmporteerd bij het refereren aan axe DevTools Mobile in uw geautomatiseerde Espresso- of UIAutomator-tests. In sommige gevallen gebeurt de automatische import echter niet en ziet u de volgende fout in de logcat:
Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.
Om dit probleem te verhelpen, moet u de ML Kit-bibliotheek handmatig in uw project importeren. In het build.gradle -bestand van uw applicatie, voegt u het volgende toe onder afhankelijkheden:
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 Implementatie
Aanraakdoelafstand en Jetpack Compose
De regel voor de afstand van het aanraakdoel wordt momenteel niet toegepast op schuifregelaars die zijn geschreven in Jetpack Compose. Op dit moment kunnen er geen acties worden ondernomen. Er komt echter snel een oplossing!
Fout bij het lokaal opslaan van resultaten op API 30
Op Android API 30 is er op één van de locaties waar we proberen resultaten lokaal op te slaan een toestemmingsfout. Het resultaat wordt nog steeds opgeslagen als een JSON-bestand, ondanks dat deze fout wordt weergegeven. De fout kan worden onderdrukt door de code in het volgende blok uit te commentariëren:
def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'// finalizedBy {
// fetchAndroidFolderAxeReportsTask
// }
}
Merk op dat deze code alleen voor API 30 moet worden uitgecommentarieerd, omdat het problemen zal veroorzaken bij het lokaal opslaan voor andere API-niveaus.
Scroll detectie op Hybrid Apps en Cross-Platform Apps
In sommige hybrid en cross-platform apps kunnen ongewenste resultaten optreden wanneer items in een scroll view gedeeltelijk buiten het scherm vallen. Zorg ervoor dat een element volledig in beeld is voordat u de scan uitvoert om de toegankelijkheid te testen.
Analyzer App: Floating Action Button verdwijnt
Met de introductie van API 31 (Android 12) is de mogelijkheid ontstaan om niet-systeemoverlays te verbergen. Om de axe Analyzer app te kunnen gebruiken, zorg ervoor dat deze instelling niet is ingeschakeld. Als u ervoor heeft gekozen om deze functie te gebruiken vanwege zijn veiligheidsverbeteringen, raden we aan om het uit te laten voor interne testversies, waar u veilig testgegevens kunt gebruiken en op die manier veiligheidszorgen kunt elimineren. Note: this setting does not affect Google's accessibility scanner app as it's considered a system overlay.
Om de axe Accessibility Analyzer app te gebruiken, update alle aanroepen naar de methode setHideOverlayWindows(true) naar setHideOverlayWindows(false) op de getroffen activiteitvensters.
Screenshot ontbreekt (zwart blok) in het dashboard
Om de volledige functionaliteit van axe DevTools voor Mobile te ontsluiten, zorg ervoor dat screenshots zijn ingeschakeld. We raden aan om screenshots in te schakelen op een debug- of testversie van uw app die mockdata gebruikt, om veiligheidszorgen te vermijden. Bekijk onze gids voor het inschakelen van screenshots in Android-apps.
Crash wanneer minifiedEnabled is ingesteld op true
Als u uw build minimaliseert, krijgt u een crash met een foutmelding waarin wordt gemeld dat een adapter niet kon worden gevonden bij het inloggen in de axe DevTools bibliotheek. Schakel minimaliseren uit voor uw debug builds met geïmplementeerde axe DevTools. (#729)
Builds met r8 ingeschakeld geven een fout
Een build met r8 ingeschakeld kan proberen de axeDevTools bibliotheek te minimaliseren, wat resulteert in een foutmelding zoals:
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.** { *; }
Foutmeldingen bij gebruik van Compose API's
De Compose API's zijn verouderd, gebruik de layout-agnostische API's om updates te blijven ontvangen. Als je doorgaat met het gebruik van de Compose API's en een fout tegenkomt zoals `Verwacht precies '1' knoop maar vond '2' knopen die voldoen aan: (isRoot)` of `Geen View geïnitialiseerd, heb je AxeDevToolsCompose.setComposeTestRule() aangeroepen?`, raadpleeg dan Compose setTestTag API.
MAUI: Edit Text Name regel
Vanwege beperkingen van de MAUI app-architectuur in het Android-ecosysteem, zal de Edit Text Name regel worden weergegeven als Needs Review in het dashboard wanneer een fout wordt vermoed voor SDK-versie 5.5.0 en hoger. Bevestig in dit geval het correcte gedrag handmatig.
Native Android: Aangepaste dialoogvensters / modals
Wanneer u aangepaste dialoogvensters of modals implementeert die niet de native controls uitbreiden, kunt u resultaten krijgen voor weergaven achter het modal. In dit geval raden we aan om onze tool niet te gebruiken tegen deze aangepaste modals of dialoogvensters en in plaats daarvan deze handmatig te controleren om ervoor te zorgen dat ze zich gedragen zoals gewenst met ondersteunende technologie.
Webdashboard
Ontbrekende screenshot
Als de screenshot ontbreekt op de pagina met scandetails, kan het zijn dat uw app voorkomt dat er screenshots worden gemaakt. Vaak is dit om veiligheidsredenen in uw productieapplicatie. Overweeg om deze vereiste te verwijderen voor uw testbuild om volledige functionaliteit mogelijk te maken in het axe DevTools Mobile Dashboard.
Sommige Android scan namen zijn niet opgemaakt
Sommige Android scan namen die standaard op de schermtitel zijn gebaseerd, worden weergegeven als de volledige klassennaam inclusief de bundelidentifier. In een toekomstige release zal dit worden opgelost zodat de schermtitel wordt geformatteerd tot een beter leesbare naam. Als oplossing kunt u de scan naam instellen vanuit het dashboard of met frameworks. (#1643)
