CSS3: quando diventeranno uno standard?

Lo scarso supporto alle specifiche CSS3: ci vorrà ancora del tempo prima che diventino uno standard.

Se siete interessati allo sviluppo con i CSS, avrete sicuramente sentito parlare dei CSS3 e delle novità introdotte dal W3C. Migliore gestione delle colonne di un layout, nuove proprietà riguardanti ombre dei testi, nuovi selettori e la possibilità di utilizzare i Web Fonts sono solo alcuni dei miglioramenti previsti.

Sono in molti ad aspettare l’introduzione di questi aggiornamenti su tutti i browser, ma la cosa non sarà così semplice. La verità è che i CSS3 non diventeranno uno standard ancora per molto tempo.

Perchè i CSS3 non sono uno standard

Il motivo fondamentale è uno, e potreste già conoscerlo: Internet Explorer 6. Finchè sarà utilizzato questo browser, sarà necessario considerarlo a meno che non si voglia rinunciare ad una buona percentuale di utenti. Realizzando siti tecnici o altri progetti particolari è possibile non curarsi della minoranza che ancora lo utilizza, ma se lavorate in una web agency o avete clienti non troppo scaltri, è facile trovarsi ancora davanti IE6.

Le ragioni dell’ancora ingombrante presenza di Explorer 6 sono da cercare nel fallimento di Windows Vista. Il nuovo sistema operativo della Microsoft poteva facilitare la diffusione di IE7, ma non è stato così. Vista non ha spinto gli utenti ad effettuare l’upgrade come è successo in passato da Windows 98 a Windows XP, e le conseguenze adesso si accusano anche sul web.

Come utilizzare i CSS3

In questi casi l’unica soluzione resta il progressive enhancement, utilizzando le proprietà dei CSS3 solo con i browser più recenti (Firefox 3, Safari, Opera). L’importante è fornire comunque un CSS di base ad Internet Explorer, in modo che la visualizzazione non dia problemi. Le proprietà nuove non verranno considerate, senza interferire con il resto.

A seconda del target di utenti del vostro sito, potrete così fornire un’esperienza migliore ad una percentuale di lettori in costante aumento.

Organizzare i Feed RSS

Come ottimizzare la presentazione dei Feed RSS sul proprio sito, per dare sempre più scelta ai propri utenti.

Se avete un sito, è buona norma offrire ai propri lettori la possibilità di iscriversi al Feed RSS per seguire tutti gli aggiornamenti senza difficoltà. In molti casi è sufficiente fornire un unico feed, ma anche con un semplice blog potrebbe essere interessante dare più libertà di scelta.

Un esempio è la pagina RSS della Apple, che offre ben 68 feed diversi a cui abbonarsi.

E’ sicuramente un caso limite, ma niente vieta di applicare questa pratica al proprio sito, ricordando che più possibilità si offrono ai lettori, più facilmente si riuscirà ad attirare la loro attenzione.

WordPress ad esempio offre diverse opzioni a riguardo:

  • il feed generale, utilizzando il template tag bloginfo con l’opzione rss2_url
  • il feed dei commenti, con il template tag bloginfo e l’opzione comments_rss2_url
  • i feed di tutte le categorie, con il template tag wp_list_categories

Se volete offrire ai vostri lettori più modi per farvi seguire, dopo aver messo in evidenza il feed principale sulla home, considerate l’ipotesi di creare una pagina apposita in cui presentare ben organizzati tutti i feed RSS secondari. Potrete inserire anche altre fonti come Flickr o Delicious.

In conclusione, ricordate che tutti i browser più recenti sono in grado di riconoscere se un sito offre dei Feed RSS. L’importante è dichiararne la presenza nel codice delle pagine, come ho spiegato in un mio articolo di qualche tempo fa.

Un nuovo progetto: TomStardust Diary

La creazione e lo sviluppo del mio nuovo blog personale, ancora in costruzione, che vedrà la luce nei prossimi mesi dopo una fase di beta privata.

TomStardust Diary - Homepage
Come anticipato qualche giorno fa, è arrivato il momento di annunciare il mio nuovo progetto, che riguarderà da vicino anche i lettori più fedeli di questo sito.

Cos’è TomStardust Diary?

Come è facilmente intuibile dal titolo, si tratta di un nuovo blog su piattaforma WordPress, che ho intenzione di aprire prima possibile, molto probabilmente a Settembre. TomStardust.com è destinato esclusivamente ad argomenti tecnici, e sto sentendo la necessità di crearmi un nuovo spazio dove poter parlare delle altre mie passioni, in quello che sarà molto semplicemente un blog personale.

Ovviamente non tratterò gli stessi argomenti, ma parlerò soprattutto di cinema, libri, musica, e qualsiasi altra cosa sarebbe stata off topic da queste parti.

E’ possibile vedere già qualcosa?

Assolutamente sì. Ho caricato su Flickr la prima bozza della homepage: non è detto che sia definitiva in tutti i suoi particolari, ma può servire a dare un’idea di come sarà TomStardust Diary.

Ho in programma di realizzare almeno un nuova bozza per le pagine interne, che troverete sempre sulla mia pagina di Flickr appena sarà pronta.

Come funziona il progetto?

Fino all’apertura ufficiale il sito TomStardust Diary sarà chiuso al pubblico. Ci sarà però un’eccezione: fornirò infatti l’accesso agli iscritti alla newsletter di TomStardust.com, che potranno seguire la realizzazione del tema e gli sviluppi della sua messa online. In questo momento le prime mail dovrebbero già essere arrivate a destinazione.

Ogni volta che ci saranno degli aggiornamenti sul tema WordPress a cui sto lavorando, provvederò a mettere immediatamente online la nuova versione, anche se avrà parti mancanti ed ovviamente non sarà perfetta. Attualmente ho dato forma all’header, il codice php è da sistemare, e c’è solo la base del CSS: è un primo punto di partenza.

Voglio permettere di seguire il mio lavoro in tutte le sue fasi a chi è interessato: dalla creazione dell’HTML alla scrittura del CSS, seguendo la bozza grafica caricata su Flickr. Basterà collegarsi al nuovo indirizzo e vedere i progressi fatti giorno dopo giorno.

Se volete partecipare al progetto, iscrivetevi alla Newsletter e riceverete immediatamente i dati per accedere.

Se avete ricevuto username e password, potete utilizzarli subito per entrare su TomStardust Diary.

Feedback e commenti

Una delle cose che mi interessa di più è poter avere un giudizio sul lavoro che sto svolgendo, ancora prima di pubblicare il sito completo.

Se volete raccontarmi le vostre impressioni o farmi sapere cosa pensate del mio modo di lavorare, potete farlo quando volete tramite i commenti di questo post, che resterà il punto di riferimento per il progetto TomStardust Diary. Potete anche scrivermi in privato, utilizzando il modulo contatti.

Flash e i motori di ricerca

Il difficile rapporto tra Flash ed i motori di ricerca, analizzando i principali motivi per cui non dovrebbe essere usato per i contenuti.

Dopo l’annuncio di Google della migliorata indicizzazione dei contenuti Flash, diverse persone avranno pensato ad una rivoluzione del web.

In realtà le cose non stanno esattamente così, perchè Flash se utilizzato in maniera sbagliata continua ad avere grandi limiti. Ispirato da un articolo di SEOmoz, voglio approfondire il discorso mostrando le incompatibilità tra Flash ed i motori di ricerca.

1. Le URL non cambiano con i contenuti

A mio parere è uno dei difetti principali di Flash. Quante volte vi è capitato di navigare su un sito realizzato con questa tecnologia, vedere una pagina interessante e volerla linkare? Vi sarete sicuramente accorti che l’unica cosa possibile è indicare la URL della home fornendo le istruzioni per arrivare alla pagina desiderata: scomodo ed inefficiente.

2. Non si guadagnano link esterni

Questa è una conseguenza diretta del primo punto, ed una grave penalizzazione. Considerando che i motori di ricerca si basano anche sui link esterni per ordinare i risultati, realizzare un sito in Flash significa al massimo riuscire a posizionare la propria homepage e niente altro.

3. I testi spesso non sono formattati e ordinati

Molto dipende da chi ha realizzato il Flash, ma spesso i contenuti testuali non rispettano l’ordine logico con cui appaiono nella pagina. Inoltre è difficile trovare dei testi organizzati semanticamente, come accade nell’HTML.

4. Le regole SEO di base spesso non vengono seguite

E’ possibile realizzare delle animazioni Flash e, osservando alcune regole di massima, cercare di farle indicizzare correttamente. Un suggerimento potrebbe essere caricare i contenuti formattati tramite un xml esterno. Nella maggior parte dei casi però chi sviluppa non conosce o non segue queste indicazioni, rendendo impossibile il lavoro dei motori di ricerca.

5. Molti contenuti Flash non vengono comunque indicizzati

Anche rivolgendo la massima attenzione nella realizzazione di un Flash, non avrete garanzie che il vostro lavoro venga indicizzato dai motori di ricerca. Un esempio pratico riguarda Google, che non riesce ancora ad indicizzare i file .swf inclusi tramite SWFObject.

Conclusioni

Uno dei modi migliori per utilizzare Flash resta quello a scopo decorativo: realizzare animazioni ed effetti particolari spesso può essere fatto solo con questa tecnologia. E’ vero che Javascript ci ha riservato numerose sorprese a riguardo, ma non c’è niente di male ad usare Flash per questo.

L’importante è tenere presente che Flash non andrebbe mai utilizzato per i contenuti delle vostre pagine. Se non volete essere penalizzati nei risultati ottenuti, non usatelo per testi, titoli o menu di navigazione, anche se avete intenzione di fornire un’alternativa testuale.

Save The Developers: IE6 sparirà?

E’ nata un’iniziativa che ha l’obiettivo di eliminare Internet Explorer 6. Obbligare gli utenti è l’unica soluzione?

Parlando di browser, il nemico giurato di tutti gli sviluppatori è l’ormai noto Internet Explorer 6. Sembra veramente difficile eliminarlo dai computer di tutto il mondo, soprattutto dopo che la Microsoft ha fatto diventare opzionale l’aggiornamento di IE7.

Da qualche mese è nata un’iniziativa chiamata Save The Developers, che si propone di far sparire IE6 senza troppi mezzi termini. Qualche riga di Javascript, ed il sito che si vuole visitare mostrerà una pagina che suggerisce di scaricare un browser alternativo come IE7, Firefox, Safari o Opera.

Niente velati consigli, ma un vero e proprio muro contro gli utilizzatori del vecchio browser Microsoft. Quasi una moderna vendetta, sulla falsariga dei siti anni ’90 che riportavano la frase “ottimizzato per Internet Explorer 6”.

Sono molti i sostenitori dell’iniziativa, anche se il numero di siti che partecipano attivamente installando lo script non è noto.

Nonostante le buone intenzioni però, non sono d’accordo sul metodo. Conosco bene i problemi relativi allo sviluppo su IE6, e sarei ben contento anche io di vederlo sparire, ma limitare l’esperienza degli utenti a seconda del browser utilizzato non credo sia la scelta corretta. Internet dovrebbe essere accessibile a chiunque, ed uno dei compiti degli sviluppatori è raggiungere questo obiettivo, non ostacolarlo.

Tralasciando i discorsi relativi al calo delle visite e alla perdita degli utenti sopracitati, penso che il problema possa essere risolto solo ad un livello superiore, da parte delle grandi aziende. La Microsoft però ha già dimostrato di non voler forzare il passaggio, e sicuramente il flop di Windows Vista non aiuta (Vista ha obbligatoriamente IE7). Resta da vedere come sarà distribuito Explorer 8, ma per questo ci vorrà ancora del tempo.

Pensate che la strada intrapresa da Save The Developers sia corretta? Io per il momento resto dubbioso, ma qualcosa potrebbe comunque muoversi. Non è un caso che un servizio come il nuovo MobileMe targato Apple non supporti IE6. Il futuro potrebbe essere più roseo per tutti, sviluppatori compresi.

Falso Posizionamento Assoluto

Alla scoperta di un nuovo modo di costruire layout CSS, senza float e posizionamenti assoluti.

A List Apart ha pubblicato un articolo che propone una nuova tecnica di posizionamento con i CSS, chiamata Faux Absolute Positioning. In pratica è un’alternativa ai due metodi più diffusi, il posizionamento con i float e quello assoluto.

Le ragioni della ricerca di un nuovo metodo per la realizzazione di layout CSS sono nella necessità di risolvere problematiche complesse e non così frequenti: si parla di siti dinamici, dove gli utenti possono magari decidere la posizione degli elementi nella pagina, con tutte le difficoltà che ne derivano.

Proprio per questo la tecnica del Falso Posizionamento Assoluto cerca di unire i pregi dei metodi conosciuti, eliminandone i difetti. In realtà non esattamente così, ma approfondiamo l’analisi per capire meglio.

La tecnica

Il codice HTML utilizzato deve servire a costruire una struttura a griglia, con linee orizzontali ed item (che rappresentano le colonne), in questo modo:

<div class="line">
<div class="item" id="item1">
<p>contenuto</p>
</div>
<div class="item" id="item2">
<p>contenuto</p>
</div>
<div class="item" id="item3">
<p>contenuto</p>
</div>
</div>

Sulla tecnica originale è presente un altro div intorno al contenuto, ma ai fini del layout non è rilevante.

Il CSS relativo invece è il seguente:

.line {
float: left;
width: 100%;
display: block;
position: relative;
}
.item {
position: relative;
float: left;
left: 100%;
}

Infine per posizionare ogni item, serve una dichiarazione come questa:

#item1 {
margin-left: -100%;
width: 20%;
}

In pratica per ogni item la posizione viene assegnata tramite un margin-left negativo. Per chiarirvi le idee, ho realizzato un esempio di layout a 3 colonne costruito in questo modo.

Considerazioni

Il vantaggio della tecnica è che ogni elemento viene posizionato facendo riferimento ad un punto ben preciso, cioè il margine destro del layout. Questo è un punto di forza preso direttamente dal posizionamento assoluto, con il vantaggio che gli elementi non vengono estratti dal normale flusso del codice, ed inoltre il contenuto continua a definirne l’altezza, cosa che non succede utilizzando i float.

Il risultato è stabile, rimane valido sia ingrandendo il testo che ridimensionando la finestra, e funziona su tutti i browser senza richiedere nessun hack, nemmeno per IE6.

Sembrerebbe un’ottima soluzione quindi, ma i difetti non mancano. Il più evidente è il gran numero di div utilizzati: se dovete realizzare un layout semplice a 2 o 3 colonne, non usate questo metodo e magari seguite gli esempi di Layout Gala di Alessandro Fulciniti.

Un altro problema riguarda le unità di misura, che devono essere sempre le stesse per posizionare gli elementi. Non potrete combinare percentuali, em, e pixel.

In conclusione, non vedo molte applicazioni per questa tecnica nel lavoro di tutti i giorni, ma per particolari esigenze potrebbe essere un’alternativa da considerare. Tenetela presente per i momenti di difficoltà, almeno finchè non arriveranno i CSS3 con il modulo per i layout a colonne.

Un sito accessibile deve avere codice valido?

Validità e accessibilità: matrimonio inscindibile?

La domanda del titolo è stata fonte di numerose discussioni sulle WCAG 2.0 fin dal 2005, tanto da portare alla creazione di una pagina dedicata alla questione.

Nella nuova versione delle linee guida infatti è stato eliminato il riferimento alla validità del codice come requisito fondamentale: la cosa è logica, se ci pensate. Se le WCAG devono essere delle linee guida sull’accessibilità, non ha senso che il codice valido sia un requisito primario.

Sicuramente la validità è un primo passo verso l’accessibilità di un sito, ma non significa che serva per renderlo accessibile, anzi.

La questione però tocca anche un altro livello, ovvero la funzione “educativa” che dovrebbero avere le WCAG. Eliminando il requisito, molti hanno accusato il Working Group di aver messo in secondo piano il codice valido. In effetti è così, ma solo perchè l’obiettivo principale era un altro, e ci si è voluti concentrare esclusivamente sul tema accessibilità.

Voi cosa pensate a riguardo? A prescindere dal legame tra i due argomenti, credo che raggiungere entrambi gli obiettivi, realizzando siti validi ed accessibili, sia il traguardo ideale. A livello teorico le cose sono separate, ma personalmente mi sarebbe difficile far passare per accessibile un sito con codice non valido.

Nuovo sito TIM: analisi generale

Uno sguardo tecnico al nuovo portale TIM, con particolare attenzione rivolta a grafica, accessibilità, SEO e codice delle pagine.

In questi giorni è stato lanciato il nuovo sito TIM, con nuove funzionalità ed una grafica più curata. Come ho fatto in passato con il sito Feltrinelli, voglio addentrarmi in una veloce analisi per evidenziare pregi e difetti di questa realizzazione.

Faccio notare che questo esame è incentrato soprattutto sull’homepage del sito e non pretende di essere dettagliato: per quello ci sono le analisi tecniche e gli studi di accessibilità, che hanno ben altre modalità.

Grafica: voto 7

Il sito TIM in questa nuova veste appare sufficientemente curato e apprezzabile. Non si è osato molto con i colori, l’unico elemento grafico che emerge sulla home è il banner Flash. Nel complesso comunque la prima impressione è stata positiva.

Accessibilità: voto 5

Al contrario di quello che molti potrebbero pensare, è stata rivolta una discreta attenzione all’accessibilità del sito, ma il lato dolente sono soprattutto le animazioni in flash.

Note positive:

  • Lo slider Javascript in homepage è accessibile anche con js disabilitato
  • Il sito è navigabile anche con le immagini disabilitate

Note negative:

  • Il flash principale sulla home non ha testo alternativo. Al momento appare il testo “Flash top testo sostitutivo”
  • Anche il flash della pagina 119 Area Clienti non ha contenuto alternativo, stessa cosa per altre sezioni
  • I link per ridimensionare il testo si basano su javascript, la funzione non è accessibile con js disabilitato

SEO: voto 3

Questo il punto dolente, ma per i siti famosi è un comportamento diffuso non curarsi del posizionamento: a molti basta puntare sul nome già conosciuto.
Ovviamente non sono d’accordo su questa pratica, perchè i vantaggi di avere un buon posizionamento sarebbero innumerevoli, soprattutto per le pagine diverse dalla home.

  • Gli url sono incomprensibili, la stessa home ha come indirizzo http://www.tim.it/consumer/homepage.do
  • Il title delle pagine è male utilizzato, ed alcune lo hanno uguale
  • Nessuna attenzione è stata rivolta all’ottimizzazione del codice HTML per i motori di ricerca, h1 e altri tag sono inesistenti
  • I meta tag keyword e description sono assenti

Codice XHTML e CSS: voto 4

  • Il div dei contenuti della pagina è successivo al div della sidebar destra
  • Sono presenti troppi CSS inline
  • Il codice XHTML non è semantico, in home non esiste h1, gli h2 sono solo alcuni titoli della sidebar, mentre i titoli dei contenuti principali sono semplici link a dentro dei div.
  • Sono presenti alcuni errori di validazione. Sono però pochi, e nel panorama italiano è cosa quasi da segnalare positivamente.

Conclusione: voto 5.5

Il nuovo sito TIM presenta pregi e difetti. Se meritano una nota positiva l’attenzione ad alcuni dettagli e la grafica, molti altri aspetti potevano essere curati meglio.

Fa piacere comunque vedere che per certi elementi l’accessibilità è stata tutelata, anche se ancora non è sufficiente.

Galleria di effetti Javascript

Una rassegna di Javascript: slider, popup e altre animazioni notevoli.

Javascript e AJAX hanno senza dubbio invaso la rete negli ultimi anni. Se in passato era molto più raro vedere degli effetti sulle pagine web, ormai i framework utilizzabili sono numerosi, ed ancora di più gli effetti disponibili.

Ecco una breve rassegna di soluzioni eleganti, che potrete prendere come fonte di ispirazione.

Coda

Coda - effetto javascript

Il sito di CODA, l’editor per Mac, sarà già noto a molti. Gli effetti Javascript di questa pagina sono due, un elegante popup ed uno slider orizzontale. L’accessibilità è tutelata in parte: le tab restano navigabili anche con Javascript disabilitato, ma non è stata rivolta grande attenzione a questa possibilità.

Mancub

Mancub - screenshot

Questo sito è stata una rivelazione. Semplice ma accattivante, ha un effetto decorativo sul menu di navigazione che invita a giocarci e a soffermarsi più di un momento. E’ presente anche un effetto popup sui siti del portfolio, ed in questo caso con Javascript disabilitato si nota la cura dei dettagli. Le informazioni contenute nel popup appariranno infatti sotto gli screenshot. Ottimo lavoro.

Stragulp

Stragulp - effetto Javascript

Una segnalazione tutta italiana per un effetto slider realizzato con Mootools. Le potenzialità di questo framework mi hanno sempre interessato, anche in questo esempio l’animazione presente è fluida e piacevole da vedere.

Marius Roosendaal

Marius Roosendaal - effetto javascript

Un altro sito più che noto, recentemente rinnovato con un terzo foglio di stile disponibile nello style switcher. Anche in questo caso la libreria utilizzata è Mootools, con il celebre accordion che consente di sfogliare il portfolio.

Conoscete altri effetti Javascript interessanti da segnalare? Fatelo nei commenti, potrebbero emergere altre risorse notevoli.

WCAG 2.0 per un web accessibile

Il W3C ha rilasciato la seconda versione delle linee guida per l’accessibilità del web, invitando gli sviluppatori a seguirne le indicazioni.

Il 30 Aprile 2008 sono state ufficialmente rilasciate come Candidate Recommendation le WCAG 2.0, di cui si parla ormai da diverso tempo.

Sono le linee guida per l’accessibilità dei contenuti, realizzate dal W3C che adesso invita gli sviluppatori ad usarle come riferimento, per testarle all’interno di problematiche quotidiane e verificarne la validità.

La precedente versione è del 1999, ma è ancora adesso un punto di riferimento. Un rinnovamento per seguire l’evoluzione del web era necessario, ma c’è chi non è d’accordo con le nuove scelte del W3C, in certi casi considerato un ente troppo lento e burocratizzato.

Proprio per questo Joe Clark da diverso tempo ha avviato il progetto parallelo WCAG Samurai, per indicare una strada alternativa. La pubblicazione delle WCAG Samurai Errata è avvenuta il 26 Febbraio 2008, ed è da notare come queste linee guida siano in contrapposizione con le WCAG 2.0 appena uscite.

E’ possibile essere d’accordo con le WCAG 2.0 o con le WCAG Samurai Errata, ma non con entrambe.

Avevo già scritto in passato un articolo sulla questione, a voi la scelta sulla strada da seguire. Se volete conoscere la posizione di Joe Clark, vi segnalo il suo post a riguardo.

Personalmente credo che le guerre interne non aiutino gli standard. Sul web le tabelle per il layout ormai stanno scomparendo, ma la maggioranza dei siti e dei portali più famosi ha ancora un markup ridicolo. E’ necessario trovare una via comune per rendere possibile a tutti l’accesso al web, non il contrario.