Test di un'applicazione Oracle JET per l'accesso facilitato solo da tastiera
Introduzione
Questa è la seconda esercitazione del percorso di apprendimento Identifica problemi di accesso facilitato.
Le linee guida WCAG (Web Content Accessibility Guidelines) 2.1 descrivono molti dei criteri di successo per la creazione di un'applicazione Web accessibile. Questa esercitazione è incentrata sui criteri che risolvono l'utilizzo specifico della tastiera.
Un'applicazione accessibile solo dalla tastiera può essere utilizzata con dispositivi di input alternativi per persone con mobilità limitata o incapacità di manipolare un mouse. Quando le persone possono utilizzare una tastiera, Internet è a portata di mano.
Obiettivi
In questa esercitazione viene descritto come eseguire un test di un'applicazione Web basato solo sulla tastiera.
Prerequisiti
- Un ambiente di sviluppo impostato per creare applicazioni Oracle JET con il runtime JavaScript, Node.js e l'interfaccia della riga di comando Oracle JET release 13.0 (o successiva) installata
- Browser Web di Google Chrome installato e impostato come browser Web predefinito
- Accesso a WCAG 2.1
- Accesso alla Guida di Oracle JET Keyboard and Gesture
- Completamento dell'esercitazione precedente in questo percorso di apprendimento: Test di un'applicazione Oracle JET per l'accessibilità: ispezione visiva
Task 1: Preparazione per test di accesso facilitato solo da tastiera
L'ispezione visiva fornisce una panoramica della struttura e delle funzionalità di base di una pagina accessibile. Il test di sola tastiera è al centro del test di accessibilità manuale; offre allo sviluppatore l'opportunità di interagire con l'app dal punto di vista di un utente disabile. Il sottoinsieme dei criteri di successo WCAG 2.1 attorno ai quali questa esercitazione tratta diversi concetti specifici.
- Indicazione di messa a fuoco: C'è un'indicazione del posizionamento corrente sulla pagina?
- Sequenza significativa: l'ordine delle schede dell'app segue un modello prevedibile?
- Interagire con i controlli: tutti i controlli funzionano quando si utilizza la tastiera?
- Trappola da tastiera: l'indicatore di messa a fuoco rimane bloccato su un elemento?
I criteri di successo menzionati all'inizio di questa sezione riguardano indirettamente il concetto di elementi focalizzabili, quindi è necessario definire un paio di termini.
- Tutti gli elementi focalizzabili (elementi della pagina che possono ricevere focus da tabulazione) devono essere raggiungibili utilizzando solo la tastiera.
- Tutti gli elementi con interazione (elementi che eseguono una funzione se in genere viene fatto clic con il mouse) devono essere operativi utilizzando solo la tastiera. Le persone con significative disabilità motorie possono utilizzare dispositivi di input alternativi quando un'applicazione è accessibile solo da tastiera.
Con questi concetti applicabili definiti e spiegati, sei pronto a testare l'applicazione iniziale.
-
WCAG Guideline 2.1 Keyboard Accessible afferma: "Rendere tutte le funzionalità disponibili da una tastiera".
Questa linea guida non deve essere confusa con il corpo del lavoro intitolato Web Content Accessibility Guidelines 2.1, che fornisce lo standard generale per il software accessibile.
-
La tastiera Criterio di successo 2.1.3 (nessuna eccezione) riporta: "Tutte le funzionalità del contenuto possono essere utilizzate mediante un'interfaccia tastiera senza richiedere tempi specifici per le singole battute".
Si noti il testo "Nessuna eccezione" incluso nelle parentesi del criterio di successo 2.1.3. Ciò significa che l'accesso facilitato dalla tastiera è obbligatorio.
WCAG Guideline 2.1 e il criterio di successo che segue sottolineano l'assoluta necessità di accessibilità da tastiera. La tastiera svolge un ruolo fondamentale nel portare la tecnologia a tutti.
Task 2: Verificare l'esistenza di una messa a fuoco visiva
I test di accessibilità basati solo sulla tastiera si basano unicamente sull'indicatore di messa a fuoco. L'adesione al seguente criterio di successo "Focus Visible" non è negoziabile. Gli utenti disabili non possono navigare in un'applicazione senza focus attivo o quando il posizionamento degli elementi attivi non è chiaro.
- WCAG Success Criterion 2.4.7 Focus Visible specifica: "Qualsiasi interfaccia utente utilizzabile con tastiera dispone di una modalità di funzionamento in cui l'indicatore di messa a fuoco della tastiera è visibile."
Quando si esegue il tabulazione mediante l'applicazione Web, dovrebbe sempre essere presente un indicatore visibile che identifica la posizione dell'elemento attivo. L'indicatore è in genere un rettangolo. La disabilitazione del rettangolo di messa a fuoco causa un errore di questo criterio.
Gli sviluppatori di app sono orgogliosi delle app e dei programmi che scrivono. Il loro obiettivo è integrare la funzione con un'esperienza visivamente coinvolgente. Un rettangolo di messa a fuoco spesso distrae dal design; gli sviluppatori spesso lo nascondono o disabilitano e violano il Criterio di Successo 2.4.7.
Rettangolo di messa a fuoco 1
Descrizione dell'immagine focus_rec1.png
Rettangolo di messa a fuoco 2
Descrizione dell'immagine focus_rec2.png
Individua il punto di focalizzazione nelle due schermate precedenti.
Il primo screenshot, Focus Rectangle 1, rappresenta una pagina con la corretta indicazione del focus. L'indicatore di stato attivo è molto evidente in quanto circonda la scheda Panoramica nella parte superiore sinistra della pagina. Nella seconda schermata, Focus Rectangle 2, non è presente alcun indicatore di stato attivo sulla scheda Panoramica.
Osservare il rettangolo di messa a fuoco durante l'esplorazione dei primi componenti attivabili nella pagina Introduzione.
-
Se l'applicazione non è già in esecuzione, andare alla cartella
ACCLearningPath
e avviarla.$ ojet serve
-
Quando l'applicazione viene aperta nel browser, premere
<Ctrl+L>
per impostare lo stato attivo sulla barra degli indirizzi, quindi premere<Tab>
per spostare lo stato attivo sul collegamento Ignora navigazione. -
Premere
<Tab>
per spostare lo stato attivo su john.hancock@oracle.com nel menu utente, in alto a destra nella pagina. -
Premere
<Tab>
per spostare lo stato attivo su Introduzione nel menu di navigazione principale immediatamente sotto il menu utente. -
Premere
<down arrow>
per spostare lo stato attivo su Risorse nel menu di navigazione e premere<Enter>
per caricare la pagina Risorse. -
Premere
<Tab>
per spostare lo stato attivo sul collegamento Sito principale di Oracle JET.Si noti che non vi è alcuna chiara indicazione del luogo di messa a fuoco. La pagina Risorse non soddisfa il criterio di operazione riuscita 2.4.7.
Nei passaggi seguenti, si correggerà il problema del rettangolo di messa a fuoco assente al fine di rispettare gli standard WCAG.
-
Passare alla cartella
ACCLearningPath/src/js/views
e aprire il fileresources.html
in un editor di codice. -
Individuare il collegamento per Sito principale di Oracle JET.
<li><a style="outline-width:0" href="https://www.oracle.com/webfolder/technetwork/jet/index.html" target="_blank">Oracle JET Main Site</a> </li>
Modificare
"outline-width:0"
in"outline-width:3"
nell'attributo style.<li><a style="outline-width:3" href="https://www.oracle.com/webfolder/technetwork/jet/index.html" target="_blank">Oracle JET Main Site</a> </li>
-
Salvare e chiudere
resources.html
.Il file deve avere un aspetto simile a
resources-html.txt
. -
Ripetere i passaggi da 2 a 6 per verificare che il rettangolo di messa a fuoco sia ora visibile.
Task 3: Verifica una sequenza di schede significative
La parte successiva del test di sola tastiera riguarda l'organizzazione di una pagina mentre l'utente lo attraversa.
- Criterio di successo WCAG 1.3.2 Sequenza significativa: "Quando la sequenza in cui viene presentato il contenuto influisce sul suo significato, è possibile determinare programmaticamente una sequenza di lettura corretta".
- Criterio di successo 2.4.3 - Ordine di messa a fuoco: "Se una pagina Web può essere spostata in sequenza e le sequenze di navigazione influiscono sul significato o sul funzionamento, i componenti con stato attivo ricevono lo stato attivo in un ordine che preserva il significato e l'operabilità".
L'ordine di messa a fuoco può essere meglio compreso con un'illustrazione. Poiché l'utente passa alla pagina, la posizione dell'elemento attivo non è casuale. Non si sposta da un lato della pagina all'altro e viceversa. Si muove in maniera logica e attesa.
Nel task Verifica l'esistenza di un focus visivo precedente è stato illustrato come l'elemento attivo è stato spostato in ordine previsto tramite il banner della pagina; tuttavia, la pagina Risorse è stata codificata per illustrare un ordine di schede più casuale.
-
Nell'applicazione in esecuzione, premere
<Ctrl+L>
per impostare lo stato attivo sulla barra degli indirizzi. -
Premere
<Tab>
per spostare lo stato attivo sul collegamento Ometti nav. -
Premere
<Tab>
per spostare lo stato attivo su john.hancock@oracle.com nel menu utente, in alto a destra nella pagina. -
Premere
<Tab>
per spostare lo stato attivo su Introduzione nel menu di navigazione principale. -
Premere
<Tab>
per spostare lo stato attivo sul collegamento Sito principale di Oracle JET nel corpo della pagina. -
Premere
<Tab>
. È consigliabile passare a Oracle JET Developer's Guide, ma passare al collegamento Oracle JET Cookbook.Il collegamento Oracle JET Developer's Guide non è incluso nella sequenza di schede, che viola i Criteri di operazione riuscita 2.4.3.
I passi da 7 a 11 descrivono il metodo necessario per restituire il collegamento Oracle JET Developer's Guide alla posizione corretta nella sequenza di schede. I passi da 12 a 16 illustrano come confermare che la correzione ha funzionato.
-
Nell'editor di codice individuare il collegamento Oracle JET Developer's Guide nel file
resources.html
.<li><a tabindex="-1" href="https://docs.oracle.com/en/middleware/developer-tools/jet/13/books.html" target="_blank">Oracle JET Developer's Guide</a> </li>
L'attributo
tabindex="-1"
estrae completamente questo collegamento dall'ordine delle schede della pagina. -
Modificare il valore dell'attributo
tabindex
in0
per restituire il collegamento alla posizione corretta nella sequenza di schede della pagina.<li><a tabindex="0" href="https://www.oracle.com/pls/topic/lookup?ctx=jetlatest&id=OJACC" target="_blank">Oracle JET Developer's Guide</a> </li>
-
Salvare e chiudere il file. La pagina Risorse del browser viene aggiornata automaticamente con il nuovo contenuto.
-
Premere
<Ctrl+L>
per impostare lo stato attivo sulla barra degli indirizzi. -
Premere
<Tab>
tre volte per spostare lo stato attivo su Introduzione nel menu di navigazione. -
Premere
<Tab>
per spostare lo stato attivo sul collegamento Sito principale di Oracle JET. -
Premere
<Tab>
per spostare lo stato attivo sul collegamento Oracle JET Developer's Guide. -
Continuare a premere
<Tab>
fino a attivare il collegamento Informazioni su Oracle nel piè di pagina.Dopo aver navigato tutti gli elementi attivabili in una pagina, annullare il processo. A volte, quando si passa da una pagina all'altra, il percorso cambia inaspettatamente, vengono visualizzati nuovi elementi o alcuni elementi scompaiono.
-
Utilizzare
<Shift+Tab>
per spostarsi in un ordine dal basso verso l'alto per assicurarsi che la sequenza significativa sia vera durante la navigazione inversa nella pagina.
Task 4: Interazione con i controlli
Molti dei controlli utilizzati in questa esercitazione sono controlli specifici di Oracle JET. Una funzionalità di Oracle JET è che i relativi componenti sono progettati con l'accesso facilitato solo da tastiera già integrato. Gli sviluppatori che utilizzano Oracle JET possono copiare i componenti direttamente da Oracle JET Cookbook e rilasciarli in posizione. Il codice risultante è accessibile.
- La tastiera WCAG Success Criterion 2.1.1 specifica: "Tutta la funzionalità del contenuto può essere utilizzata tramite un'interfaccia a tastiera senza richiedere tempi specifici per le singole battute, tranne nel caso in cui la funzione sottostante richieda un input che dipende dal percorso del movimento dell'utente e non solo dagli endpoint".
Di seguito è riportato un breve elenco di tasti comuni per l'interazione con i componenti HTML standard.
- Premere
<Enter>
per attivare un collegamento, una voce di menu o una scheda nella barra delle schede. - Premere
<Space>
per attivare un pulsante o per attivare o disattivare una casella di controllo. - Premere
<down arrow>
per espandere una casella combinata o un elenco a discesa. Utilizzare i tasti freccia per navigare nell'elenco.
Nota: per alcuni controlli, ad esempio i menu di navigazione, le barre delle schede, i gruppi di pulsanti di scelta e controlli di gruppo simili, potrebbe essere necessario passare da un tasto TAB al controllo e quindi utilizzare i tasti freccia per spostarsi al suo interno.
Utilizzare l'applicazione Starter in esecuzione per interagire con diversi componenti di Oracle JET.
-
Premere
<Ctrl+L>
per impostare lo stato attivo sulla barra degli indirizzi. -
Premere
<Tab>
per spostare lo stato attivo sul collegamento Ometti nav. -
Premere
<Tab>
per spostare lo stato attivo su john.hancock@oracle.com nel menu utente, in alto a destra nella pagina.Secondo la documentazione della tastiera relativa all'elemento
<oj-menu-button>
, premere<Space>
,<Enter>
o<down arrow>
per aprire il menu e premere<Escape>
per chiudere il menu. -
Premere
<Space>
per espandere il menu utente. Passa a Preferenze. -
Premere
<down arrow>
per spostarsi verso il basso nell'elenco di voci di menu. -
Premere
<Escape>
per chiudere il menu utente. -
Premere
<Tab>
. Lo stato attivo si sposta su Introduzione nel menu di navigazione principale immediatamente sotto il menu utente.Per ulteriori informazioni sulle combinazioni di tasti specifiche per ciascun componente Oracle JET, vedere Oracle JET Keyboard and Gesture Guide.
Task 5: Identificazione di una trap da tastiera
L'argomento finale introdotto all'inizio di questo tutorial comporta un concetto noto come trappola da tastiera. Una trap da tastiera si verifica quando un utente non può spostare l'evidenziazione da un elemento della pagina utilizzando <Tab>
, <Shift+Tab>
o i tasti freccia.
- Con il criterio di successo 2.1.2 - Nessuna trap di tastiera si afferma: "Se è possibile spostare lo stato attivo della tastiera su un componente della pagina utilizzando un'interfaccia di tastiera, è possibile spostare lo stato attivo da tale interfaccia. componente che utilizza solo un'interfaccia a tastiera e, se richiede più di tasti freccia o tasti di tabulazione non modificati o altri metodi di uscita standard, l'utente è consigliato di spostare la messa a fuoco."
Una trappola da tastiera rende l'intera pagina inutilizzabile per un utente che dispone solo della tastiera. La soluzione più comune per una trap da tastiera consiste nel riavviare l'applicazione.
Diventiamo pratici!
Questa sezione dell'esercitazione fornisce un esempio dettagliato di una metodologia di test di sola tastiera.
Durante il test della pagina Organizzazione dell'applicazione, verificare che vi sia sempre un'indicazione visibile della posizione di messa a fuoco e che la messa a fuoco si muova in un pattern prevedibile.
La pagina che verrà sottoposta a test è accessibile tramite la scheda Organizzazione della pagina Introduzione.
Descrizione dell'immagine org_page.png
Utilizzare l'applicazione iniziale per eseguire un test con tastiera della pagina Organizzazione.
-
Nella pagina Risorse dell'app, premere
<Ctrl+L>
per impostare lo stato attivo sulla barra degli indirizzi. -
Premere
<Tab>
per spostare lo stato attivo sul collegamento Ometti nav. -
Premere
<Tab>
per spostare lo stato attivo su john.hancock@oracle.com nel menu utente, in alto a destra nella pagina. -
Premere
<Tab>
per spostare lo stato attivo su Introduzione nel menu di navigazione principale sotto il nome utente.Secondo la documentazione della tastiera relativa all'elemento
<oj-navigation-list>
, usare i tasti<up arrow>
e<down arrow>
per spostarsi tra gli elementi del menu di navigazione principale. -
Premere
<Enter>
per selezionare Introduzione. -
Premere
<Tab>
, quindi<right arrow>
per spostare lo stato attivo sulla scheda Organizzazione nella barra delle schede. Premere<Enter>
per caricare la pagina Organizzazione.Secondo la documentazione della tastiera relativa all'elemento
<oj-tab-bar>
, utilizzare i tasti freccia per spostarsi nella barra delle schede. -
Premere
<Tab>
per spostare lo stato attivo sulla vista struttura. Il focus viene posizionato sul primo elemento con stato attivo, ovvero sul nodo Contabilità.Secondo la documentazione della tastiera relativa all'elemento
<oj-tree-view>
, utilizzare i tasti<up arrow>
e<down arrow>
per spostarsi tra i nodi nella vista struttura. -
Premere
<right arrow>
per espandere il nodo del gruppo Contabilità nell'albero, quindi premere<left arrow>
per comprimere il nodo del gruppo. -
Premere
<down arrow>
due volte per spostare lo stato attivo sul dipendente JONES nel nodo di gruppo RESEARCH. Premere<Enter>
per selezionarlo.Sul lato destro della pagina verrà visualizzato un modulo con i dettagli del dipendente.
-
Premere
<Tab>
per spostare lo stato attivo sul campo ID dipendente. -
Premere
<Tab>
per spostare lo stato attivo sul campo Nome dipendente. -
Premere
<Tab>
per spostare lo stato attivo sul campo Qualifica. -
Premere
<Tab>
per spostare lo stato attivo sul campo Data assunzione e visualizzare una griglia di calendario espansa.Secondo la documentazione della tastiera relativa all'elemento
<oj-date-picker>
, premere i tasti freccia per modificare lo stato attivo della data all'interno della griglia del calendario. -
Premere
<down arrow>
, quindi utilizzare i tasti freccia per spostare lo stato attivo su una data nel selettore data espanso. Premere<Enter>
per selezionare una data. -
Premere
<Tab>
per spostare lo stato attivo sul campo Stipendio.Secondo la documentazione della tastiera dell'elemento
<oj-input-number>
, utilizzare<up arrow>
per aumentare il valore dello stipendio e<down arrow>
per diminuire il valore dello stipendio. -
Premere
<Tab>
e tentare di spostare lo stato attivo sul campo ID responsabile.Dopo aver spostato l'evidenziazione nel campo Stipendio, premere
<Tab>
o<Shift+Tab>
per non spostare l'evidenziazione dal campo? Questo campo dispone di una trap da tastiera. Senza una correzione al codice, l'unico modo per uscire dalla trap è aggiornare la pagina.
Task 6: Rimozione della trap
-
Passare alla cartella
src/js/views
e aprire il fileorganization.html
in un editor. -
Individuare l'elemento
<oj-input-number>
doveid="salary"
:<oj-input-number id="salary" label-hint="Salary" value="{{empDetails().sal}}" min="0" step="1" on-blur="[[setKeyTrap]]"> </oj-input-number>
Rimuovere l'attributo
on-blur
che provoca la trap della tastiera.<oj-input-number id="salary" label-hint="Salary" value="{{empDetails().sal}}" min="0" step="1"> </oj-input-number>
-
Salvare il file. Ripetere quindi la procedura descritta nel task Identify a Keyboard Trap precedente per accertarsi che la trap da tastiera sia stata rimossa.
-
Quando si raggiunge il campo ID responsabile, premere
<Tab>
per spostare lo stato attivo sui pulsanti di opzione Job.Secondo la documentazione della tastiera per l'elemento
<oj-radioset>
, utilizzare<up arrow>
per selezionare il pulsante precedente nel gruppo. Utilizzare<down arrow>
per selezionare il pulsante Avanti nel gruppo. -
Premere
<Tab>
per spostare lo stato attivo sul collegamento Informazioni su Oracle nella sezione del piè di pagina della pagina. -
Invertire il processo. Premere
<Shift+Tab>
per tornare ai pulsanti di opzione Job. Continuare a premere<Shift+Tab>
per tornare alla pagina in john.hancock@oracle.com nel menu utente.
Ricordarsi di consultare il manuale Oracle JET Keyboard and Gestures Guide se sono presenti domande relative alle tasti da utilizzare o navigare all'interno di un componente di Oracle JET.
Fase di test solo tastiera completata. Passare all'esercitazione finale all'interno di questo percorso di apprendimento, Eseguire la convalida del lettore di schermo su un'applicazione Oracle JET.
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o visita altri contenuti di formazione gratuiti sul canale Oracle Learning YouTube. Inoltre, visitare education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.
Per la documentazione sul prodotto, visitare Oracle Help Center.
Test an Oracle JET app for keyboard-only accessibility
F34160-02
October 2022
Copyright © 2022, Oracle and/or its affiliates.