Flash, web standards, tag embed e stress da validazione W3C

Pubblicato da Davide, Aggiornato venerdì 22 giugno 2007 3 Commenti »

Tutto ebbe inizio con questo articolo di A List Apart, datato novembre 2002, ma tuttora attuale. Qui Drew McLellan presentava la sua soluzione ad uno dei problemi più antipatici del codice web, il famoso metodo Flash Satay. Quando si inserisce un filmato o un oggetto flash all’interno di una pagina html, è prassi comune utilizzare il tag “embed“, che però non è riconosciuto tra le specifiche dell’XHTML, e questo fa fallire la validazione W3C.

Al giorno d’oggi Macromedia/Adobe continua a proporre questo codice per l’inserimento di file flash all’interno di pagine web (datato Novembre 2004):

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
WIDTH="550" HEIGHT="400" id="myMovieName"><PARAM
NAME=movie VALUE="myFlashMovie.swf"><PARAM NAME=quality
VALUE=high><PARAM NAME=bgcolor
VALUE=#FFFFFF><EMBED
xsrc="/support/flash/ts/documents/myFlashMovie.swf" mce_src="/support/flash/ts/documents/myFlashMovie.swf" quality=high
bgcolor=#FFFFFF WIDTH="550" HEIGHT="400"
NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>

Un vero mostro: informazioni ripetute, maiuscole e minuscole a caso, valori degli attributi espressi senza le virgolette e chi più ne ha più ne metta. Inutile dire che questo codice non supera la validazione W3C.

Il sito di Adobe, tanto per citarne uno, utilizza un javascript per richiamare il file .swf, ma gli errori di validazione restano..
Esiste una soluzione per ottenere un codice valido e funzionante su tutti i browser, ma non è perfetta. In soldoni, si tratta di scrivere tutte le informazioni all’interno del tag “object“:

<object type="application/x-shockwave-flash"
data="mioFileFlash.swf"
width="400" height="300">
<param name="movie"
value="mioFileFlash.swf" />
<img xsrc="noflash.gif" mce_src="noflash.gif"
width="200" height="100" alt="" /><p>Qui si
possono aggiungere info per chi non ha il plugin flash</p>
</object>

Su Html.it un articolo di Alessandro Fulciniti (sempre datato 2004) affronta queste tematiche e presenta diverse tecniche, anche tramite l’utilizzo di javascript.
Sto usando il flash per un nuovo progetto, e siccome mi piace far le cose per bene, non posso accettare che un’operazione banale come l’inserimento di un filmato sia una faccenda da guru internazionale degli standard web.

Succede poi che scopri per caso che YouTube se ne infischia della validazione W3C, e con lui la stragrande maggioranza dei “mostri sacri“; finisci così su un articolo recentissimo di A List Apart dove si propone di coinvolgere maggiormente le grosse compagnie all’interno del movimento sui web standard.

Leggi che è tutto un batti becco fra esperti che non arrivano al dunque: c’è quello che propone le sue cose, quello che vorrebbe i css 2.2, quelli che vogliono l’HTML 5 e quelli che prefrirebbero l’XHTML 4.. Insomma, leggi questo e questo, poi sopraggiunge quello stress da validazione, che ti assale ogni volta che fai un nuovo progetto e ti vien voglia di lasciar perdere tutto: tanto ai “grandi” non interessa manco di striscio!

Morale

Le giuste conclusioni le trae Peter Paul Koch sull’articolo citato in precedenza.
I sostenitori degli standard web sono le piccole agenzie, gli sviluppatori freelance e le istituzioni come le università o le organizzazioni di ricerca. Al giorno d’oggi l’interna infrastruttura è supportata da questi gruppi. Non è una coincidenza: queste persone hanno bisogno degli standard per farsi un nome e acquisire più clienti. E’ un bene, perchè loro hanno bisogno degli standard così come questi hanno bisogno di loro. Resta un dato di fatto: finchè non si coinvolgeranno pienamente nel movimento le grandi aziende, allora sarà difficile imporre delle direttive che poi vengono rispettate e implementate dai produttori di browser.

Quando avere un sito validato sarà motivo di vanto, sia per Mtv che per la Tv locale, sia per Adobe che per il negozio di informatica sotto casa, allora si potrà dire di aver fatto passi avanti. E i produttori di browser si adegueranno.. si adegueranno?

3 Commenti »

Puoi lasciare un tuo commento, oppure fare un trackback dal tuo sito.

  1. 1

    Anch’io, tanti anni fa, quando ho cominciato ad occuparmi professionalmente di applicativi per il web ero molto preoccupata degli standard. Poi ho sbattuto il muso contro al muro della dura realtà di progetto: i browser (allora netscape 4.7 era state-of-the-art) sono i primi a non implementarli, ma tu devi sviluppare un applicativo che sia innanzitutto compatibile con i browser in circolazione, il cliente se ne sbatte dell’estetica del codice e anche dell’ergonomia: se vuole un pull-down con 150 options che all’evento mouse-over lanciano un’animazione in flash non c’è santo che tenga, il budget è di solito micragnoso, soprattutto per quanto riguarda la variabile tempo ergo: mentre il freelance cesella il codice durante la notte ed il finesettimana, piange sul suo blog della stupidità del cliente e così via, noi che sviluppiamo per i “grandi” scendiamo a compromessi. E funziona (che è poi la cosa più importante).

    Detto questo, sono ancora convinta che il W3C sia un’istituzione importante e che la definizione di standard sia fondamentale. Ma non ne faccio una questione di principio e finché la ricerca della compatibilità con lo standard comporterà alla rinuncia a funzionalità per me importanti, me ne fregherò dello standard. Come in tutte le cose, il dogmatismo non deve accecare il buonsenso comune.

    Un esempio terra-terra, l’attributo target dei link, originariamente nato per i frameset. Io non so per quale motivo debba rinunciare a questo attributo che mi consente di 1) far sì che il lettore possa seguire il link senza perdere la mia pagina e 2) offrire un “confort” al lettore inesperto – la maggioranza – che non è abituato a fare uso dei menu contestuali. Lo inserisco sempre laddove mi sembra utile, anche se il validator per “strict” mi dà errore.

  2. 2

    Ancora una volta credo che la questione dipenda in parte dai grandi numeri.

    La validazione è anche una questione di rispetto per l’utente, soprattutto per le minoranze, quelle che utilizzano browser datati o o adattati per i diversamente abili. Sui grandi numeri le minoranze scompaiono e i “grandi” possono ingiustamente infischiarsene.

    Su piccoli numeri, quelli con cui siamo abituati a lavorare noi “piccoli”, le minoranze possono rappresentare una percentuale non irrilevante.

    Ma la validazione è in realtà anche una “assicurazione” che il sito si vedrà comunque anche con le verisioni future dei browser, perché queste non potranno non essere compatibili con gli standard. Zeldman nel suo libro “Designing with web standards” spiega egregiamente i motivi per cui conviene essere “validi”.

    Tornando alla problematica specifica, noi in Webgriffe utilizziamo del codice JavaScript per includere gli swf. Così il codice XHTML rimane valido e chi non ha JavaScript abilitato vede comunque una immagine al posto del flash.

    Ti ho inviato la nostra implementazione via e-mail.

    Saluti, Alessandro

  3. 3

    @Isadora: d’accordissimo, il dogmatismo non deve accecare il buon senso, ed è proprio per questo che non capisco come una pratica banale (l’inserimento di un filmato flash) non venga presa in considerazione da nessuno e l’unico modo di venirci a capo è utilizzare raggiri o javascript..

    @Alessandro: grazie mille della dritta, e-mail ricevuta! :)

Lascia il tuo commento

 

http://livregratis.fr/ - http://club-ebook.fr/