Molte volte è vero , l'utente finale potrebbe impegnarsi un pò di più per apprendere un nuovo software, alcune volte, questo non è dovuta alla sua "fraccomodità" OR "snobbosità" ma deriva da una difficoltà oggettiva. Bisogna essere sempre disponibili alle difficoltà dell'altro, alle volte però non siamo così veloci da capirlo. Esempio qualche tempo fa un mio collega tra i suoi corsisti ebbe un non vedente, presi da altri problemi gli consegnammo il libro cartaceo, ovviamente una volta avutolo in mano disse "Ed io che me ne faccio?".... che figuraccia, per tanto tempo mi sono sentita in colpa per l'accaduto anche se ero in totale in buona fede. Poichè, prima di mettere in circolazione un software, abbiamo tutto il tempo di mettere in funzione il nostro di cervello..... parliamo oggi di Accessibility ed Help (tra le cose ripassate oggi)
Quali sono i 5 requisiti per la certificazione Microsoft (r) per l'Accessibilty dei programmi Windows?
- Standard System Setting ossia font,colore,size e input devo essere standard. In pratica conviene utilizzare le palette di sistema per i colori , il default per i fonts e prevedere un uso con la risoluzione dello schermo a 640x480;
- High Contrast Option occorre scegliere soluzioni che prediligano la massima leggibilità, quindi ottima la scelta del massimo contrasto tra chiaro e scuro. Inoltre è preferibile evitare l'utilizzo di immagini come background delle form. Insomma bando alle stravaganze;
- Documentazione Keyboard ovviamente conviene che tutte le features siano accessibili mediante keyboard grazie agli shortcut. Se impieghiamo tanto tempo per fare tutto ciò, ha senso che facciamo anche in modo che sia ben documentato, in modo chiaro e leggibile e facilmente rintracciabile;
- Notificazione per il focus Keyboard abbiamo due programmini Narrator e Magnifier...provateli sul vostro programma e poi eliminerete tante cose superflue con giovamento anche per gli altri utenti;
- Non solo avvisi sonori.....conviene combinarli con avvisi visivi, es MessageBox di notificazione o flashing background.
Accessibility e Windows Forms
Abbiamo visto le buone norme, vediamo qualche proprietà delle Form che vi aiutano:
- AccesibleRole
- AccesibleName
- AccesibleDescription
- AccesibleDefaultActionDescription
- Accessibilty Object
Oltre le prime tre abbastanza intuitive, da vedere perchè da quello che ho capito ci sono diverse domande all'esame, vediamo le ultime due:
Accessibility Object: è una proprietà read-only a designer e contiene una istanza di AccessibleObject
AccesibleDefaultActionDescription: da codice e contiene la descrizione dell'azione previstga di default per il controllo
SOS.............................
Quando provo qualche nuovo software, dopo averci giocato per un trenta minuti buoni...verifico l'help e mi metto a studiare tutto quello che c'è, non è tempo perso anzi... si risparmia tantissimo tempo dopo.
Inoltre, senza un buon help se l'utente non apprende un pò di colpa è anche nostra.
Per la documentazione di supporto possiamo utilizzare ad esempio l'HTML o CHM (Compressed HTML) creato con Microsoft HTML Help Workshop (ancora devo provarlo ). Utilizziamo la classe Help che ha due metodi statici:
- ShowHelp per visualizzare un file di help per un particolare controllo. Essendo statico non ha bisogno d'essere istanziato
/*Supponiamo d'impostare l'help su di un controllo
es. sulla Form: Primanota
impostiamo la path del file di help: C:\hpprimanota.htm
ed il paramentro di HelpNavigator che è possibile settarlo a:
- TableOfContents - tabella dei contenuti
- Find - la pagina di ricerca
- Index - l'indice
- Topic - help topic
- AssociatedIndex - l'indice per uno specifico topic
- KeywordIndex - la keyword per una ricerca
*/
Help.ShowHelp(Primanota,@"C:\hpprimanota.htm","Generalità")
- ShowHelpIndex lo utilizziamo per richiamare l'index di un file di help
Help.ShowHelpIndex(FormClienti,@"C:\hpanagrafiche.htm");
Vediamo qualche cosa sul HelpProvider Component. Quante volte mi sono meravigliata quando avevo il focus su di un controllo e premendo F1 appariva l'help....ooooooooooohhhhhhhhhhhh MAGIA...ovviamente prima di conoscere l'HelpProvider e le sue tre proprietà (impostabili a design time o da codice):
- HelpString
- HelpKeyWord
- HelpNavigator
Ed ora come sempre test, test, test...........
powered by IMHO 1.3