Tastiera virtuale

2 febbraio 2012

In questo articolo sono disponibili informazioni sui comportamenti attraverso cui viene richiamata o nascosta la tastiera virtuale nei sistemi operativi Windows. Sono incluse linee guida per illustrare agli sviluppatori in che modo la tastiera virtuale viene mostrata e nascosta automaticamente

Queste informazioni si applicano ai sistemi operativi seguenti

  • Windows 8
  • Windows Server 2012

Dichiarazione di non responsabilità: il presente documento viene fornito "così com'è". Le informazioni contenute nel presente documento, inclusi gli URL e altri riferimenti a siti Web, sono soggette a modifica senza preavviso. Le conseguenze derivanti dall'uso di tali informazioni sono esclusivamente a carico dell'utente.

Il presente documento non fornisce diritti legali su proprietà intellettuale in alcun prodotto Microsoft. Sono consentiti la copia e l'uso del presente documento a fini di riferimento interno.

©2012 Microsoft Corporation. Tutti i diritti riservati.

Per una dimostrazione pratica di questa funzionalità, vedi gli argomenti della serie Funzionalità dell'app, dall'inizio alla fine:  Interazione dell'utente: input tocco... e oltre.

Panoramica

La tastiera virtuale di Windows 8 è un componente di sistema che consente agli utenti di toccare i dispositivi per immettere testo La tastiera virtuale diventa disponibile nei casi in cui è previsto che gli utenti immettano testo, mentre viene nascosta nei casi in cui ciò non è necessario. Il modello attraverso cui la tastiera viene chiamata e nascosta è progettato in modo da assicurare che tale comportamento sia applicato in modo coerente nel sistema, indipendentemente dall'app usata dall'utente in un determinato momento. La tastiera virtuale reagisce alle proprietà di accessibilità dell'interfaccia utente attraverso una modalità altamente definita per determinare se l'elemento dell'interfaccia utente con stato attivo prevede l'immissione di testo. Oltre a favorire l'adozione di procedure di accessibilità ottimali, questo approccio consente alla tastiera virtuale di definire uno specifico set di regole che determinano se la tastiera viene richiamata o nascosta, le quali vengono aggiunte negli elementi di interfaccia con cui gli utenti interagiscono.

I comportamenti che consentono di chiamare o nascondere la tastiera virtuale sono determinati nell'ambiente immersivo da tre input:

  • Proprietà di accessibilità di automazione dell'interfaccia utente
  • Tocco utente
  • Modifiche dello stato attivo

L'automazione dell'interfaccia utente è il meccanismo tramite il quale gli sviluppatori comunicano se un determinato elemento dell'interfaccia può ricevere o meno input di testo. È necessario accertarsi che siano impostate le proprietà di accessibilità appropriate nelle app in modo che la tastiera virtuale possa essere automaticamente visualizzata quando lo stato attivo viene applicato a uno specifico elemento dell'interfaccia utente. Per i controlli forniti da Windows, ciò avviene automaticamente in quanto le proprietà di accessibilità corrette sono configurate per impostazione predefinita, tuttavia per i controlli personalizzati e le esperienze è necessario eseguire ulteriori operazioni per impostare correttamente le proprietà di accessibilità. È importante ricordare che la tastiera virtuale reagisce a tali proprietà. La tastiera viene visualizzata se l'utente tocca il campo di input con stato attivo. Se singole app impostano lo stato attivo a livello di codice, questa azione non richiama la tastiera virtuale. Ciò avviene in quanto l'utente non deve mai essere sorpreso dalla visualizzazione della tastiera. La tastiera viene nascosta automaticamente in risposta a cambiamenti dello stato attivo a livello di codice, pertanto se un utente ha completato un flusso di immissione di testo e lo stato attivo viene passato a un altro elemento, la tastiera viene nascosta.

Logica per richiamare e nascondere la tastiera

La tastiera virtuale si avvale dell'automazione dell'interfaccia utente come un mezzo pre-esistente e ben definito per determinare se un elemento dell'interfaccia utente con stato attivo prevede l'immissione di testo e debba perciò causare la visualizzazione della tastiera qualora essa fosse stata precedentemente nascosta. L'automazione dell'interfaccia utente costituisce inoltre un mezzo per determinare se l'elemento di interfaccia utente con stato attivo non implica l'interazione con la tastiera virtuale e pertanto questa può essere nascosta se visualizzata. L'automazione dell'interfaccia utente viene esposta direttamente tramite Microsoft .NET per XAML ed è possibile accedervi tramite Accessible Rich Internet Applications (ARIA) per WWAHost.exe. Per i controlli comuni forniti agli sviluppatori da Windows, le proprietà di automazione dell'interfaccia utente appropriate sono già impostate, tuttavia per i controlli personalizzati è necessario impostare le proprietà di accessibilità direttamente. La tastiera virtuale può trovarsi in stato visualizzato o nascosto. Inoltre, a ogni modifica dello stato attivo, Windows può cambiare lo stato di visibilità della tastiera oppure lasciarlo inalterato.

La tastiera virtuale determina se un elemento dell'interfaccia utente con stato attivo prevede l'immissione di testo verificando se è provvisto di uno schema di controllo TextPattern (o TextChildPattern) di automazione dell'interfaccia utente ed è modificabile. Se un elemento con stato attivo non soddisfa una di tali condizioni, la tastiera virtuale non viene visualizzata e viene invece nascosta qualora fosse già visibile.

Esiste inoltre un set di controlli che può ricevere lo stato attivo durante un flusso di immissione di testo pur non essendo modificabile (ad eccezione delle caselle combinate, le quali sono una combinazione di campo di modifica ed elenco, con stato attivo che si alterna tra i due). Invece di complicare l'interfaccia con il rischio di disorientare l'utente durante un flusso, la tastiera virtuale rimane visibile sui controlli perché è probabile che si passi da un controllo all'immissione di testo con la tastiera stessa. Pertanto, se la tastiera è già visibile e lo stato attivo passa a un controllo di uno dei tipi inclusi nell'elenco seguente, essa non viene nascosta. Tuttavia, se la tastiera non è già visibile, non verrà visualizzata a meno che non si tocchi un'area modificabile. È ad esempio possibile immaginare un utente che digita un messaggio di posta elettronica in un'app che offre una barra per ospitare controlli di modifica del testo, quali il grassetto o il corsivo. L'utente vuole applicare il grassetto alla parola successiva, quindi tocca l'apposito pulsante. Poiché la barra dei menu si trova nell'elenco di controlli che consentono alla tastiera virtuale di rimanere visibile, essa non viene nascosta nonostante si sia toccata un'area esterna al campo di input. Questo comportamento consente all'utente di riprendere rapidamente la digitazione.

Ecco i controlli in questione:

  • Caselle di controllo
  • Casella combinata
  • Pulsante di opzione
  • Barra di scorrimento
  • Albero
  • Elemento di albero
  • Menu
  • Barra dei menu
  • Voce di menu
  • Barra degli strumenti
  • Elenco
  • Voce di elenco

Impostazione delle proprietà di accessibilità corrette

Promemoria: questa sezione è rilevante solo se si usa un controllo personalizzato. Per i controlli comuni forniti da Windows non sono necessari ulteriori interventi affinché funzionino correttamente con la tastiera virtuale.

Gli sviluppatori di app che usano controlli personalizzati devono invece accertarsi che tali controlli dispongano delle informazioni di accessibilità appropriate per il corretto funzionamento della tastiera virtuale. Dopo aver verificato questo aspetto, la tastiera verrà visualizzata e nascosta automaticamente in linea con il modello utente previsto.

In HTML5 è sufficiente impostare la proprietà ARIA corretta per il controllo role="textbox". Il controllo deve essere ovviamente anche modificabile, pertanto è consigliabile impostare contentEditable="true". Ad esempio, quanto segue crea un div con contenuto modificabile che richiama la tastiera virtuale se toccato dall'utente.

<div contentEditable="true" role="textbox">

Se si usa C# o C++, usare un oggetto AutomationPeer e nello specifico TextAutomationPeer. Come ottenere questo risultato in C# viene illustrato in un esempio di Windows 8.

Oltre a disporre delle corrette impostazioni di accessibilità, il controllo deve essere inoltre modificabile e in grado di ricevere testo affinché possa essere richiamata la tastiera. Se si indica che un controllo può ricevere testo mentre ciò non è vero si possono verificare problemi con gli strumenti di accessibilità e pertanto causare difficoltà agli utenti che dipendano da essi.

Chiamata guidata dall'utente

Il modello di chiamata della tastiera virtuale è progettato per offrire all'utente il controllo della tastiera stessa. Gli utenti indicano al sistema che desiderano immettere testo toccando un controllo di input invece di dipendere dal comportamento automatico dell'applicazione. Ciò riduce a zero gli scenari in cui la tastiera viene richiamata in modo imprevisto, aspetto che influisce spesso negativamente sull'organizzazione dell'interfaccia utente in quanto la tastiera può occupare fino al 50% dello schermo e ridurre quindi l'esperienza utente dell'applicazione. Per consentire la chiamata guidata dall'utente, teniamo traccia delle coordinate dell'ultimo evento di tocco e le confrontiamo con la posizione del rettangolo di delimitazione dell'elemento su cui è attualmente impostato lo stato attivo. Se il punto è contenuto nel rettangolo di delimitazione, la tastiera virtuale viene richiamata.

Ciò significa che l'applicazione non può richiamare la tastiera virtuale a livello di codice tramite manipolazione dello stato attivo. Notevoli problemi in questo senso sono stati in passato causati dalle pagine Web — molte delle quali impostano lo stato attivo per impostazione predefinita su un campo di input nonostante la presenza di altri elementi utilizzabili dall'utente. Ne è un esempio msn.com. Il sito Web presenta una notevole quantità di contenuti, tuttavia lo stato attivo viene applicato per impostazione predefinita alla barra di ricerca Bing nella parte superiore della pagina. Se la tastiera venisse richiamata automaticamente, tutti gli articoli disponibili sotto la barra di ricerca verrebbero nascosti per impostazione predefinita, influendo quindi negativamente sulla fruibilità del sito Web sui Tablet PC. In determinati scenari è preferibile non dover toccare un elemento per visualizzare la tastiera, ad esempio quando si inizia un nuovo messaggio di posta elettronica o si apre il riquadro di ricerca. Tuttavia, riteniamo che prevedere che l'utente tocchi il campo di input rappresenti un compromesso accettabile

 

 

Mostra:
© 2014 Microsoft