Succescriterium 1.3.1 - Niveau A
Info en relaties
Zorg dat de informatie en relaties op het scherm ook voor gebruikers van hulpmiddelen duidelijk zijn.
Informatie op het scherm moet overgebracht worden aan hulpmiddelen. Zorg dat koppen bijvoorbeeld niet alleen dikgedrukt zijn, maar ook in de code als kop gemarkeerd zijn.
Relaties op het scherm moeten via hulpmiddelen te gebruiken zijn. Elementen in een lijst moeten één voor één genavigeerd kunnen worden. Elementen in een tabel moeten via rijen en kolommen kunnen worden genavigeerd.
Impact
Voor gebruikers van hulpsoftware is het belangrijk dat in een tabel de titels van rijen en kolommen voorgelezen worden.
Zorg dat alinea’s door hulpsoftware apart worden voorgelezen.
Zorg dat het voor hulpsoftware duidelijk is dat een lijst met bullets een lijst is.
Controleren
“Is de opbouw van het scherm duidelijk bij het gebruiken van hulpmiddelen?”
Je kunt de schermlezer gebruiken om dit te controleren.
Oplossing
Bij websites wordt vaak gebruik gemaakt van WAI-ARIA attributen om informatie en relaties correct over te brengen. Bij apps kun je geen gebruik maken van deze attributen, omdat apps niet in HTML geschreven zijn. Voor een deel van deze attributen zijn er alternatieven beschikbaar, maar niet voor allemaal.
Accessibility role instelllen
Op Android kun je handmatig een rol instellen via de setRoleDescription methode van AccessibilityNodeInfoCompat. Maar vaak is het beter om de setClassName methode te gebruiken om de rol van een bestaand element over te nemen. Stel bijvoorbeeld Button::class.java.name in als een element zich moet gedragen als een knop.
ViewCompat.setAccessibilityDelegate(
element,
object : AccessibilityDelegateCompat() {
override fun onInitializeAccessibilityNodeInfo(
host: View,
info: AccessibilityNodeInfoCompat
) {
super.onInitializeAccessibilityNodeInfo(host, info)
// Custom
info.roleDescription = "Custom role"
// Button
info.className = Button::class.java.name
// Heading
info.isHeading = true
// Image
info.className = ImageView::class.java.name
}
}
)
// Convenience method
ViewCompat.setAccessibilityHeading(view, true)
Accessibility modal aangeven
On Android, there is no method to indicate an accessibility modal. However, you can can indicate an accessibility pane by using the setPaneTitle
method. ViewCompat
also contains a convenience method: setAccessibilityPaneTitle
. Please keep in mind that is focus is not trapped when a pane title has been set.
Elementen groeperen
On Android you can group elements by using the android:focusable
and android:screenReaderFocusable
attributes. Sometimes you also need the android:importantForAccessibility
attribute. Don't for get to set an android:contentDescription
for the group.
Keep in mind that android:focusable
is not only used by assistive technologies, but also by other means of interaction.
<LinearLayout
android:focusable="true"
android:screenReaderFocusable="true"
android:contentDescription="Appt group">
<TextView
android:focusable="false"
android:importantForAccessibility="no"/>
<ImageView
android:focusable="false"
android:importantForAccessibility="no"/>
</LinearLayout>