Accessibilità in iOS

Questa pagina descrive come usare le API di accessibilità iOS per creare app in base all'elenco di controllo per l'accessibilità. Per altre API della piattaforma, vedere le pagine di accessibilità di Android e OS X .

Descrizione degli elementi dell'interfaccia utente

iOS fornisce le AccessibilityLabel proprietà e AccessibilityHint per gli sviluppatori per aggiungere testo descrittivo che può essere usato dall'utilità per la lettura dello schermo VoiceOver per rendere i controlli più accessibili. I controlli possono anche essere contrassegnati con uno o più tratti che forniscono contesto aggiuntivo in modalità accessibili.

Alcuni controlli potrebbero non essere accessibili (ad esempio, un'etichetta su un input di testo o un'immagine puramente decorativa), che IsAccessibilityElement viene fornita per disabilitare l'accessibilità in tali casi.

Progettazione interfaccia utente

Il riquadro proprietà contiene una sezione di accessibilità che consente di modificare queste impostazioni quando un controllo viene selezionato in Progettazione interfaccia utente iOS:

Accessibility Settings

C#

Queste proprietà possono anche essere impostate direttamente nel codice:

usernameInput.AccessibilityLabel = "Search";
usernameInput.Hint = "Press Enter after typing to search employee list";
someLabel.IsAccessibilityElement = false;
displayOnlyText.AccessibilityTraits = UIAccessibilityTrait.Header | UIAccessibilityTrait.Selected;

Che cos'è AccessibilityIdentifier?

Viene AccessibilityIdentifier usato per impostare una chiave univoca che può essere usata per fare riferimento agli elementi dell'interfaccia utente tramite l'API UIAutomation.

Il valore di AccessibilityIdentifier non viene mai parlato o visualizzato all'utente.

PostNotification

Il UIAccessibility.PostNotification metodo consente di generare eventi all'utente all'esterno dell'interazione diretta, ad esempio quando interagiscono con un controllo specifico.

Annuncio

Un annuncio può essere inviato dal codice per informare l'utente che alcuni stati sono stati modificati (ad esempio un'operazione in background è stata completata). Ciò può essere accompagnato da un'indicazione visiva nell'interfaccia utente:

UIAccessibility.PostNotification (
  UIAccessibilityPostNotification.Announcement,
    new NSString(@"Item was saved"));

LayoutChanged

L'annuncio LayoutChanged viene usato quando il layout dello schermo:

UIAccessibility.PostNotification (
  UIAccessibilityPostNotification.LayoutChanged,
    someControl);  // someControl gets focus

Accessibilità e localizzazione

Le proprietà di accessibilità, come l'etichetta e l'hint, possono essere localizzate esattamente come altro testo nell'interfaccia utente.

MainStoryboard.strings

Se l'interfaccia utente è disposta in uno storyboard, è possibile fornire traduzioni per le proprietà di accessibilità nello stesso modo delle altre proprietà. Nell'esempio seguente, un oggetto UITextField ha un ID di localizzazione di e due proprietà di Pqa-aa-ury accessibilità impostate in spagnolo:

/* Accessibility */
"Pqa-aa-ury.accessibilityLabel" = "Notas input";
"Pqa-aa-ury.accessibilityHint" = "escriba más información";

Questo file verrà inserito nella directory es.lproj per il contenuto spagnolo.

Localizable.strings

In alternativa, le traduzioni possono essere aggiunte al file Localizable.strings nella directory del contenuto localizzato ,ad esempio. es.lproj per spagnolo):

/* Accessibility */
"Notes" = "Notas input";
"Provide more information" = "escriba más información";

Queste traduzioni possono essere usate in C# tramite il LocalizedString metodo :

notesText.AccessibilityLabel = NSBundle.MainBundle.LocalizedString ("Notes", "");
notesText.AccessibilityHint = NSBundle.MainBundle.LocalizedString ("Provide more information", "");

Per altre informazioni sulla localizzazione del contenuto, vedere la guida alla localizzazione di iOS.

Test dell'accessibilità

VoiceOver è abilitato nell'app Impostazioni passando a Generale > Accessibilità > VoiceOver:

Setting the speaking rate

La schermata Accessibilità fornisce anche le impostazioni per lo zoom, le dimensioni del testo, le opzioni di colore e contrasto, le impostazioni vocali e altre opzioni di configurazione.

Seguire queste istruzioni di VoiceOver per testare l'accessibilità nei dispositivi iOS.

Test del simulatore

Quando si esegue il test nel simulatore, Controllo accessibilità è disponibile per verificare che le proprietà e gli eventi di accessibilità siano configurati correttamente. Attivare il controllo nell'app Impostazioni passando a Controllo accessibilità >generale>:

Enable Accessibility Inspector

Una volta abilitata, la finestra di controllo passa il puntatore del mouse sulla schermata iOS in qualsiasi momento. Di seguito è riportato un esempio dell'output quando viene selezionata una riga di visualizzazione tabella. Si noti che l'etichetta contiene una frase che fornisce il contenuto della riga e anche che è "done" (ad esempio, il tick è visibile):

Using Accessibility Inspector

Mentre il controllo è visibile, usare l'icona "X" in alto a sinistra per visualizzare temporaneamente e nascondere la sovrimpressione e abilitare/disabilitare le impostazioni di accessibilità.