Il 08/07/2015 19:08, enrico franchi ha scritto:
2015-07-08 15:54 GMT+01:00 germano carella <germano.care...@gmail.com
<mailto:germano.care...@gmail.com>>:
Allora, ho tolto il resto, perché rispondo a questo: non è che non
voglio lavorare con gli sviluppatori per rendere qualcosa
accessibile, è che per farlo ci vuole anche la volontà di studiare
un aspetto che, ti assicuro, non è per niente semplice.
Si, chiaro. Ed e' il motivo per cui puoi dare una grossa mano proprio
perche' tu ti interessi del problema e loro no.
Mettere le mani su un software completamente inaccessibile
significa, a conti fatti, rallentarne lo sviluppo.
Si.
Mi hanno assicurato che lo faranno, ma non sanno quando. Ciò vuol
dire che potrebbe anche passare un anno.
O 5.
Mi occupo di accessibilità da 13 anni, un po' per lavoro, un po'
perché io sono non vedente e quando scrivo una cosa, se non la
faccio accessibile almeno per me, non ha molto senso che io la scriva.
L'accessibilità di un'applicativo va progettata dall'inizio, se lo
sviluppatore decide di non usare oggetti standard.
Chiaro. E suppongo che se usa oggetti non standard sia comunque
possibile, sapendolo fare, renderli comunque accessibili.
Assolutamente, specialmente in QT, perché QT ha già delle classi
predisposti ad interfacciarsi con QWidget. La cosa è piu' difficile,
perché di ogni QWidget va scritta l'interfaccia che si occupa di
comunicare con le AT: l'oggetto dev'essere presentato all'AT, va create
l'interazione con la tastiera e gestiti gli eventi che comunicano all'AT
i nuovi valori, o il nuovo testo.
Tanti sviluppatori mi ascoltano, ma tanti, ti garantisco, mi
rispondono che se il progetto è open-source, posso tranquillamente
metterci io le mani per renderlo accessibile.
E non vedo perche' stupirti di questo. E' *esattamente* come funziona
l'open source. Esattamente come se a me interessa una feature che non
c'e' o me la scrivo o aspetto che me la scrivano. Esattamente come se
ho un baco che mi da fastidio o me lo fixo o aspetto che lo facciano
per me. E se lo fanno gli altri, lo fanno gli altri quando hanno tempo
e voglia.
No no, niente stupore. Semmai credo che la difficoltà sia mia, leggere
il codice che ha scritto qualcun altro è estremamente lungo e lento, se
non hai qualcosa che ti velocizza il lavoro.
Faccio un esempio: in visual studio puoi collassare la struttura di un
file c#, vedendo solo le classi principali. Se ne vuoi leggere una, apri
la struttura ad albero e vai alla definizione dei metodi.
Con un editor testuale e python, dove non c'è il fine blocco ma solo le
indentazioni, la prima difficoltà che ho è il colpo d'occhio; devo
leggere tutto in maniera sequenziale, stando attento a contare i livelli
di indentazione.
A volte riesco a trovare quello che mi serve, altre volte, lo ammetto,
mi viene molto difficile...
Ora, io mi rendo conto che per te "accessibilita'" non e' esattamente
una feature come un'altra, e' il fondamento minimo senza cui non si va
avanti. Pero' il modo in cui funziona l'open source e' esattamente che
se hai bisogno di qualcosa hai il *potere* di farlo. E in un certo
senso e' anche il modo piu' rapido per ottenere qualcosa.
Lo so, lo so, hai ragione. Per questo sono sempre alla ricerca di editor
o roba simile open, perché se magari trovo qualcosa che piu' o meno è
accessibile si può lavorare su quella...
Avevo trovato degli editor scritti con scintilla, ma mi sono accorto che
il problema sta nel controllo base. Praticamente, dopo che sei arrivato
a leggere la cinquantesima riga di codice, lo screen reader impazzisce:
ti legge non la linea che sta sul cursore, ma quella che gli sta
sopra... e ancora non ho capito il perché! è un comportamento che sfugge
alla mia comprensione.
Vabbè, la taglio qui perché è poco interessante.
E invece e' *molto* interessante. Perche' secondo me il punto e' che
stai sbagliando approccio (e te ne pentirai).
Ok, parliamone allora...
Concludendo questa tiritera infinita, senza dubbio ci sono cose
che non so, sfido a trovarne uno che le sappia tutte;
probabilmente mi sono occupato troppo di accessibilità e ho
tralasciato qualcosa, ma preferisco colmare qualche lacuna studiando,
No aspetta... e' chiaro che nessuno sa tutto. Ed e' esattamente per
questo che ti dico che se sei bravo a farne una e' un peccato che tu
non benefici delle skill degli altri sulle cose su cui loro sono forti
e che loro beneficino delle tue su quelle su cui tu sei forti.
piuttosto che mettere le mani su un progetto di cui l'autore,
mentre io cerco di capire come l'ha scritto, ne ha probabilmente
fatte altre 5 o 6 release.
E quindi? Ci sono i branch, no big deal. Tutto lo sviluppo software
funziona cosi'. Una volta che hai fatto il merge del tuo codice con un
set di regression che asseriscono quello che hai fatto, le future
versioni *rimarranno* accessibili.
Tornando a noi... ora supponiamo che $editor sia il miglior editor
immaginabile, sviluppato da centinaia di persone. E' un editor
flessibile, che supporta quasi tutto la fuori e che se non supporta
qualcosa puo' essere esteso facilmente. E', in altre parole, l'editor
che vorresti usare... solo che non e' accessibile. Quindi non puoi
usarlo. Ora, invece di provare a renderlo accessibile, ne scrivi uno
da 0.
Questo sara' sviluppato da una persona. Tu. Non avra' le features
dell'altro (perche' per quanto tu sia bravo, non puoi essere veloce
come un'intera community di persone). E dovrai re-iniziare a
implementare cose di base che gli altri hanno gia'. Non solo, proprio
perche' nessuno sa tutto, ci saranno cose che altri si aspettano che
un editor faccia cui tu non hai nemmeno pensato. In altre parole
"condanni" te stesso (e la community di non vedenti) ad uno strumento
peggiore. Perche' parlo di "community di non vedenti"? Beh, perche' se
a te mancano un centinaio di features dell'editor sopra-menzionato e
quello che offri in piu' e' l'accessibilita', di fatto creerai una
community di persone che fra virtualenv e accessibilita' scelgono
l'accessibilita' (virtualenv qui e' un esempio). E guarda caso, credo
che questa community sia fatta di persone che non *possono*
sacrificare l'accessibilita'.
In generale, l'idea di "mi riscrivo tutto da 0" (lasciando stare il
discorso accessibilita': e' un pattern comune che si applica ad ogni
tipo di software e di feature) e' molto allettante per l'ego, e' anche
in apparenza piu' facile (perche' di fatto si finiscono per non
trattare i problemi difficili che non interessano e trattere solo
quelli che interessano). Ed e' un pattern che porta solo a
frammentazione e a problemi di ogni tipo.
Poi e' interamente possibile (tornando a parlare del tuo problema
specifico) che uno specifico editor sia davvero troppo complesso da
rendere accessibile. Pero' fra quelli con una certa trazione e
community potrebbe essercene uno che invece e' fattibile. Certo, sara'
doloroso e complicato. Pero' alla fine avrai qualcosa di migliore, tu,
i tuoi utenti e in generale la comunita' dei non vedenti.
e su questo siamo assolutamente d'accordo.
Non pretendevo infatti di scrivere un editor come emacs, o come eclipse,
solo un piccolo notepad un po' piu' avanzato, tutto qui... In effetti il
mio scopo molte volte è didattico, non mi stanco mai di imparare cose
nuove, in realtà vorrei saperle tutte, ma forse così perdo tempo e non
faccio cose utili, non so...
Senza dubbio occorrerebbe trovarne uno la cui interfaccia non sia troppo
ostica e ci si possa mettere le mani, non dico facilmente, ma in maniera
un po' piu' soft, per questo ne testo tanti... Non hai idea di che
cos'ho in questo computer, sono pieno di editor di ogni tipo e sorta...
ieri sera ne ho preso un altro, liclipse, che ha installato il PyDev.
Questo sembrerebbe promettere bene con l'accessibilità, almeno riesco a
scrivere e leggere del testo e, se l'orecchio non mi inganna, anche a
usare l'autocompletamento... non mi sembra male, ma prima di cantare
vittoria lo devo testare bene.
Cosi', per curiosita', cosa fai di preciso quando l'utente da il
comando di salvataggio? Non mi interessa cosa fa lo screen reader, non
mi interessa al momento la UI: intendo, come implementi il salvataggio
in termini di pseudo-codice?
Utilizzando dei buffer di memoria e scrivendo il contenuto dei buffer
nei file?
Tipo: ad ogni file aperto associo un buffer; non appena scrivo qualcosa
in quel buffer un flag mi dirà che il testo è stato modificato. Quando
do il comando di salvataggio controllo tutti i buffer attivi e scrivo il
contenuto nei file associati solo se il testo è stato modificato.
Potrebbe andare o qualcosa mi sfugge?
Comunque ieri mi sono studiato le unit test e oggi mi appresto a fare
qualche esempio, perché devo imparare come funzionano... la mia vita è
tutto uno studio!
Ciao!
--
.
..: -enrico-
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python