Sviluppo di app di Windows inclusive

Questo articolo illustra come sviluppare app di Windows accessibili. In particolare, presuppone che si capisca come progettare la gerarchia logica per l'app. Informazioni su come sviluppare app di Windows accessibili che includono lo spostamento tramite tastiera, le impostazioni di colore e contrasto e il supporto per le tecnologie di assistive technology.

Se non è ancora stato fatto, leggere Progettazione di software inclusivo.

È necessario eseguire tre operazioni per assicurarsi che l'app sia accessibile:

  1. Esporre gli elementi dell'interfaccia utente all'accesso a livello di codice.
  2. Assicurarsi che l'app supporti lo spostamento tramite tastiera per gli utenti che non sono in grado di usare un mouse o un touchscreen.
  3. Assicurarsi che l'app supporti le impostazioni di colore e contrasto accessibili.

Accesso programmatico

L'accesso a livello di codice è fondamentale per creare accessibilità nelle app. Ciò si ottiene impostando il nome accessibile (obbligatorio) e la descrizione (facoltativa) per il contenuto e gli elementi dell'interfaccia utente interattivi nella tua app. In questo modo si garantisce che i controlli dell'interfaccia utente siano esposti a assistive technology (AT), ad esempio utilità per la lettura dello schermo (ad esempio, Assistente vocale) o dispositivi di output alternativi (ad esempio i display Braille). Senza accesso a livello di codice, le API per assistive technology non possono interpretare correttamente le informazioni, lasciando l'utente incapace di usare i prodotti sufficientemente o forzando l'AT a usare interfacce di programmazione non documentate o tecniche che non devono mai essere usate come interfaccia di accessibilità. Quando i controlli dell'interfaccia utente vengono esposti alla tecnologia di assistive technology, AT è in grado di determinare quali azioni e opzioni sono disponibili per l'utente.

Per altre informazioni su come rendere disponibili gli elementi dell'interfaccia utente dell'app per le tecnologie per l'accessibilità, vedi Esporre informazioni di accessibilità di base.

Navigazione da tastiera

Per gli utenti non vedenti o con problemi di mobilità, la possibilità di navigare nell'interfaccia utente con una tastiera è estremamente importante. Tuttavia, solo i controlli dell'interfaccia utente che richiedono l'interazione dell'utente per funzionare devono essere attivati dalla tastiera. I componenti che non richiedono un'azione, ad esempio le immagini statiche, non necessitano di un controllo da tastiera.

È importante ricordare che a differenza dello spostamento con un mouse o un tocco, lo spostamento tramite tastiera è lineare. Quando si prende in considerazione la navigazione da tastiera, è opportuno pensare in che modo l'utente interagirà con il prodotto e quale sarà la logica di navigazione. Nelle culture occidentali, gli utenti leggono da sinistra a destra e dall'alto verso il basso. È quindi prassi comune seguire questo modello per la navigazione da tastiera.

Quando di progetta la navigazione da tastiera, esaminare l'interfaccia utente e riflettere su queste domande:

  • In che modo i controlli sono disposti o raggruppati nell'interfaccia utente?
  • Esistono alcuni gruppi significativi di controlli?
    • In caso affermativo, questi gruppi contengono un altro livello di gruppi?
  • Tra i controlli peer, lo spostamento deve essere eseguito tramite tabulazioni o tramite spostamento speciale (ad esempio i tasti di direzione) o entrambi?

L'obiettivo è quello di aiutare l'utente a comprendere l'organizzazione dell'interfaccia utente e a identificare i controlli che consentono di eseguire azioni. Se si sta individuando un numero eccessivo di tabulazioni prima che l'utente completi il ciclo di spostamento, è consigliabile raggruppare i controlli correlati. È possibile che alcuni controlli correlati, ad esempio un controllo ibrido, debbano essere risolti nella fase di esplorazione iniziale dello sviluppo di un'app. Dopo avere iniziato a sviluppare il prodotto, è difficile rielaborare la navigazione da tastiera, quindi è opportuno pianificarla attentamente e in anticipo.

Per altre informazioni sullo spostamento tramite tastiera tra gli elementi dell'interfaccia utente, vedere Accessibilità tramite tastiera.

Inoltre, l'eBook Engineering Software for Accessibility (Progettazione di software per l'accessibilità) contiene un capitolo utile su questo argomento intitolato "Designing the Logical Hierarchy" (Progettazione della gerarchia logica).

Colori e contrasto

Una delle funzionalità di accessibilità predefinite di Windows è la modalità a contrasto elevato, che aumenta il contrasto dei colori del testo e delle immagini sullo schermo del computer. Per alcune persone, aumentando il contrasto dei colori si riduce l'affaticamento degli occhi e la lettura risulta più semplice. Quando si verifica l'interfaccia utente a contrasto elevato, è consigliabile verificare che i controlli siano stati codificati in modo coerente e con i colori di sistema (non con i colori hardcoded) per assicurarsi che l'utente possa visualizzare tutti i controlli sullo schermo che un utente che non usa il contrasto elevato visualizzerà.

XAML

<Button Background="{ThemeResource ButtonBackgroundThemeBrush}">OK</Button>

Per altre informazioni sull'uso di colori e risorse di sistema, vedi Risorse del tema XAML.

Se non hai eseguito l'override dei colori di sistema, un'app UWP supporta i temi a contrasto elevato per impostazione predefinita. Se un utente ha scelto che desideri che il sistema utilizzi un tema ad alto contrasto dalle impostazioni di sistema o dagli strumenti di accessibilità, il framework utilizza automaticamente i colori e le impostazioni di stile che producono un layout e un rendering ad alto contrasto per controlli e componenti nell'interfaccia utente.

Per altre info, vedi Temi a contrasto elevato.

Se hai deciso di utilizzare il tuo tema colore invece dei colori di sistema, considera queste linee guida:

Color contrast ratio – La Sezione 508 aggiornata dell'Americans with Disability Act, così come altre normative, richiedono che il contrasto di colore predefinito tra il testo e il suo sfondo sia 5:1. Per il testo di grandi dimensioni (dimensioni del carattere a 18 punti o 14 punti e grassetto), il contrasto predefinito richiesto è 3:1.

Combinazioni di colori – circa il 7% dei maschi (e meno dell'1% delle femmine) presenta una forma di daltonismo. Gli utenti daltonici hanno problemi a distinguere tra determinati colori, quindi è importante che il colore da solo non venga mai utilizzato per trasmettere lo stato o il significato in un'applicazione. Per quanto riguarda le immagini decorative (come icone o sfondi), le combinazioni di colori dovranno essere scelte in modo da ottimizzare la percezione dell'immagine da parte degli utenti daltonici.

Elenco di controllo per l'accessibilità

Di seguito è riportata una versione abbreviata dell'elenco di controllo per l'accessibilità:

  1. Impostare il nome accessibile (obbligatorio) e la descrizione (facoltativa) per il contenuto e gli elementi interattivi dell'interfaccia utente dell'app.
  2. Implementare l'accessibilità tramite tastiera.
  3. Verificare visivamente l'interfaccia utente per assicurarsi che il contrasto del testo sia adeguato, che gli elementi eseguano correttamente il rendering nei temi a contrasto elevato e che i colori vengano usati correttamente.
  4. Eseguire gli strumenti di accessibilità, risolvere i problemi segnalati e verificare l'esperienza di lettura dello schermo. Vedere l'argomento Relativo ai test di accessibilità.
  5. Assicurarsi che le impostazioni del manifesto dell'app seguano le linee guida per l'accessibilità.
  6. Dichiarare l'app accessibile nel Microsoft Store. (Vedere il Accessibilità nell'argomento dello Store .

Per altri dettagli, vedere l'argomento elenco di controllo per l'accessibilità completo.