Toegankelijkheidsscanner Remediëring

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
Not for use with personal data

Gebruikt uw team de Android Accessibility Scanner van Google?

Dit gedeelte biedt hersteladvies voor de regels die de scanner controleert. Lees verder over het benutten van Accessibility Scanner en Axe DevTools Mobile.

Bezoek richtlijnen voor de toegankelijkheidsscanner van Google voor hun volledige lijst van huidige controles, beschrijvingen en updates.

Inhoud Labeling

Label Ontbreekt

Inhoud binnen de weergave kan contextuele informatie missen.

Voor elke weergave die informatie aan de gebruiker biedt, moet een van de volgende worden verstrekt om dit toegankelijkheidsprobleem op te lossen:

  • android:contentDescription: In de meeste gevallen is het toevoegen van een inhoudsbeschrijving alles wat nodig is.
  • android:hint: Er kunnen hints worden toegevoegd om het type gegevens te beschrijven dat de gebruiker moet invoeren voor bewerkbare tekstweergaven.
  • android:labelFor: Met deze tag kunt u een weergave toewijzen als een label voor een andere weergave.
note

Binnen Compose worden inhoudsomschrijving en hint gevonden als parameter bij het definiëren van de weergave of via de Modifier-interface.

Decoratieve Afbeeldingen

Decoratieve afbeeldingen die geen belangrijke informatie verschaffen, kunnen worden gemarkeerd als niet belangrijk voor toegankelijkheid.

Voor XML: android:importantForAccessibility="no"

Of voor Compose:

Image(
      imageVector = Icons.Filled.AccountCircle,
      contentDescription = null // decorative
    )

Item Gelabeld met Type of Status

Een van uw weergaven kan een overbodige status hebben. Android biedt standaardweergaven met statussen zoals *aan*, *uit*, *geselecteerd* of *niet geselecteerd*. Het toevoegen van een status aan het leesvenster kan leiden tot een verwarrende ervaring.

Om dit toegankelijkheidsprobleem op te lossen, moet u ervoor zorgen dat:

  • Selectievakjes een bijbehorend label hebben voor context
  • Statusbeschrijvingen niet worden toegevoegd aan de beschrijving van de weergave
<TextView
      android:id="@+id/edit_text_label"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:labelFor="@+id/example"
      android:text="Check Label" />

<androidx.appcompat.widget.AppCompatCheckBox
      android:id="@+id/example"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="@string/with_text"/>

Dubbele Item Beschrijvingen

Meerdere weergaven binnen de hiërarchie bleken identieke beschrijvingen te hebben.

Dit is geen WCAG-fout en er kunnen gevallen zijn waarin dit een vereiste is. Als inhoudsbeschrijvingen worden gedupliceerd, zorg er dan voor dat elke voldoende context biedt zodat de gebruiker weet wat het resultaat zou zijn van interactie met de weergave.

Elke link moet genoeg tekst bevatten om zijn doel over te brengen. Bij het gebruik van beschrijvingen zoals „Klik hier“, moet u ervoor zorgen dat de omringende tekst voldoende informatie bevat om het doel van de link te achterhalen.

Implementatie - Klikbare Items

Links zouden duidelijk moeten worden weergegeven en gemakkelijk toegankelijk moeten zijn vanuit het lokale contextmenu. Google stelt voor om URLSpan of de handige klasse Linkify te gebruiken om hyperlinks weer te geven in de gebruikersinterface van een app om de kans te vergroten dat deze links worden gedetecteerd en geactiveerd.

Dubbele Klikbare Weergaven

Een van de klikbare elementen in uw weergave overlapt met een ander klikbaar element. U kunt dit toegankelijkheidsprobleem op een van de volgende manieren oplossen:

  • Verplaats de klikbare elementen zodat ze niet botsen of overlappen.
  • Als de weergaven niet kunnen worden verplaatst, zorg er dan voor dat beide weergaven een geschikt groot klikgebied hebben en iedereen zonder problemen met de elementen kan omgaan.

Bewerkbaar Item Label

Bewerkbare velden moeten een label hebben dat het doel van het veld beschrijft.

Een voorbeeld met EditText:

<TextView
      android:id="@+id/edit_text_label"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:labelFor="@+id/edit_text"
      android:text="Enter your username" />

<EditText
      android:id="@+id/edit_text"
      android:layout_width="0dp"
      android:layout_height="wrap_content"
      android:hint="Hint" />

Een voorbeeld met CheckBox:

Gebruik een TextView en koppel het aan het CheckBox-element:

val checkBox: CheckBox = ....... // Role: CheckBox
val label: TextView = ....... // Role: Label
label.setLabelFor(checkBox.getId()) // Associate the Checkbox with its Name

Niet-ondersteund Itemtype

Het lijkt erop dat u een aangepaste weergave hebt. Bewerk de AccessibilityNodeInfo om de className een passende functie voor de weergave te geven.

val frameLayout = findViewById<FrameLayout>(R.id.custom_view)
frameLayout.setAccessibilityDelegate(object : View.AccessibilityDelegate() {
      override fun onInitializeAccessibilityNodeInfo(
          host: View,
          info: AccessibilityNodeInfo
      ) {
            info.className = "ClassName"
            info.contentDescription = "ContentDescription"
            super.onInitializeAccessibilityNodeInfo(host, info)           
      }
})

Volgorde van Navigatie

Als u uw weergaven kunt navigeren met TalkBack op een manier die contextueel logisch is, kan dit een vals-positief zijn en hoeft het niet aangepakt te worden.

Als TalkBack niet dezelfde informatie biedt als het lezen van de app zonder ondersteunende technologie, kunt u overwegen om de volgorde van de weergaven aan te passen. Aangezien het lastig kan zijn om dit correct te doen en het ook kan resulteren in het per ongeluk toevoegen van een oneindige lus, raden we aan om de doorkruisingsvolgorde niet te bewerken. Om de doorkruisingsvolgorde te wijzigen, kunt u android:accessibilityTraversalBefore en android:accessibilityTraversalAfter gebruiken.

Tekst Schalen

Tekstelementen moeten schaalbare pixels (sp) gebruiken in plaats van dichtheidsonafhankelijke pixels (dp) om de tekst mee te laten schalen met de lettergrootte-instelling van het apparaat.

Aanraakdoelgrootte

Voor aanbevelingen en hersteladviezen voor de visuele en aanraakbare gebieden van actieve controles, raadpleeg de Aanraakdoelgrootte Regel voor onze Android-bibliotheek.

Laag Contrast

Het kleurcontrast tussen tekst en zijn achtergrond moet voldoen aan de WCAG 2 AA-minimumverhouding drempels. Lees meer over deze verhouding en vind hersteladvies voor laag contrast onder de Kleurcontrastregel voor onze Android-bibliotheek.