Axe DevTools Mobile Releaseopmerkingen 16 januari 2025
16 januari 2025
Componentversies
- 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)
Hoe te updaten: iOS SDK, iOS Analyzer, iOS Appium Driver
Oplossingen
- Updates om de prestatie en nauwkeurigheid van de volgende regels te verbeteren: Associated Text, Kleurcontrast, Conflicterende Kenmerken, Onbereikbare Actie, In Scrollweergave, Label In Naam, Label Vooraan, Geneste Elementen Naam
- Minimaal ondersteunde iOS-versie is nu iOS 16
- Opgelost probleem met de functie Regels negeren, specifiek negeren bij toegankelijkheids-ID met SwiftUI
Bekende problemen
Als u een van de onderstaande problemen ondervindt, neem dan contact met ons op via helpdesk@deque.com of support.deque.com. We kunnen u dan op de hoogte brengen zodra het is opgelost of van een geïdentificeerde oplossing als geen daarvan is vermeld.
- Axe DevTools Mobile geautomatiseerde tests draaien op native iOS, native Android en React Native applicaties. Neem contact op met uw Deque-vertegenwoordiger voor toegankelijkheidstestoplossingen voor uw technische stack.
- Hoewel u enkele resultaten kunt krijgen van webviews of gerenderde PDF's, raden we sterk aan om te testen met Axe DevTools for Web of Axe Monitor voor de meest uitgebreide toegankelijkheidstests voor het web.
iOS
Fout in Analyzer-project & Testen op Bundle ID in 2.8.1
Functionaliteit met het testen van een applicatie door bundel-ID was gebroken in versie 2.8.1, wat resulteerde in een fout met de titel „Geen doelapplicatiepad opgegeven via testconfiguratie: ...“. Update naar 2.8.2 of de laatste versie om de fout te verhelpen. Update naar de nieuwste binnen het iOS Analyzer-project.
Vals positief: LabelInName en LabelAtFront in SwiftUI & Cross-Platform Apps
Sommige schermen kunnen valse positieven rapporteren met LabelInName en LabelAtFront vanwege een onjuiste associatedText-eigenschap die wordt gevonden (#1622)
Ondersteunt Dynamisch Type-regel werkt niet met iOS 15 Pro-simulator
Er is een probleem dat de iPhone 15 Pro-simulator beïnvloedt, waardoor de regel Ondersteunt Dynamisch Type niet kan worden uitgevoerd. Als u bent ingeschreven voor de regel Ondersteunt Dynamisch Type, kunt u deze niet testen met een iPhone 15 Pro-simulator. Er is een bug ingediend bij Apple.
Regels tegen Geneste Besturingselementen
Bij het bekijken van een verbetering voor onze regels ontdekten we dat in XCTest geneste besturingselementen niet worden geretourneerd in de toegankelijkheidsboom. Er is een bug ingediend bij Apple. (#1110)
ImageView Naam Regels Beoordelingsresultaten voor UIKit-apps
In UIKit-apps is een afbeelding zonder een `accessibilityLabel` niet standaard focusbaar met ondersteunende technologie.
De eigenschappen die we gebruiken om focusbaarheid vanaf Apple te controleren, kunnen onnauwkeurig zijn wanneer een `accessibilityIdentifier` op de afbeelding is ingesteld. Vanwege dit onverwachte gedrag worden resultaten voor problemen met de ImageView Naam in UIKit-apps gerapporteerd als Beoordeling Nodig. Er is een bugrapport ingediend bij Apple. (#1633)
Vals Positief: In Scroll Weergave, Label In Naam, Label Vooraan, en v2.11.0 Afbeeldingsweergave Naam & ActieveBesturingselementNaam
We werken actief aan oplossingen voor de volgende valse positieve meldingen en zullen deze lijst bijwerken zodra oplossingen worden vrijgegeven.
In Scroll View
Kan problemen melden voor tekst binnen banners-functionerende elementen. Om deze elementen beschikbaar te maken voor degenen die grotere tekst nodig hebben, gebruik UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Als een UIImageView een `accessibilityIdentifier` heeft ingesteld maar niet focusbaar is door VoiceOver, en het heeft focusbare controles genest binnenin, kan ActieveBesturingselementNaam een vals positieve melden op de UIImageView. Het verwijderen van de `accessibilityIdentifier` lost het probleem op. Er is een bug ingediend bij Apple. (#1633)
Label In Name and Label At Front
Deze twee regels zoeken naar het zichtbare label van een besturingselement tussen nabijgelegen elementen om de regelstatus te helpen bepalen. In sommige weergavehiërarchieën kan de verkeerde nabijgelegen tekst worden gedetecteerd, waardoor deze regels falen. (#1622)
Android
Fout bij het lokaal opslaan van resultaten op API 30
Op Android API 30 heeft een van de locaties waar we proberen resultaten lokaal op te slaan een permissiefout. Het resultaat wordt nog steeds als een JSON-bestand opgeslagen 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
// }
}
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.
Scroll-detectie op Hybride en Cross-Platform Apps
In sommige hybride en cross-platform apps kunnen we onverwachte resultaten teruggeven wanneer items in een scrollweergave gedeeltelijk buiten het scherm vallen. Om een element op toegankelijkheid te testen, zorg ervoor dat het volledig op het scherm staat vóór de scan.
Analyzer App: Zwevende Actieknop Verdwijnt
Ingevoerd met API 31 (Android 12) is de mogelijkheid om niet-systeem overlays te verbergen. Om de Axe Analyzer app te gebruiken, zorg ervoor dat deze instelling niet is ingeschakeld. Als u ervoor heeft gekozen om deze functie te gebruiken vanwege de beveiligingsverbeteringen, raden we aan deze uitgeschakeld te laten voor interne testbouw waarin u veilig testgegevens kunt gebruiken en zo beveiligingsproblemen 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 vak) in het dashboard
Om de volledige functionaliteit van Axe DevTools voor Mobile te ontgrendelen, 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 beveiligingsproblemen te voorkomen. Bekijk onze gids voor het inschakelen van screenshots in Android-apps.
Crash wanneer `minifiedEnabled` is ingesteld op true
Als u uw build aan het verkleinen bent, krijgt u een crash met een foutlogboek dat een adapter niet kon worden gevonden bij het inloggen in de Axe DevTools-bibliotheek. Schakel minify uit voor uw debug builds met Axe DevTools geïmplementeerd. (#729)
Builds met r8 ingeschakeld geven een foutmelding
Een build met r8 ingeschakeld kan proberen de axeDevTools-bibliotheek te verkleinen, wat resulteert in een foutmelding die lijkt op:
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.** { *; }
Foutmelding vergelijkbaar met:
Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)
of: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
De Compose API's zijn verouderd, gebruik de lay-outagnostische 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' node maar vond '2' nodes die voldoen aan: (isRoot)` of `Geen View geïnitialiseerd, heb je AxeDevToolsCompose.setComposeTestRule() aangeroepen?`, raadpleeg dan Compose setTestTag API.
Logbericht:MlKitContext has not been initialized
Als je dit bericht tegenkomt, kunnen sommige regelresultaten niet terugkeren zoals verwacht wanneer die regel gebruikmaakt van kunstmatige intelligentie. Getroffen regels zijn onder andere Kleurcontrast, Focusbare tekst en Geneste elementnaam. (#841)
MAUI: Bewerken Tekstnaam regel
Vanwege beperkingen van de MAUI-app architectuur die rendert binnen het Android-ecosysteem, zal de regel Bewerken Tekstnaam als Moet worden beoordeeld worden weergegeven in het dashboard wanneer een fout wordt vermoed voor SDK-versie 5.5.0 en hoger. Bevestig in dit geval handmatig het juiste gedrag.
Native Android: Aangepaste dialogen / modals
Wanneer je aangepaste dialogen of modals implementeert die de native controls niet uitbreiden, kun je resultaten krijgen voor weergaven achter de modal. In dit geval raden we aan onze tool niet op deze aangepaste modals of dialogen te gebruiken en deze in plaats daarvan handmatig te controleren om ervoor te zorgen dat ze zich gedragen zoals gewenst met ondersteunende technologie.
Webdashboard
Ontbrekend screenshot
Als de screenshot ontbreekt op de scan detailpagina, kan het zijn dat uw app het maken van screenshots voorkomt. Dit is vaak om veiligheidsredenen in uw productieapplicatie. Overweeg om deze vereiste voor uw testbuild te verwijderen om volledige functionaliteit in het Axe DevTools Mobile Dashboard mogelijk te maken.
Sommige Android-scan namen zijn niet geformatteerd
Sommige Android-scan namen die standaard de schermtitel gebruiken, worden weergegeven als de volledige klassennaam inclusief de bundelidentifier. In een toekomstige release zal dit worden opgelost zodat de schermtitel wordt geformatteerd naar een beter leesbare naam. Als workaround kun je de scannaam instellen vanuit het dashboard of frameworks. (#1643)
