La modalità Kiosk di ChromeOS esegue un'applicazione e la blocca in modalità a schermo intero, senza la necessità di un accesso utente. La modalità kiosk offre un modo comodo ed efficiente per accedere a informazioni e servizi in modo controllato e mirato. Tuttavia, poiché l'esperienza della modalità Chiosco è controllata in modo così rigoroso, è importante garantire che le app per chiosco siano accessibili a tutti. Migliorare l'accessibilità dei chioschi può contribuire ad ampliare la copertura, riducendo le barriere all'accesso alle informazioni e migliorando la soddisfazione dei clienti promuovendo l'inclusività.
Le app eseguite in modalità kiosk sono app web, pertanto si applicano le best practice per l'accessibilità web:
- Segui le linee guida per l'accessibilità dei contenuti web (WCAG 2). Anche quando vengono implementate internamente app per chioschi, il modo migliore per garantire l'accessibilità, ad esempio l'usabilità dello screen reader, è seguire le WCAG 2. Puoi anche utilizzare altre ottime risorse di progettazione e sviluppo di persone che lavorano nel campo dell'accessibilità per migliorare la tua app kiosk:
- Il governo del Regno Unito offre le linee guida generali per la progettazione per utenti con esigenze di accessibilità, inclusi utenti ipovedenti e con disabilità uditiva.
- Web.dev fornisce informazioni su cosa significa accessibilità nello sviluppo web e perché è importante.
- Material Design condivide consigli per l'accessibilità nella progettazione.
- Offri più metodi di input. Non fare affidamento sulla navigazione basata sui gesti. Gli utenti potrebbero aver bisogno di una tastiera, un mouse o un sensore per interagire con l'app.
- Offri più forme di output. Non fare affidamento su un solo tipo di output, ad esempio l'audio. Gli utenti potrebbero dover interagire con un'app completamente senza audio o senza segnali visivi.
- Testa l'app e il suo hardware con un pubblico diversificato. Non limitarti a rispettare le best practice: testale. Gli utenti devono interagire fisicamente e digitalmente con un'app kiosk. I test dell'esperienza identificheranno le aree di miglioramento.
- Assicurati di includere un gruppo eterogeneo di utenti di test per rivelare potenziali problemi di accessibilità.
- Testa l'app kiosk sul posto, nell'ambiente e sull'hardware con cui verrà utilizzata.
Poiché le app kiosk vengono eseguite in un ambiente controllato, gli utenti potrebbero non essere in grado di accedere alle funzionalità di accessibilità o alle opzioni hardware di ChromeOS che utilizzerebbero normalmente. Per quanto riguarda l'accessibilità dei chioschi ChromeOS, esistono tre livelli di controllo da considerare:
- Policy:gli amministratori controllano le policy dei dispositivi gestiti, incluso l'accesso alle impostazioni di accessibilità del chiosco essenziali.
- API:gli sviluppatori possono controllare il modo in cui l'utente interagisce con la propria app kiosk con un'estensione complementare che chiama l'API chrome.accessibilityFeatures.
- Dispositivi hardware:il tipo di dispositivo e le periferiche collegate controllano il modo in cui l'utente interagisce fisicamente con il chiosco, inclusi dispositivi di input, dimensioni dello schermo e piattaforme.
Questi livelli sono strettamente interdipendenti e devono quindi operare in concerto per offrire un'esperienza di app kiosk davvero accessibile. Gli amministratori devono tenere conto dell'accessibilità quando implementano le app per chioschi e gli sviluppatori devono essere consapevoli dell'impatto che le impostazioni amministrative potrebbero avere sulla loro app una volta implementata.
Controlli dei criteri per gli amministratori dei kiosk
Su un dispositivo ChromeOS in una normale sessione utente, gli utenti possono gestire le impostazioni di accessibilità andando alla sezione Accessibilità nell'app Impostazioni. In modalità kiosk, gli utenti non hanno accesso all'app Impostazioni per impostazione predefinita. Gli amministratori dovranno invece attivare le impostazioni di accessibilità per consentire agli utenti di accedervi in modalità Kiosk.
Gli amministratori possono trovare le impostazioni di "Accessibilità kiosk" nella Console di amministrazione Google andando a Dispositivi > Chrome > Impostazioni > scheda Impostazioni dispositivo.
Esistono due impostazioni principali da tenere d'occhio:
- Menu mobile di accessibilità per kiosk: poiché l'app Impostazioni non è facilmente disponibile in modalità kiosk, l'attivazione di questa opzione consente agli utenti di attivare/disattivare le impostazioni di accessibilità tramite un menu mobile di accessibilità. Il comportamento predefinito quando questa impostazione non è configurata è che il menu Accessibilità mobile non viene mostrato.
- Scorciatoie di accessibilità in modalità kiosk: se attivi questa opzione, gli utenti potranno attivare le funzionalità di accessibilità utilizzando le scorciatoie da tastiera. Tieni presente, tuttavia, che non tutte le funzionalità hanno una scorciatoia corrispondente. Il comportamento predefinito quando questa impostazione non è configurata è che le scorciatoie sono attive.
Puoi anche configurare le funzionalità di accessibilità singolarmente. Per impostazione predefinita, sono configurate su "Consenti all'utente di decidere", lasciando all'utente la possibilità di attivare o disattivare le funzionalità di accessibilità come meglio crede.
Nota:consulta l'elenco completo delle funzionalità di accessibilità di ChromeOS per scoprire di più sul comportamento di ogni impostazione.
API chrome.accessibilityFeatures dell'estensione Chrome
In modalità kiosk, gli utenti possono attivare/disattivare le funzionalità di accessibilità utilizzando il menu mobile di accessibilità per kiosk o le scorciatoie da tastiera corrispondenti. Tuttavia, questo dipende dal fatto che l'amministratore abbia attivato il menu e non tutte le funzionalità hanno una scorciatoia. Pertanto, uno sviluppatore deve integrare le impostazioni di accessibilità direttamente nella propria app kiosk, se opportuno. Ad esempio, offrendo agli utenti la possibilità di utilizzare la dettatura quando viene visualizzato l'input di testo.
È possibile accedere allo stato delle funzionalità di accessibilità di ChromeOS tramite l'chrome.accessibilityFeatures API. Se configurate su "Consenti all'utente di decidere" nella Console di amministrazione, le funzionalità di accessibilità possono essere controllate anche tramite questa API. Si tratta di un'API di estensione di Chrome, quindi deve essere chiamata da un'estensione complementare che viene eseguita con un'app kiosk. Gli sviluppatori possono utilizzare questa API per verificare se ogni impostazione è controllabile e interagire con le rispettive funzioni di accessibilità integrate di ChromeOS.
L'API chrome.accessibilityFeatures ha una proprietà corrispondente per ogni funzionalità di accessibilità. Ogni proprietà è un type.ChromeSetting prototipo con i seguenti metodi:
get(): per ottenere il valore dell'impostazione.set(): per impostare il valore dell'impostazione.onChange(): per aggiungere un listener per quando l'impostazione cambia.clear(): per cancellare l'impostazione e ripristinare i valori predefiniti.
Per ottenere lo stato di una proprietà, chiama onChange() o get(), che restituisce un oggetto dettagli tramite un callback con i seguenti campi pertinenti:
levelOfControl: il livello di controllo dell'impostazione. Prima di chiamareset()per modificare il valore di un'impostazione, controlla se l'impostazione può essere controllata dall'estensione. Tieni presente che se l'amministratore ha una policy esplicita per disattivare o attivare un'impostazione,levelOfControlsarànot_controllablee non potrai configurarlo con l'API.value: il valore dell'impostazione. Tutte le proprietà delle funzionalità di accessibilità sono di tipo booleano, ad eccezione dianimationPolicy, che è un enum composto daallowed,onceonone.
Ad esempio, attiviamo/disattiviamo la funzionalità della tastiera virtuale controllando prima se la proprietà è configurabile da questa estensione.
const virtualKeyboard = chrome.accessibilityFeatures.virtualKeyboard; virtualKeyboard.get({}, (details) => { // check the level of control for virtual keyboard if (details.levelOfControl == 'controllable_by_this_extension' || details.levelOfControl == 'controlled_by_this_extension') { // disable if virtualKeyboard is currently on if (details.value) { virtualKeyboard.set({value: false}, () => console.log('Virtual keyboard has been disabled'); } else { // enable if virtualKeyboard is currently off virtualKeyboard.set({value: true}, () => console.log('Virtual keyboard has been enabled'); } } else { // the setting is not controllable by this extension because it cannot be controlled by any extension or it's being controlled by an extension with higher precedence console.log('Virtual keyboard setting cannot be changed.'); }
Chiama per prima cosa get() sulla proprietà virtualKeyboard per leggere il livello di controllo disponibile e il valore attuale della proprietà. Se può essere controllato da questa estensione o è già controllato da questa estensione, è sicuro chiamare set() e attivare/disattivare il valore della proprietà virtualKeyboard. Se la proprietà non può essere controllata, comunica all'utente che questa impostazione non può essere attivata/disattivata e consiglia di contattare l'amministratore di sistema, se opportuno.
Le proprietà disponibili che possono essere configurate con l'API chrome.accessibilityFeatures sono raggruppate nelle seguenti categorie: sintesi vocale, display e ingrandimento, tastiera e input di testo, cursore e touchpad.
Sintesi vocale
Le funzionalità di sintesi vocale consentono di leggere ad alta voce il testo sullo schermo con lo screen reader integrato di ChromeOS. Che un utente abbia problemi di vista, non sappia leggere o preferisca ascoltare il testo anziché leggerlo, queste funzionalità gli consentono di interagire con il dispositivo.
selectToSpeak: controlla la funzionalità Seleziona per ascoltare, che consente agli utenti di selezionare il testo sullo schermo per farlo leggere ad alta voce.spokenFeedback: controlla la funzionalità ChromeVox, uno screen reader che legge ad alta voce il testo sullo schermo e i nomi di pulsanti, link e altri elementi.
Display e ingrandimento
Le funzionalità di visualizzazione e ingrandimento modificano i colori del display e forniscono opzioni di ingrandimento per semplificare la lettura sullo schermo e la ricerca degli oggetti.
highContrast: controlla la funzionalità di inversione dei colori, che modifica la combinazione di colori in una con contrasto maggiore.screenMagnifier: controlla la funzionalità di ingrandimento a schermo intero, che aumenta lo zoom per ingrandire gli elementi sullo schermo.dockedMagnifier: controlla la funzionalità di ingrandimento ancorato, che ingrandisce le aree dello schermo messe a fuoco in una visualizzazione a schermo diviso.
Tastiera e input di testo
Le funzionalità di input da tastiera e di testo offrono agli utenti diverse opzioni per interagire con i contenuti e inserire elementi sullo schermo.
virtualKeyboard: questa proprietà controlla la funzionalità della tastiera sullo schermo che consente agli utenti di digitare senza utilizzare una tastiera fisica.dictation: questa proprietà controlla la funzionalità di dettatura, che consente agli utenti di digitare testo parlando in un microfono e controllando l'input con la voce.switchAccess: questa proprietà controlla la funzionalità Switch Access, che consente agli utenti di controllare il proprio dispositivo con sensori (tasti della tastiera, pulsanti del gamepad e altri dispositivi di controllo dedicati).stickyKeys: questa proprietà controlla la funzionalità Tasti permanenti, che consente agli utenti di premere un tasto alla volta per le scorciatoie da tastiera anziché tenere premuti più tasti contemporaneamente.focusHighlight: questa proprietà controlla la funzionalità di evidenziazione dell'elemento attivo tramite tastiera, che evidenzia l'oggetto attivo. Gli utenti navigano tra gli oggetti utilizzando il tasto Tab o selezionandoli con il cursore del mouse.caretHighlight: questa proprietà controlla la funzionalità di evidenziazione del cursore di testo, che mostra un anello di selezione intorno al cursore di testo quando viene visualizzato o spostato.
Cursore
Le funzionalità del cursore personalizzano il cursore, rendendolo più facile da trovare sullo schermo e da usare.
autoclick: questa proprietà controlla la funzionalità di clic automatici, che consente al cursore del mouse di fare clic automaticamente nel punto in cui si ferma.largeCursor: questa proprietà controlla la funzionalità del cursore grande, che aumenta le dimensioni del cursore del mouse per renderlo più visibile.cursorColor: Questa proprietà controlla la funzionalità del colore del cursore. Il valore della proprietàcursorColorindica solo se la funzionalità è attivata o meno. Non indica il colore del cursore.cursorHighlight: questa proprietà controlla la funzionalità di evidenziazione del cursore, che mostra un anello di messa a fuoco intorno al cursore del mouse quando si muove.
Accessibilità in modalità kiosk a livello di hardware
Come per le altre app, l'accessibilità di un'app kiosk è influenzata anche dal dispositivo su cui viene implementata. Gli sviluppatori devono collaborare ulteriormente con il proprio team hardware per garantire che l'app kiosk sia accessibile a livello hardware.
Le app kiosk possono essere installate su qualsiasi sistema ChromeOS, dai display non interattivi alle piattaforme interattive. Ogni volta che un utente deve interagire con un'app per chiosco, sono consigliati determinati standard di accessibilità a livello hardware:
- Le app kiosk devono essere raggiungibili e accessibili a chi potrebbe utilizzare una sedia a rotelle o un ausilio per la mobilità simile.
- L'hardware del chiosco deve includere l'opzione per una tastiera e un mouse fisici.
- Le app per chioschi devono supportare il microfono e il jack per cuffie.
- L'hardware del chiosco deve avere uno schermo di dimensioni e risoluzione sufficienti per garantire che il testo e le immagini siano chiari e visibili.
L'accessibilità del chiosco dipende da molti fattori: controlli dei criteri, API e hardware. Ma alla base, l'accessibilità del kiosk è l'accessibilità web. Per ottenere una migliore accessibilità nella tua app per chioschi, segui i consigli e le best practice riportati sopra, esegui test approfonditi sugli utenti e consulta le linee guida WCAG 2.