Perché ho smesso di validare i CSS

Martedì 14 Ottobre 2008 - 08:34

di Gianluca Brindisi

CSS

Non faccio un test di validazione dei CSS da parecchio tempo, un anno abbondante credo. Non è perché mi sono stancato di correggere gli errori oppure perché non sono in grado di seguire gli standard web, ho smesso perché ho realizzato come validare un foglio di stile sia diventata una trappola.

Gli standard sono forse la cosa più bella mai accaduta sul pianeta Web Design e per un certo periodo di tempo i test di validazione messi a disposizione dal W3C sono stati degli ottimi assistenti per i designer che volevano sviluppare secondo standard. Adesso, almeno quelli per i CSS, sono solo una gabbia.

Mi spiego: i CSS3 probabilmente li vedremo diffusi e completamente implementati tra luuuunghi anni, ciononostante tutti i browser attuali (e con tutti intendo anche Internet Explorer) ci mettono a disposizione alcune implementazioni parziali che teoricamente i designer non dovrebbero usare perché non rispettano gli standard attuali (come i CSS2.0 e CSS2.1) e quindi non passerebbero la validazione.

Se continuassi a validare i mie fogli di stile, ogni volta che sentissi parlare di una nuova implementazione da parte del browser tal-de-tali mi verrebbe in mente soltanto un deprimente “guardare ma non toccare”. Mentre adesso penso subito l’opposto e ho voglia di provare e sperimentare, e spesso qualche esperimento perdura fino al prodotto finale. Dopotutto non è questo il significato di progressive enhancement?

E secondo voi ha più valore un foglio di stile validato, oppure uno non validato perché utilizza qua e là dei -moz-border-radius?

Tags:

Categoria: CSS | Permalink

Commenti

1

Sicuramente voto a favore del progressive enhancement. Senza questo approccio (e ciò vale per qualsiasi disciplina) non ci sarebbe l’evoluzione del web. Va da sè che l’applicazione delle nuove tecniche vada contestualizzato con le richieste, gli obiettivi ed il “probabile” target del cliente (tre cose non sempre coerenti).
Il mio consiglio ? Osate quanto e più che potete… in fondo è solo una pagina web…

# - postato da A. Scotto - 14 Ottobre 2008 - 09:12

2

Scusa il bastian contrario ma…se validi specificando la versione di css che stai usando non dovresti avere problemi di validazione ;)

# - postato da Lauryn - 14 Ottobre 2008 - 09:36

3

Sono totalmente d’accordo, non controllo più la validità dei CSS da tempo, a parte qualche raro caso dove voglio che seguano gli standard.

Nel mio blog personale, uno dei miei ultimi lavori, ho sfruttato alcune proprietà (vedi angoli arrotondati per webkit e gecko) che non avrei potuto altrimenti usare.

# - postato da Tom - 14 Ottobre 2008 - 09:42

4

Utilizzando feature non standard si discriminerebbero i browser che non le supportano e, se si volessero fare le cose per bene, bisognerebbe adattare poi la pagina ad essere gradevole anche senza queste funzioni. E non sarebbe solo del lavoro in più?
Ora, se parliamo degli angoli arrotondati, ci siano o no non fa molta differenza, ma per altre funzioni soprattutto quelle riguardanti il posizionamento o dimensionamento dei blocchi, non credo sia opportuno fregarsene degli standard.

# - postato da Gianluca S. - 14 Ottobre 2008 - 10:14

5

validare un foglio di stile non ha la stessa importanza di un markup validato
quello che conta nel web semantico, non è di certo il css, ma la struttura della pagina

in quanto, come diciamo

“il mio sito deve essere perfettamente funzionante anche con javascript disattivato”

dovremmo dire, e io lo dico

“il mio sito deve essere perfettamente funzionante anche con i css disattivati”

perchè appunto il css non conforme alle raccomandazioni non è così dannoso quanto un markup non standard

ciao

# - postato da Gunn - 14 Ottobre 2008 - 11:52

6

Io personalmente realizzo 4 fogli di stile per ogni sito: uno standard e validato, uno per ie6 (caricato con i commenti condizionali), uno per ie7 (sempre commenti condizionali) e uno per i css3.

In pratica il foglio di stile standard è quello principale a cui vengono applicati i secondari in cascata, in questo modo riesco ad avere un foglio validato senza rinunciare ai css3 ;)

# - postato da Riot - 14 Ottobre 2008 - 15:07

7

Anch’io ho smesso di validare i css da tempo. Tra trasparenze e bordi arrotondati! poi se è necessario utilizzare degli hack ancora peggio!

Si è vero che è brutto fregarsene della validazione, dopo che si predica in lungo e in largo di seguire gli standard ma io trovo che, sì, i browser da un lato fanno quello che vogliono, ma anche i validatori e gli standard devono, o essere più tolleranti, o sfornare un nuovo standard al mese aggiornato e ricco di novità che favoriscano gli sviluppatori e designer. Lo standard odierno è un “freno” da certi punti di vista alla creatività. Se ad esempio il w3c fosse più celere e innovativo ( e sottolineo che non è una critica al consorzio, che lavora bene ) i siti (x)HTML/CSS/Javascript diventerebbero un terreno più facile per i grafici che magari preferiscono usare strumenti più “semplici” ma che permettono maggiore libertà come flash.

Marco Ronchese

# - postato da Marco Ronchese - 14 Ottobre 2008 - 15:11

8

@Gianluca S.
Da quando in qua l’aderenza agli standard garantisce la portabilità? Nel mondo reale non è MAI così purtroppo.
Indipendentemente da ciò che dice il validatore il sito va controllato su tutti i browser principali, di conseguenza quando si parla di validazione non si sta assolutamente parlando di rendere il sito uguale su tutti i browser. Il discorso è un altro.

# - postato da Giacomo - 14 Ottobre 2008 - 15:19

9

sto facendo come te, e proprio per lo stesso motivo, i css3, ormani tanto diffusi ma che non trovano molto ‘appoggio’ da parte del w3c, oppure perchè per un motivo o per un altro ci si trova a miscelare ccs2 con ccs3

# - postato da Francesco - 14 Ottobre 2008 - 16:12

10

il mio pensiero è più in sintonia con quello di @@Gunn.

Il CSS può anche non essere perfetto al 100% purchè il contenuto sia fruibile al 100%.

Comunque rimango dell’idea di seguire sempre e comunque gli standard. In parte perchè si rende più semplice la vita a quei browser più rari che puntano sull’aderenza agli standard (come credo intendesse dire @@Gianluca S.) ed anche per il fatto che (parere mio personale) un effetto grafico in più non porta niente in più ad una pagina web se il contenuto non è di interesse al lettore…

# - postato da Paolo - 14 Ottobre 2008 - 19:36

11

Il ragionamento che fai è probabilmente il più saggio: conosco perchè i miei fogli di stile non vengono validati e decido razionalmente di fare un uso (minimo?) di regole non standard per poter sperimentare.

Diverso è il ragionamento di chi scrive CSS terribili, male ottimizzati e pieni di fuffa e poi si lamenta che non passino la validazione.

Cerco sempre di farli validare, comunque :)

# - postato da Francesco Gavello - 15 Ottobre 2008 - 09:57

12

@Giacomo:
Certo non garantisce la portabilità, ma deve essere la base per la portabilità.

Gli standard sono direttive a cui i browser dovrebbero aderire e con qualche eccezione tendono a farlo.

Tutti gli altri aggiustamenti rivolti a questo o quel browser in particolare possono essere inseriti in fogli di stile aggiuntivi o addirittura caricati dinamicamente, ma se noi che “scriviamo” il web non ci uniformiamo a degli standard (che ci piacciano o no) come possiamo aspettarci che chi “legge” il web si sforzi di seguirli?

# - postato da Gianluca S. - 15 Ottobre 2008 - 11:53

13

Questa della validazione CSS è una questione molto interessante a cui non avevo mai fatto caso… Sinceramente non lo so, per il momento mi astengo.

# - postato da Gabbianone94 - 15 Ottobre 2008 - 14:26

14

Chiedo scusa per la mia carente conoscenza nello specifico ma perchè effettivamente è così importante validare ? Solo per dire ho seguito le regole, o se fossimo in grammatica ho composto corretamente un frase in italiano: soggetto, predicato verbale, complemento oggetto, ecc ? Oppure, se non fosse adesso deletario validare, ci sarebbero dei risvolti e degli effetti pratici, importanti e necessari ?

# - postato da Francesco GuidOlanda - 15 Ottobre 2008 - 17:00

15

perchè tu considero IE un browser ? non ha mai rispettato gli standard e mai lo farà…buttalo.

# - postato da asd - 15 Ottobre 2008 - 17:51

16

e si buttiamo via ie tanto lo utilizza soltanto mezzo mondo…

# - postato da max - 15 Ottobre 2008 - 17:54

17

@Lauryn: il fatto è che i CSS3 ancora non sono uno standard definito, sono per lo più bozze, di cui solo parte implementati. Inoltre esistono implementazioni proprietarie che inizialmente non erano correlate ai CSS3 (come le trasformazioni di Webkit).

L’idea di un foglio di stile seprato per i CSS3, come suggerito da Riot, mi piace moltissimo!

@Francesco GuidOlanda è tanto più importante quanto meno sei pratico a scrivere codice standard. Validare è servito, e serve, per aiutare gli sviluppatori a imparare a scrivere secondo standard.
Dopo che si impara, si dovrebbe andare avanti sperimentando (secondo me, intendiamoci).

Per la natura presentazionale dei CSS, la relativa validazione è facilmente sacrificabile. Ma sareste pronti a dire lo stesso di fronte alla validazione del markup? Dopotutto qualcosa da sperimentare anche li c’è e si chiama HTML5…

# - postato da Gianluca Brindisi - 16 Ottobre 2008 - 00:06

18

A quanto pare non sono l’unico sveglio stanotte ;)

@Gianluca
Ho già preso con difficoltà la scelta di non validare il css ma il markup lo produco, e lo produrrò, sempre standard (xhtml 1.1 per ora). I contenuti devono avere la precedenza e devono essere accessibili al 100%.
Per ora, riguardo al markup, siamo “obbligati” a non inserire la dichiarazione xml per retrocompatibilità, per il resto sono un fan del xhtml semantico e validato.

Al massimo gli esperimenti con html 5, con i nuovi tag come “canvas” o le trasformazioni al massimo le posso implementare dinamicamente con javascript per qualche esperimento o particolare effetto ma non nel codice strutturale della pagina

# - postato da Marco Ronchese - 16 Ottobre 2008 - 00:33

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento