Come inserire un contenuto alternativo ai filmati Flash
Poche cose hanno segnato un cambiamento radicale nella costruzione di pagine web, come l'introduzione del programma di Macromedia che tutti conoscono, Flash.
E' una cosa così vera che ogni webdesigner cerca assolutamente di integrare, nelle sue realizzazioni, uno o più files prodotti con questo software.
Un sito con files .swf - questo il nome dell'estensione data ai file prodotti con questo software - inclusi nelle varie pagine, acquista d'incanto un valore aggiunto ed un prestigio talora poco giustificati, ma innegabili. La potenza di Flash è tale per cui interi siti vengono realizzati con tale incredibile e impareggiabile strumento pur non essendo stato sviluppato con queste finalità.
Con Flash, giunto nel 2004 alla versione MX, si possono realizzare vere e proprie opere d'arte digitali nelle quali l'interattività e la multimedialità, raggiungono picchi di sofisticatezza irraggiungibili con altri e più comuni strumenti nati e sviluppati per il web. Flash consente infatti di realizzare filmati, menù, mappe d'immagine, box interattivi, scroller, pulsanterie, effetti sonori ed altri miracoli grafici che hanno l'unico limite nella fantasia dell'utilizzatore.
Quindi Flash non ha difetti?
Non proprio!
Il primo difetto imputabile a questo programma è dato dalla curva di apprendimento che, in alcuni tragitti, è verticale e capace di scoraggiare il più caparbio individuo. La realizzazione di semplici files non interattivi, potrebbe richiedere settimane di studi e tentativi.
L'altro importante difetto dei prodotti di Flash, è dato dal peso in KB dei singoli files. Taluni possono arrivare a pesare anche qualche MegaByte e questo costringe i realizzatori a suddividere il file in tanti piccoli frammenti che vengono caricati dal browser solo se intervengono delle azioni specifiche che ne giustifichino il caricamento stesso. Per connessioni lente, i files .swf sono una minaccia ed un vero problema.
L'altro difetto, tema di questo articolo, è dato dal fatto che i files .swf necessitano dei plug-in da implementare nel browser per essere visionati e questo è un problema che in parte è stato risolto con l'inserimento automatico di questi plug-in nelle versioni più recenti dei browsers, ma rimane il fatto che il file .swf è un oggetto che viene incluso nell'ambito delle pagine in modo non sempre cristallino, tanto che i browser della Classe Gecko (Netscape, Mozilla, Firefox, Beonex, Phoenix, K-Meleon) hanno pensato di rendere necessario l'uso di un tag proprietario che non è accettato dagli standard del W3C riguardo i linguaggi a marcatori, che è il tag <embed>. Questa soluzione fuori dagli standard, determina il fenomeno per il quale se viene rimosso il tag in oggetto, il file .swf non viene caricato lasciando uno spazio vuoto.
Se il file .swf contiene solo animazioni totalmente ininfluenti sulla fruizione dei contenuti delle pagine del sito, si potrebbe fare benissimo a meno di tale file, ma se invece il file contiene aree attive che permettono di raggiungere le informazioni contenute anche in altre pagine, si capisce che il file medesimo diventa indispensabile alla consultazione del sito stesso.
Essere conformi e garantire l'accessibilità
Come fare quindi a essere conformi alle leggi del W3C e consentire al visitatore di accedere alle informazioni senza per forza usare un file .swf?
Annidando nel tag <object> che ospita il file .swf, altri tag <object> che ospitino l'alternativa sia essa in formato .gif, .jpeg, testuale o .mpeg.
Innanzitutto analizziamo un normale file .swf incluso con il sistema non conforme nel box sottostante :
<object classid=" .... ">
<param name="movie" value="miofilmato.swf">
<param name="menu" value="false">
<param name="quality" value="high">
<embed src="miofilmato.swf" menu="false" quality="high" pluginspage="http://www.macromedia.com/..." type="application/x-shockwave-flash" width="780" height="550">
</embed>
</object>
Come potete notare, la parte sottolineata si riferisce al tag incriminato e che serve ai browser Classe Gecko per permettere la visualizzazione del file .swf. Se l'escludiamo rimuovendolo, non avremo più modo di vedere il filmato, ma siamo costretti a farlo in nome del rispetto delle regole, producendo questo codice :
<object classid=" ... ">
<param name="movie" value="miofilmato.swf">
<param name="menu" value="false">
<param name="quality" value="high">
</object>
che sarà perfettamente visibile su internet explorer e su Opera.
Inseriremo quindi un oggetto alternativo.
Se il file .swf è un filmato ripetitivo, potremo produrre una Gif Animata semplificata per non esagerare con il peso e la chiameremo "gifalternativa.gif".
Fatto ciò, dovremo annidarla nell'oggetto che contiene il file .swf sotto forma di altro oggetto, come indicato nel box :
<object classid=" ... ">
<param name="movie" value="miofilmato.swf">
<param name="menu" value="false">
<param name="quality" value="high">
<object data="gifalternativa.gif" type="image/gif">
</object>
</object>
Con questa soluzione il filmato .swf sarebbe visualizzato dai navigatori con internet explorer e Opera, mentre i navigatori provvisti di browsers Gecko, vedrebbero la Gif animata.
Se al posto della Gif animata, vogliamo inserire un immagine statica per contenere il peso, basterà inserire la stringa giusta e l'estensione adeguata al file scelto (.gif, .jpg, .png).
Se al file .swf vogliamo contrapporre del testo illustrativo basterà inserire il testo come illustrato sotto.
<object classid=" ... ">
<param name="movie" value="miofilmato.swf">
<param name="menu" value="false">
<param name="quality" value="high">
Questo è il testo descrittivo del file che non è stato visualizzato
</object>
Se il file .swf contiene dei collegamenti ad altre pagine del sito od all'esterno di esso, basterà inserire i link come illustrato nel box sottostante.
<object classid=" .... ">
<param name="movie" value="miofilmato.swf">
<param name="menu" value="false">
<param name="quality" value="high">
<a href="http://#" title="Collegamento al primo link">Primo link</a>
<a href="http://#" title="Collegamento al secondo link">Secondo link</a>
<a href="http://#" title="Collegamento al terzo link">Terzo link</a>
</object>
Abbiamo quindi visto come inserire contenuti alternativi ai file prodotti con Flash, qualora si vogliano rispettare le regole e le conformità.
Ad ogni modo è bene ricordare di fare un uso molto moderato di questo costoso software e devolvere più tempo alla produzione di pagine web principalmente accessibili e produrre file .swf per applicativi multimediali interattivi su supporto rigido (CD-ROM, DVD) dove non sono richieste connessioni telefoniche e costose attese.