Ga naar hoofdinhoud

Appt Evaluatiemethode (Appt-EM)

Huidige versie: 1.1.0, laatst aangepast op 4 juli 2023.

Stichting Appt heeft de Appt Evaluatiemethode (Appt-EM) ontwikkeld om de toegankelijkheid van apps op een uniforme en reproduceerbare manier vast te stellen.

Vanuit Europese norm EN 301 549 V3.2.1 (2021-03) zijn apps verplicht om te voldoen aan een deel van de Web Content Accessibility Guidelines 2.1 (WCAG 2.1). De bijpassende evaluatiemethode is de Website Accessibility Conformance Evaluation Methodology (WCAG-EM).

Zowel de WCAG, als WCAG-EM, zijn echter geschreven voor websites en daardoor niet zomaar toepasbaar op apps. Appt-EM is specifiek geschreven voor apps en is gebaseerd op WCAG-EM.

Basisvoorwaarden

Om Appt-EM succesvol te gebruiken wordt aangenomen dat er een goed begrip is van WCAG en toegankelijkheidsfuncties van Android en iOS.

Evaluatieprocedure

Dit hoofdstuk beschrijft de stappen en activiteiten van de evaluatieprocedure. Bij elke stap voer je een aantal activiteiten uit. Het kan zijn dat je één of meerdere stappen terug moet doen wanneer je nieuwe inzichten opgedaan hebt.

De stappen van Appt-EM zijn vergelijkbaar met die van WCAG-EM:

  • Stap 1 – Bepaal scope

  • Stap 2 – Onderzoek app

  • Stap 3 – Selecteer schermen

  • Stap 4 – Voer audit uit

  • Stap 5 – Rapporteer resultaten

Stap 1 – Bepaal scope

In deze stap wordt de scope van de evaluatie bepaald. Om de scope te bepalen moet duidelijk worden wat binnen en buiten de scope van het onderzoek valt.

Stap 1a – Bepaal scope app

Het bepalen van de scope start met het vaststellen van het besturingssysteem, de installatiemethode en het versienummer. Bepaal vervolgens de schermen die onderdeel uitmaken van het onderzoek.

Bepaal besturingssysteem

Apps zijn vaak beschikbaar voor Android en iOS. Leg vast op welk besturingssysteem je het onderzoek uitvoert. Per besturingssysteem moet er een los onderzoek gedaan worden. We raden aan om per besturingssysteem een los rapport op te leveren.

Bepaal installatiemethode

Een app is vaak via een app store te downloaden en heeft dan een unieke downloadlink. Het is belangrijk om de volledige downloadlink over te nemen, inclusief alle URL parameters. Per land kunnen er namelijk verschillende versies van een app beschikbaar zijn. Daarnaast kunnen er ook verschillende varianten beschikbaar zijn, zoals een ‘lite’ versie.

Indien een app (nog) niet gepubliceerd is, dan kan deze ook beschikbaar worden gemaakt via een installatiebestand. Het installatiebestand heet op Android een Android Application Package (.apk) en op iOS een iOS App Store Package (.ipa). Neem in dit geval de downloadlink en/of de volledige naam van het installatiebestand op.

Bepaal versienummer

Het versienummer kun je vinden in de app store. Na installatie kun je het versienummer ook vinden bij de instellingen van je toestel. Het versienummer staat vaak ook ergens in de app vermeld.

Bepaal schermen

Bij apps is meestal geen sitemap beschikbaar met een overzicht van alle schermen. Daarnaast hebben schermen meestal geen unieke URL. Leg daarom het pad vast dat je bent doorlopen om op het scherm te komen. Gebruik hiervoor de namen van de schermen, bijvoorbeeld: Home → Profiel → Wijzigen. Indien een scherm geen naam heeft, dan zul je zelf een beschrijvende naam moeten bedenken.

De beschikbare schermen binnen een app kun je op verschillende manieren bepalen. Meestal komt het erop neer dat je door alle schermen van de app zal moeten navigeren.

Stap 1.b – Bepaal het conformiteitsniveau

Bepaal het conformiteitsniveau dat getoetst wordt: niveau A, AA of AAA. Het conformiteitsniveau AA wordt veel gebruikt. Vanuit de Nederlandse wetgeving wordt ook naar dit niveau verwezen voor overheidsorganisaties.

Let op: vanuit de EN 301 549 zijn 6 succescriteria uitgezonderd voor apps, zie Bijlage I.

Stap 1.c – Bepaal scope hardware/software

Bepaal scope hardware

Afhankelijk van de hardware is het mogelijk dat een app anders reageert.

  • Bepaal de toestellen

  • Bepaal de schermafmetingen

Bepaal scope software

Afhankelijk van de software is het mogelijk dat een app anders reageert. Het is belangrijk om het versienummer van het besturingssysteem te noteren.

Bij apps zijn de toegankelijkheidsfuncties ingebouwd in het besturingssysteem. De toegankelijkheidsfuncties verschillen per fabrikant. Ondersteunende hulpmiddelen zoals de schermlezer, stembediening, schakelbediening en toetsenbordbediening hebben vaak een eigen versienummer, noteer deze.

Noteer tot slot relevante systeeminstellingen die invloed hebben op het gedrag van de app, zoals taal en locatie.

We raden aan om tenminste te testen met tekstvergroting en de schermlezer. Aanvullend kun je testen met toetsenbordbediening, stembediening, schakelbediening en andere beschikbare toegankelijkheidsfuncties.

  • Bepaal versienummer van besturingssysteem

  • Bepaal toegankelijkheidsfuncties en hun versienummers

  • Bepaal relevante systeeminstellingen

  • Bepaal met welke hulpmiddelen en toegankelijkheidsfuncties er getest moet worden

Stap 2 – Onderzoek app

In deze stap wordt het gebruik, doel en functionaliteit van de app vastgesteld. Hiervoor moeten de schermen nader onderzocht worden.

Stap 2.a – Bepaal belangrijkste schermen

Bepaal of er schermen zijn die gebruikers meerdere keren tegenkomen bij het gebruik van de app. En bepaal op welke schermen gebruikers de meeste tijd doorbrengen.

Kies in ieder geval schermen die functionaliteit bevatten die essentieel zijn om de app te kunnen gebruiken, zoals registreren, inloggen, wachtwoord resetten, etc. Schermen die direct benaderbaar zijn vanuit het hoofdscherm van de app zijn vaak ook belangrijk om te onderzoeken.

Stap 2.b – Bepaal essentiële functionaliteit

Bepaal welke flows essentieel zijn in de app. Een flow bestaat uit meerdere stappen of schermen die je moet doorlopen om een taak uit te voeren. Door de belangrijke flows van de app te omschrijven kun je vervolgens alle schermen van deze flows testen.

Stap 2.c – Bepaal veelvoorkomende elementen

Bepaal welke soort elementen gebruikt worden in de app. In de onderstaande tabel staat een overzicht van veelvoorkomende Android, iOS, Flutter en React Native elementen.

ElementAndroidiOSFlutterReact Native
AfbeeldingImageViewUIImageViewImageImage
VideoMediaPlayerAVPlayerVideoPlayerVideo
AudioMediaPlayerAVPlayerAudioPlayerAudio
TekstTextViewUILabelTextText
KnopButtonUIButtonTextButtonButton
LinkURLSpanNSAttributedStringTextSpanText
InvoerveldEditTextUITextFieldTextFieldTextInput
SelectievakjeCheckBoxUISwitchCheckboxSwitch
NavigatiebalkToolbarUINavigationBarAppBarNavigationBar
TabbladbalkTabLayoutUITabBarAppBarBottomTabs

Stap 2.d – Gebruikte technieken

Bepaal welke technieken er gebruikt zijn om de app te ontwikkelen.

  • Programmeertalen, bijvoorbeeld Swift of Kotlin

  • Frameworks, bijvoorbeeld SwiftUI of React Native

  • Libraries, bijvoorbeeld Alamofire of Expo

Stap 2.e – Overige relevante schermen

Bepaal of er specifieke functionaliteiten of schermen aanwezig zijn voor gebruikers met een beperking. Voeg schermen met uitleg over de app of met contactinformatie ook toe aan het onderzoek.

Stap 3 – Selecteer schermen

Selecteer de schermen die deel uitmaken van het onderzoek. Je kan kiezen om alle schermen van de app te onderzoeken. Of je kan een representatieve steekproef nemen bestaande uit een gestructureerde steekproef en willekeurig gekozen schermen.

Stap 3.a – Gestructureerde steekproef

Bij een gestructureerde steekproef selecteer je schermen die een goede weerspiegeling zijn van alle schermen van de app.

Selecteer de schermen als volgt:

  1. De belangrijkste schermen zoals bepaald in stap 2.a

  2. De overige relevante schermen zoals bepaald in stap 2.e

  3. Als de schermen van stap 2.a en 2.e niet voldoende zijn voor een representatieve gestructureerde steekproef, voeg dan deze schermen toe:

    • Schermen met essentiële functionaliteit uit stap 2.b

    • Schermen met veelvoorkomende elementen uit stap 2.c

    • Schermen die gebruik maken van de technieken uit stap 2.d

Stap 3.b – Voeg willekeurige schermen toe

Kies willekeurig één of meerdere schermen om te controleren of de gestructureerde steekproef een goede afspiegeling is van de app. Het aantal willekeurige schermen moet minimaal 10% van het aantal schermen in de steekproef zijn.

Bijvoorbeeld: bij 20 schermen in de steekproef moet je minimaal 2 willekeurig gekozen schermen toevoegen ter controle.

Stap 3.c – Voeg flows toe

Bekijk of er schermen uit stap 3.a en 3.b zijn die deel uitmaken van een flow. Voeg de schermen van de gevonden flows toe aan de selectie.

Apps bestaan voornamelijk uit flows van meerdere schermen. Het kan dus zijn dat je uiteindelijk (bijna) alle schermen moet testen.

Stap 4 – Voer audit uit

Beoordeel de schermen volgens het gekozen conformiteitsniveau uit stap 1.b.

Voer de volgende stappen uit:

  • Stap 4.a Beoordeel alle schermen

  • Stap 4.b Beoordeel alle flows volledig

  • Stap 4.c Vergelijk structurele steekproef met willekeurig gekozen schermen

Let op: Anders dan bij websites is het bij apps belangrijk om de schermafbeelding mee te sturen. Als je een scherm herlaadt dan zal de content wellicht de volgende keer anders zijn waardoor het niet reproduceerbaar is zonder schermafbeelding.

Stap 5 – Rapporteer resultaten

Een auditrapport moet aan bepaalde vormvereisten voldoen. Zie hoofdstuk 5 van WCAG-EM voor verdere toelichting.

Voor apps zijn er afwijkingen en aanbevelingen die hieronder worden toegelicht. Hierdoor voldoen de rapporten aan de minimale kenmerken die nodig zijn om de bevindingen te reproduceren.

Afwijkingen

Benamingen en definities

Een app heeft specifieke benamingen en definities. Er is bijvoorbeeld geen sprake van een webpagina, maar van een scherm. Gebruik de juiste benamingen en definities voor apps.

Rapporteer pad

Bij apps worden meestal geen URL’s gebruikt om schermen te identificeren. Rapporteer in plaats van de URL het pad dat je hebt afgelegd om op het scherm te komen.

Aanbevelingen

Voeg oplossingen en codevoorbeelden toe

Bij de definities van de WCAG succescriteria staan alleen oplossingen en codevoorbeelden voor websites. Rapporteer oplossingen en codevoorbeelden voor apps, bijvoorbeeld door naar relevante pagina’s uit de Appt kennisbank te verwijzen. Je kunt gebruik maken van onze WCAG shortlinks, appt.nl/1.1.1 verwijst bijvoorbeeld naar onze uitleg over succescriterium 1.1.1.

Voeg schermafbeeldingen toe

Bij apps is het belangrijk om schermafbeeldingen toe te voegen aan het rapport. Apps zijn veel dynamischer dan websites waardoor het moeilijk is om de fout te reproduceren. Een schermafbeelding toont precies hoe de app er uit zag op het moment van rapporteren.

Bijlage I: Toegankelijkheidseisen uit de EN 301 549 v3.2.1

De Europese norm EN 301 549 V3.2.1 (2021-03) bevat toegankelijkheidseisen voor software, waaronder mobiele applicaties (apps). Apps vallen onder de categorie ‘Open functionality’. In hoofdstuk 11 zijn 44 succescriteria uit de Web Content Accessibility Guidelines 2.1 (WCAG 2.1) opgenomen. Dit zijn er 6 minder dan voor websites.

Closed en open functionality

In de norm worden de termen “Open functionality” en “Closed functionality” gebruikt. De gegeven definitie voor “Closed functionality” is: “Computers that do not allow end-users to adjust settings or install software are functionally closed”. Bij mobiele telefoons is het mogelijk om (systeem)instellingen aan te passen en om apps te installeren. Mobiele telefoons en apps zien wij daarom als “Open functionality”.

Verplichte succescriteria uit WCAG 2.1

In hoofdstuk 11 zijn alle succescriteria met niveau A en AA uit de WCAG 2.1 opgenomen. In totaal zijn er 6 succescriteria niet van toepassing. Bij 13 succescriteria is er een kleine aanpassing in de notities of definities. De gedachte en het doel achter deze succescriteria is hetzelfde, alleen is de term “webpage” vervangen door “software”.

Let op: Apps hoeven dus maar aan 44 succescriteria te voldoen in plaats van 50.

Een overzicht van de afwijkingen:

In onderstaande tabel staat een volledig overzicht met de opmerkingen per succescriterium.

SuccescriteriumNiveauOpmerking uit EN 301 549
1.1.1 Niet-tekstuele contentAGeen afwijkingen
1.2.1 Louter-geluid en louter-videobeeld (vooraf opgenomen)AGeen afwijkingen
1.2.2 Ondertitels voor doven en slechthorenden (vooraf opgenomen)AGeen afwijkingen
1.2.3 Audiodescriptie of media-alternatief (vooraf opgenomen)AGeen afwijkingen
1.2.4 Ondertitels voor doven en slechthorenden (live)AAGeen afwijkingen
1.2.5 Audiodescriptie (vooraf opgenomen)AAGeen afwijkingen
1.3.1 Info en relatiesAGeen afwijkingen
1.3.2 Betekenisvolle volgordeAGeen afwijkingen
1.3.3 Zintuiglijke eigenschappenAGeen afwijkingen
1.3.4 WeergavestandAAGeen afwijkingen
1.3.5 Identificeer het doel van de inputAAGeen afwijkingen
1.4.1 Gebruik van kleurAGeen afwijkingen
1.4.2 GeluidsbedieningAKleine aanpassingen in de notities of definities
1.4.3 Contrast (minimum)AAGeen afwijkingen
1.4.4 Herschalen van tekstAAGeen afwijkingen
1.4.5 Afbeeldingen van tekstAAGeen afwijkingen
1.4.10 ReflowAAKleine aanpassingen in de notities of definities
1.4.11 Contrast van niet-tekstuele contentAAGeen afwijkingen
1.4.12 TekstafstandAAGeen afwijkingen
1.4.13 Content bij hover of focusAAGeen afwijkingen
2.1.1 ToetsenbordAGeen afwijkingen
2.1.2 Geen toetsenbordvalAKleine aanpassingen in de notities of definities
2.1.4 Enkel teken sneltoetsenAGeen afwijkingen
2.2.1 Timing aanpasbaarAKleine aanpassingen in de notities of definities
2.2.2 Pauzeren, stoppen, verbergenAKleine aanpassingen in de notities of definities
2.3.1 Drie flitsen of beneden drempelwaardeAKleine aanpassingen in de notities of definities
2.4.1 Blokken omzeilenANiet van toepassing op apps
2.4.2 PaginatitelANiet van toepassing op apps
2.4.3 Focus volgordeAKleine aanpassingen in de notities of definities
2.4.4 Linkdoel (in context)AGeen afwijkingen
2.4.5 Meerdere manierenAANiet van toepassing op apps
2.4.6 Koppen en labelsAAGeen afwijkingen
2.4.7 Focus zichtbaarAAGeen afwijkingen
2.5.1 AanwijzergebarenAKleine aanpassingen in de notities of definities
2.5.2 AanwijzerannuleringAKleine aanpassingen in de notities of definities
2.5.3 Label in naamAGeen afwijkingen
2.5.4 BewegingsactiveringAGeen afwijkingen
3.1.1 Taal van de paginaAAKleine aanpassingen in de notities of definities
3.1.2 Taal van onderdelenAANiet van toepassing op apps
3.2.1 Bij focusAGeen afwijkingen
3.2.2 Bij inputAGeen afwijkingen
3.2.3 Consistente navigatieAANiet van toepassing op apps
3.2.4 Consistente identificatieAANiet van toepassing op apps
3.3.1 FoutidentificatieAGeen afwijkingen
3.3.2 Labels of instructiesAGeen afwijkingen
3.3.3 FoutsuggestieAAGeen afwijkingen
3.3.4 Foutpreventie (wettelijk, financieel, gegevens)AAKleine aanpassingen in de notities of definities
4.1.1 ParsenAKleine aanpassingen in de notities of definities
4.1.2 Naam, rol, waardeAKleine aanpassingen in de notities of definities
4.1.3 StatusberichtenAAGeen afwijkingen

Voor de volledige toelichting zie hoofdstuk 11 van de Europese norm EN 301 549 V3.2.1 (2021-03).