Linux 4D logo
Rendere accessibili i programmi, con Middleware.












In pratica




Torniamo adesso a vedere come rendere accessibile un programma.
Abbiamo detto che basta scrivere un file di regole, che descriva il programma stesso. Aggiungiamo, che eventualmente possiamo scrivere delle nuove azioni ed aggiungerle al sistema, come modulo.
Prendiamo degli esempi: la posta elettronica, la navigazione internet e la gestione dei file.


(Posta Elettronica)

[pre_folder_list]

K_UP = go(pre_message_index), SayText(Leggi iimeil)
K_DOWN = go(pre_address_book), SayText(Gestione elenco indirizzi)
K_ENTER = go(folder_list), SayText(Vado all`elenco caselle di posta.)

Selfc = go(compose_message), SayText(Scrivi gli indirizzi dei destinatari, o premi control tii, per accedere all'elenco indirizzi.)
Selfi = go(message_index), SayText(Sto` accedendo ai messaggi.)
Selfl = go(folder_list), SayText(Vado all`elenco caselle di posta.)
Selfa = go(address_book), SayText(Sto` accedendo all'elenco indirizzi)
Selfs = go(setup), SayText(RiConfigurazione.)
Selfq = go(quit), SayText(Esce.)
Self? = go(help), SayText(Help a Video.)
Fn12 = SayText(Le frecce su` e giu` permettono di spostarsi tra i menu`. Return, accede al menu`.)
# Fn12: Help vocale
# Fn11: Reset dello stato


...


Questo e` un possibile frammento di file di regole, per la prima schermata del "pine", uno dei programmi per la gestione della posta elettronica.
Le frecce ed enter ci permettono di muoverci tra i menu e di sceglierne uno.
I caratteri c, i, l, a, s, q, ?, permettono di accedere direttamente ad un determinato menu.
In questo caso vengono "mappati" sul file di regole, le voci di menu come domini, attraverso i quali ci si puo` muovere con le frecce ed enter, oppure con i caratteri c, i, l, a, s, q, ?.

Per cercare di avere un comportamento "omogeneo" con altri servizi, su F12 e` stato attivato l'help vocale, ovvero una sintesi delle azioni possibili in quell'istante.
Su F11 e` sempre presente il "Reset dello stato", ovvero la possibilita` di riportare lo stato sul dominio iniziale.
Questa funzione e` utile nel caso, ad esempio, ci si trovi in uno stato "non previsto", e quindi si vuole tornare ad uno stato noto.





(Internet.)

[Generic]

K_UP = SayHighlighted(2, 27)
K_DOWN = SayHighlighted(2, 27)
K_RIGHT = SayText(Sto caricando la nuova pagina)
K_LEFT = SayText(Torno alla pagina precedente)


Questo e` un possibile frammento di file di regole, per lynx, uno dei browser internet di Linux.
In questo caso, e` fondamentale la presenza dello Screen Reader: con questo possiamo leggere il contenuto delle varie pagine.
I tasti su` e giu` ci fanno muovere tra i link; i tasti destro e sinistro, ci fanno accedere alla pagina puntata dal link corrente, o ci fanno tornare alla pagina precedente.
Questo risultato e` stato raggiunto modificando la configurazione di lynx, dicendogli di "evidenziare" i link attivi. In questo modo noi con la SayHighlighted() riusciamo a posizionarci sul link corrente, ed a leggerne il contenuto.





(File Manager.)


[First_Screen]

Fn9 = go(high_menu)
Fn4 = go(Edit)
Fn5 = go(copy)
K_DOWN = SayHighlighted(3, 25)
K_UP = SayHighlighted(3, 27)
K_TAB = Pause(1), SayHighlighted(3, 27)
Alphanum = SayTyped()



[Edit]

K_DOWN = SayCursor()
K_UP = SayCursor()



Questo e` un possibile frammento di file di regole, per mc, uno dei file manager di Linux.
In questo caso abbiamo un approccio misto:
- per i menu uso un dominio per ogni voce (high_menu, Edit, copy);
- per scorrere i file uso la SayHighlighted per leggere quello selezionato

L'editor usa poi un approccio diverso: la lettura della riga corrente con la Saycursor(), ovvero legge la riga dove'e` il cursore.


In tutti questi casi notiamo come sia possibile scrivere file di regole diversi per lo stesso programma: tutto dipende dalla definizione dei domini e da quali "azioni" abbiamo intentenzione di usare.
Nel caso di lynx, abbiamo visto come una semplice modifica nella configurazione del programma ("evidenziando" i link attivi), ci abbia permesso di renderlo piu` accessibile.
La scrittura di nuovi moduli di "azioni", ci permette di introdurre nuovi modi di rendere accessibili i programmi.









Copyright (c) 2003.

Tutto il materiale presente sul sito e` "liberamente" copiabile e distribuibile, secondo i termini della GNU Free Documentation License, Versione 1.1 od ogni versione successiva pubblicata dalla Free Software Foundation; con tutte le Sezioni Non Modificabili.
Una copia della licenza "GNU Free Documentation License" e` scaricabile qui.










In collaborazione con:

ASPHI

Vai alla Homepage
Col supporto tecnico di:



SourceForge.net