Definizione di "professionale"
Indice
Introduzione
Un sito web, per essere considerato quantomeno tale, deve aderire agli standard web dettati dal consorzio W3C. Ciò implica che ogni pagina debba passare — o almeno aspirare di passare — una serie di validatori che controllano la semantica di base.
Per essere considerato professionale deve inoltre essere progettato a layers, cioè a strati opzionali che vengono applicati sul contenuto senza modificarlo, in modo da poter essere tolti senza pregiudicare le informazioni.Suddivisione in layers
La tecnica di sviluppo web appoggiando degli strati opzionali sopra il cuore del sito è conosciuta con il nome di progressive enhancement (arricchimento progressivo).
Di seguito viene riportata la descrizione in dettaglio dei tre layers fondamentali di un sito professionale (contenuto, presentazione e comportamento), prendendo come esempio concreto questa stessa pagina.
Contenuto (HTML)
Il cuore di un sito web è il contenuto: tutto ciò che viene aggiunto è un di più che agevola e ne rende piacevole la consultazione. Senza contenuto un sito è destinato a fallire perché non ha niente da trasmettere.
Un sito professionale deve essere perfettamente navigabile soprattutto a questo livello: questo è ciò che tutti i browser sono in grado di visualizzare, ivi compresi palmari, telefoni cellulari et similia. Inoltre è l'unico layer che può essere letto da un sintetizzatore o trascritto su una tastiera braille (sì, perché anche i non vedenti navigano... dove possono) o tradotto in altre lingue da strumenti automatici.
Il contenuto, come evidenziato nell'esempio, può includere immagini o filmati ma, per le medesime ragioni di accessibilità sopra citate, ogni elemento multimediale deve avere un'alternativa in testo.Questo è l'unico layer analizzato correttamente da ogni webcrawler, i programmi automatici che indicizzano le pagine per i motori di ricerca. Se il contenuto è mal strutturato, incompleto o addirittura inaccessibile, l'intero sito verrà fortemente penalizzato nei risultati delle ricerche.
Un esempio estremamente comune è l'uso del filmato introduttivo che solitamente funge da tappo per il contenuto: un sito del genere avrà da pochissime a nessuna possibilità di diffusione e rimarrà un nodo isolato.
Presentazione (CSS)
La presentazione è da considerarsi come il vestito del contenuto. Il più sopravvalutato tra i layers, negli anni passati è stato il pomo della discordia nella lotta tra i browsers. A tutt'oggi non è raro imbattersi in diciture tipo Best viewed with Explorer, Risoluzione ottimale: 1024x768, Selezionare tipo di connessione o altre amenità del genere.
Una buona presentazione deve essere consistente, cioè il layout della pagina deve essere ben definito. Ciò comporta che i comandi non devono spostarsi ad ogni cambio pagina con stravolgimenti nella struttura grafica: la presentazione deve essere fluente, non deve far diventare un incubo la navigazione.
Un altro importante aspetto è anche in questo caso l'accessibilità, troppo spesso ignorata: si deve poter navigare l'intero sito con la sola tastiera.
Comportamento (JavaScript)
L'aggiunta di automatismi e funzioni ausiliarie interattive può sicuramente migliorare l'usabilità generale di un sito, a patto che non rovini quanto implementato in precedenza.
Per fare ciò viene usato l'EcmaScript (meglio noto con il vecchio nome di JavaScript), un linguaggio di scripting sul lato client, che deve agire esclusivamente a livello presentazione (il contenuto deve rimanere immutato). La tecnica di aggiungere funzionalità ad un sito già completo è nota come unobtrusive javascript (javascript non intrusivo).
In questo sito, per esempio, il JavaScript aggiunge la possibilità di sfogliare interattivamente le pagine disponibili, chiudendo i menu non usati.
Conclusione
Questa è la moderna visione del webdevelopment, nata dalle ceneri di un uso sconsiderato e improprio di una tecnologia comunque rivoluzionaria. Per fortuna i tempi in cui si salvava un documento Word in .html, proclamando di aver pubblicato un sito, sono passati.
Riporto di seguito alcuni links per approfondire l'argomento. Ovviamente tutti i siti elencati seguono la traccia di quanto sopra descritto:
- Web standards — Consorzio di sviluppatori web per la promozione degli standard web;
- Graceful degradation and progressive enhancement — Articolo di 4 pagine che sviscera i due concetti (inclusi cenni storici ed esempi corretti e scorretti);
- Web Accessibility Initiative — Sito di riferimento sull'accessibilità;
- Quality Assurance — Strumenti e documentazione sulla valutazione della qualità di un sito;
- Guida sull'uso del CSS — Traduzione in italiano della tutorial ufficiale sull'uso del CSS;
- Unobtrusive javascript — Breve guida introduttiva;
- The behavior layer — Articolo sul layer comportamento; da notare che in questo sito sono stati implementati più layers di presentazione: uno per la navigazione a video (selezionato per default) e uno per la stampa.
Doveroso il riferimento ad alcuni mostri sacri del moderno sviluppo web:

