[Python] ScreenReader. Era: to: Re: R: Si possono creare variabili globali all'interno di una funzione che si trova a sua volta all'interno di u

Gabriel Battaglia (Kriyaban) iz4apu a libero.it
Mar 14 Maggio 2013 09:27:49 CEST


-----Messaggio Originale----- 
Da: "Manlio Perillo" <manlio.perillo a gmail.com>
A: <python a lists.python.it>
Data invio: lunedì 13 maggio 2013 21.35
Oggetto: Re: [Python] R: Si possono creare variabili globali all'interno di una funzione che si trova a sua volta all'interno di un
modulo?


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 13/05/2013 21:25, Gabriel Battaglia (Kriyaban) ha scritto:
>> [...]
>>> Che difficoltà si trovano nell'ambito dello sviluppo di codice?
>>
>> GB: parecchie, la principale è l'inaccessibilità degli IDE, secondo me.
>> Uno dei punti di forza di Python, ad esempio, l'indentazione
>> obbligatoria, è, almeno per me, qualcosa con cui fare i conti: nulla a
>> cui non ci si possa abituare, ma il vantaggio che i vedenti hanno, cioè
>> il colpo d'occhio che indica i blocchi, per noi, che visualizziamo una
>> riga alla volta, o, per quelli che programmano addirittura con la sola
>> sintesi, nessuna riga, è più uno svantaggio che un vantaggio. Per me, le
>> graffe del C++ erano naturalmente più comode.
>>
>
> Con Python non hai bisogno di un IDE, ma di due cose: un editor e la shell.
>
> Non so però se ci sono editor e shell avanzati (come Vim e Bash) con
> ottimo supporto per i non vedenti.

Ciao Manlio, buongiorno.
Non che io sappia... C'è abbastanza per fare tutto, ma mancano un po, diciamo gli optionals, le cosine di lusso... Come editor io 
uso editra che ha una specie di autocompletamento accessibile ma le manca una cosa che sarebbe comodissima: cioè la possibilità di 
eseguire lo script premendo un tasto e di avere l'output in una finestra di testo ReadOnly, da copiare...
La shell di default è un po povera di funzioni, niente copia, niente autocompletamento... iPython sarebbe molto meglio ma ha altre 
magagne descritte da Germano. IDLE, che forse sarebbe il massimo è completamente invisibile agli ScreenReader perchè... mi dicono 
essere fatta con le librerie QT che non usano oggetti standard di Windows ma disegnano graficamente i controlli.... Non so se questa 
mia ultima affermazione abbia un senso perchè sto parlando di cose che non arrivo a comprendere.
Eclipse, con Pydev funziona abbastanza bene ed è anche accessibile, ma è un mastodonte: crea 1200 file ogni volta che apri un 
progetto per scrivere "Hello World".

>
> A dire il vero non so nemmeno come funziona uno screen reader; è
> qualcosa di simile ad un Window Manager [1] ?
>
>
> [1] http://en.wikipedia.org/wiki/Window_Manager
Qui ti ha risposto bene Germano. Aggiungo che uno ScreenReader è un super oggetto che gestisce e coordina una marea di moduli, 
ognuno dedicato ad un compito specifico. Questi moduli cercano di installarsi più in basso possibile e di porsi fra il sistema 
operativo e tutte le periferiche in maniera da intercettare ed elaborare i flussi di dati, prima che questi giungano all'utente. Ad 
esempio, uno SR si occupa di fornire tutte le scorciatoie da tastiera possibili, per sostituire il mouse, altri tasti portano il 
fuoco di sistema su particolari oggetti, altri mandano alla sintesi vocale determinate proprietà di determinati oggetti che sono 
fuori dal ciclo delle tabulazioni e che quindi non possono essere focalizzati dall'utente o dai software. Altri tasti richiamano 
direttamente delle macro che simulano il puntamento ed il click del mouse su determinati oggetti presenti sul video, che 
naturalmente prima vanno rintracciati, localizzati e, dove necessario, richiamati.
Un SR, più è... slegato, indipendente, dai software utilizzati, più è, diciamo generico, adattabile ai programmi, più è 
profondamente integrato con il sistema operativo, migliore è.
Per Windows abbiamo Jaws, NVDA, Windows Eyes e altri, per Mac OS X e iOS c'è VoiceOver, per linux, che io sappia, poca roba o niente 
ma non ho esperienza diretta in merito.

Da non confondere ScreenReader con sintesi vocale. Se lo SR è il cuoco, la sintesi è il piatto di spaghetti.

Ciao.
G. 



Maggiori informazioni sulla lista Python