Newsgroup: it.comp.lang.delphi
Titolo: Fire Monkey & accessibilità

Salve a tutti,
 
vi informo di una questione che mi sta a cuore.
 
Ho testato questo framework grafico e ho riscontrato che produce 
applicazioni totalmente inaccessibili per chi usa sistemi alternativi di 
accesso.
Se state sviluppando applicazioni per una pubblica amministrazione "O" per 
utenti con ridotta capacità visiva, e lo state facendo usando Fire Monkey, 
tornate su Vcl, poiché state sviluppando una applicazione che va al di là 
della normativa vigente. Ho usato "O" appositamente, poiché se sviluppate 
per una P.A. siete fuori legge, indipendentemente che tra il personale ci 
sia un disabile o meno.
Se proprio non volete Vcl, molto meglio orientarsi su una WebApp, piuttosto 
che continuare su Fire Monkey.
Quindi se vi hanno appaltato e/o commissionato qualcosa, sappiatevi 
regolare.
 
Ve lo volevo dire... e ve l'ho detto, quindi siete avvertiti. :-)
 
Ciao
 
 
Giuseppe 
 

 Ve lo volevo dire... e ve l'ho detto, quindi siete avvertiti.
 
Ciao Giuseppe
ti ringrazio per questo warning, che capita "a fagiolo" come si suol 
dire: avevo proprio pensato di chiederti quale fosse il supporto di FM 
alle tecnologie accessibili.
Tienici informati a riguardo, credo che Emb abbia ben presente la 
questione e chi si stia già muovendo. (almeno, dovrebbe farlo a 
prescindere).
 
Un'altra cosa che vorrei sapere da te (pur andando in OT) è quale tipo 
di esperienza d'uso sia possibile avere per un non vedente con iphone, 
tablet e affini, cioè con tutto ciò che fa uso della tecnologia touch.
A tal proposito ho trovato questo link: 
http://appadvice.com/applists/show/apps-for-the-visually-impaired
 
 
ciao
 
-- 
morde
QT 4.7
Delphi (5,6,7.. expired)
Firebird Database
 

 Ve lo volevo dire... e ve l'ho detto, quindi siete avvertiti. :-)
 
Dal mio punto di vista, hai detto tutto e hai detto niente: se sviluppo un'applicazione che rispecchia criteri di accessibilità, è tale anche se fatta con DirectX. :)
 
-- 
MARCO BREVEGLIERI
#Home: 
http://www.marco.breveglieri.name
 
#Blog: 
http://www.compilaquindiva.net
 

Marco:
Dal mio punto di vista, hai detto tutto e hai detto niente: se sviluppo 
un'applicazione che rispecchia criteri di accessibilità, è tale anche se 
fatta con DirectX. :)
 
G.
Ovvio. Se vuoi decuplicarti il lavoro, sei libero di farlo. L'importante è 
che il prodotto finale sia accessibile, mediante le esistenti tecnologie di 
accesso per disabili, nel mio caso disabili visivi. Per adesso Fire Monkey è 
un problema, perché non si può accedere con niente. Però ripeto, se tu, o 
chi vuole, integra in fire monkey tutte le caratteristiche di accessibilità 
affinché esso possa essere acceduto medianti tecnologie assistive, 
naturalmente mettendosi doverosamente d'accordo con i produttori di 
tecnologie assistive, soprattutto americani, ben venga. Anche a me 
piacerebbe sviluppare applicativi cross platform. In Java ci si è lavorato 
parecchio prima di ottenere qualcosa, e attualmente l'accessibilità Java è 
alquanto carente. Non vorrei vedere nuovamente il teatrino di chi rincorre 
per anni un ennesimo framework grafico sviluppato nativamente senza tener 
conto dei corretti criteri per l'accesso di tutti.
Devo comunque documentarmi cosa fanno in America con questa novità, perché 
la section 508 Americana è molto più restrittiva della nostra legge 
italiana. Ho intraletto di Fire Monkey e Microsoft Accessibility, ma era una 
informazione troppo vaga, e comunque se rispondente a verità limitata 
all'ambiente Win.
Ciao
 

 e affini, cioè con tutto ciò che fa uso della tecnologia touch.
 
Giuseppe:
Ehi ciao, ben ritrovato! :)
Direi che l'esperienza touch di Apple per un non vedente è ottima. 
Dall'IPhone 3gs Apple ha munito i suoi dispositivi di un lettore interno, ha 
sviluppato un sistema touch alla portata veramente di tutti. Se hai un 
IPhone 4 o 4s, fai questa prova: premi per tre volte il tasto home, cioé 
l'unico tasto. Si attiverà il lettore di schermo, potenzialmente potrai 
usarlo a occhi chiusi. :D
Questa di Apple è stata veramente una bella cosa, che si sta ripetendo in 
tutti i suoi device. Tutti i Mac hanno a bordo un lettore di schermo, si 
attiva e disattiva con Command+F5. Tutti gli IPhone e gli IPad e qualche 
modello di IPod hanno un lettore. Questo è veramente bellissimo, perché un 
non vedente va in negozio, compra il suo bel device, se lo prova, se lo 
porta a casa e lo usa, come tutti.
Purtroppo questo in Windows non è potuto succedere, anche se Microsoft sin 
da Win 2000 ci tentò, ma i produttori di screen reader si opposero. Almeno 
queste sono le voci che mi sono arrivate. Apple invece ha avuto terreno 
libero, perché prima che lei stessa nel 2004-2005 facesse l'annuncio che era 
alla ricerca di sviluppatori di tecnologie assistive per creare un settore 
interno all'azienda (in California), non esisteva proprio niente.
Tutto il resto è storia.
 
A proposito di fire monkey. Subito mi sono attivato ed ho chiesto alla 
community italiana di universal access (questo è il nome del lettore di 
schermo a bordo dei device Apple), se riuscissero a trovare qualche app 
fatta mediante fire monkey, per testare se produce app accessibili. Per ora 
i ragazzi non hanno trovato niente. Però se qualcuno di voi, anche tu Morde, 
riuscite a sviluppare qualcosa, datemi il nome della vostra app che la 
faccio testare, oppure vi metto in contatto con l'intera community: saranno 
felici di farvi da beta tester per l'accessibilità.
 
Ciao! :)
 

Forse con Marco non sono stato sufficientemente chiaro... integro questo.
 
Con Vcl potenzialmente si può fare una applicazione che rispetta tutti i 
criteri di accessibilità. Potenzialmente, perché è ovvio che poi la volontà 
e le competenze sono del singolo o del team che sviluppa l'applicazione. 
Stesso discorso per una Webapp, per Java (sudando un po' di più).. Usando 
fire monkey non hai gli strumenti per poterlo fare, sia che tu abbia le 
giuste competenze, sia che tu non le abbia.
Di più, con Vcl magari, ignorando il problema, puoi imbroccare la maggior 
parte delle cose producendo una applicazione usabile in qualche modo... è 
successo migliaia di volte. So che si sviluppa per una sola piattaforma, ma 
che ci si può fare?
Mi sovviene un altro caso simile: il framework QT, stesso problema, e stanno 
ancora tentando di metterci delle pezze. In qualche modo si riesce ad 
accedervi, ma molto limitatamente.
 
Mi ricordo una discussione che ebbi proprio in questo ng tanti anni fa, con 
un utente linux che mi insisteva che io per migliorare l'accesso a linux 
avrei dovuto programmare e darmi da fare per linux. Non gli entrava proprio 
in testa che io non posso fare niente con strumenti che non riesco a usare, 
tanto meno migliorarne l'accesso.
 
Per Fire Monkey è decisamente diversa la questione, ma io non mi metto certo 
a ricercare e curare il modo affinché produca sotto win applicazioni 
accessibili. Abbiamo tutti poco tempo, la clientela pressa parecchio. Si dia 
da fare chi lo ha sviluppato. Personalmente mi piace molto e mi piace molto 
l'idea che un giorno possa fare app multipiattaforma usando Delphi, e spero 
che un dì si possa fare, ma attualmente la situazione per me è questa.
 
Belli tutti gli oggetti per produrre effetti grafici, mettendoli in una form 
mi piacerebbe proprio vedere cosa fanno! :-D
 
Ciao
 

 conto dei corretti criteri per l'accesso di tutti.
 
Ok, ma non puoi neanche pretendere che il primo punto di cui ci si occupa nella prima release di una nuova libreria, grafica e multipiattaforma, sia l'adesione a standard di accessibilità specifici, soprattutto se la libreria è fatta per indirizzare dispositivi diversi laddove questi requisiti magari cambiano pure dall'uno all'altro.
 
Ciao,
  Marco.


 sia che tu abbia le giuste competenze, sia che tu non le abbia.
 
Ribadisco: attendo almeno un paio di esempi per capire meglio, altrimenti parliamo sempre di "aria fritta". :)


Marco wrote:
Ribadisco: attendo almeno un paio di esempi per capire meglio, altrimenti 
parliamo sempre di "aria fritta". :)
 
Giuseppe:
Sto cercando di esemplificare molto, davvero. :)
Se ti dico che delle finestre fatte con fire monkey il lettore di schermo 
non legge nulla, a parte il titolo della finestra, cosa debbo dirti di più?
Legge il titolo della finestra, perché il framework costruisce la sua 
interfaccia pur sempre in una finestra del sistema operativo. Tutto il resto 
è buio totale, come se li dentro non ci fosse nulla. Proprio perché è 
totalmente un framework che si astrae dal sistema operativo e allo stesso 
tempo non mette a disposizione una struttura per farsi leggere.
 
Esempio più tecnico e molto semplice.
Un button in Windows è un oggetto figlio all'interno di una form madre. Il 
button viene creato con determinate istruzioni di sistema, che istanziano 
quel nuovo elemento, gli assegnano delle caratteristiche, una posizione, una 
estensione, un'area in cui scrivere testo o immagini. Abbiamo una finestra 
ben delimitata. Tra le proprietà di questa finestra button c'è anche il 
testo (in Delphi chiamato caption). Questa proprietà viene usata per 
mostrare una etichetta testuale nel contesto grafico del pulsante. Ci sei 
fino a qui? Il lettore di schermo (esemplifico tanto) quando il focus di 
Windows raggiunge quell'oggetto, è il lettore di schermo capisce questo 
dagli hook di sistema e dai messaggi che in essi transitano, il lettore di 
schermo può sapere cosa c'è scritto nel pulsante, non dal device contest del 
pulsante, quindi non dall'area grafica di cui il pulsante dispone, ma 
interrogando il pulsante tramite il suo handle di finestra, facendosi 
restituire il testo caption che gli appartiene (GetWindowText).
Fammi adesso tu un esempio di come tutto questo si possa fare tramite una 
interfaccia astratta dal sistema, Fire Monkey.
O integri quella interfaccia di un canale per comunicare tutto, ma proprio 
tutto, col sistema che sta al di sotto, o con un eventuale lettore di 
schermo, altrimenti crei il framework munito di lettore di schermo, inclusa 
una sintesi vocale, possibilmente multi lingua. Fino ad ora tutti i 
framework hanno preferito la prima strada, per ovvia complessità di sviluppo 
della seconda soluzione.
 
Esempio due:
http://www.freedomscientific.com/
 
Scarica Jaws for Windows, installalo, crea due applicazioni, una Vcl una FM, 
mettigli dentro due pulsanti, non di più, chiama i due pulsanti Prova1 e 
Prova2. Lancia JFW (lettore di schermo), poi lancia le due applicazioni. Hai 
appena fatto due applicazioni, una accessibile e l'altra no. Tu non hai 
assolutamente colpa della inaccessibilità della seconda. Con la prima lo 
screen reader riesce a leggere i due pulsanti, quando sposti il focus 
dall'uno all'altro, quando clicchi di sinistro, di destro ecc.. Nella 
seconda leggi solo la caption della finestra madre, che puoi solo chiudere 
con Alt+F4. Eppure tu nella seconda col mouse ci navighi bene, vedi tutto 
perfettamente e la utilizzi alla perfezione. C'è la stessa differenza che 
avere un testo e una immagine contenente quel testo. Li vedi allo stesso 
modo, ma non sono la stessa cosa.
 
Chiaro adesso? :)
 
Ciao 
 

 Chiaro adesso? :)
 
Chiarissimo, e anche molto dettagliato! :)
 
In effetti, il problema dell'accessibilità in questi termini non è di facile soluzione: anche tralasciando il discorso su FireMonkey, sarebbe interessante vedere come si comportano queste applicazioni utilizzate per la lettura dello schermo quando vengono applicati a vari framework moderni di sviluppo delle applicazioni, come WPF e altre librerie affini, e anche con l'imminente arrivo di Metro. Può essere un interessante ambito di ricerca. :O
 
Ciao,
  Marco.

 l'accessibilità.
 
Giuseppe grazie 1000 per il tuo prezioso feedback!
Mi sembra che winxp abbia lo screen reader, ma non avendolo mai usato 
non saprei dirti di più. Ora che la Microsoft ha fatto join con nokia 
per uscire con windows phone probabilmente le tecnologie assistive ci 
saranno. Anche Android ne ha uno, opensource.
 
Prendo nota della tua disponibilità per un testing sulle mie future app: 
ho in programma di spostarmi su Android nel futuro, e mi piacerebbe 
poter avere dei feedback dalla vostra community in fatto di tecnologie 
assistive :-)
 
Saluti


 Chiaro adesso?
Ottimo Giuseppe, grazie per i dettagli!


   Puň essere un interessante ambito di ricerca. :O
 
Assolutamente concorde.
 
Integro con questo: Per Android, dalla 1.6, c'č questo:
http://google-opensource.blogspot.com/2009/10/talkback-open-source-screenreader-for.html
 
e nella app store:
https://market.android.com/developer?pub=Eyes-Free+Project
 


 Assolutamente concorde.
 
Proprio oggi che si parlava di questo argomento, ecco l'ennesima notizia 
che ci rende orgohliosi della nostra PA:
 
http://tiny.cc/istat_accessibilita
 
