2012-03-26 20 views
14

Nel tentativo di capire se la validazione del W3C può aiutare a migliorare il rendering DOM o se è solo uno standard per la codifica HTML, ho provato a convalidare i siti Web principali, ma tutti falliscono con alcuni errori.Perché i principali siti Web non accettano correttamente la convalida del W3C?

Ecco esempi tipici:

  • google.com 36 Errori, avvisi 2 (s)

  • facebook.com 42 Errori

  • youtube.com 91 Errori, 3 warning (s)

  • yahoo.com 212 errori, 8 warning (s)

  • amazon.com 510 errori, 138 warning (s)

Quando principali siti non sembrano spendere abbastanza tempo per la validazione del W3C, è necessario dedicare del tempo a farlo per i siti web di piccole e medie dimensioni?

+0

Penso che questa domanda contenga effettivamente due argomenti (entrambi interessanti): 1) Devo generare un codice HTML valido? 2) Perché non lo fanno? –

+0

possibile duplicato di http://stackoverflow.com/questions/7940/how-important-is-w3c-xhtml-css-validation-when-finalizing-work –

+0

@TomWijsman Questa domanda non presta attenzione al fallimento dei principali siti web. Razionalmente, è bene passare qualsiasi convalida; ma il punto è perché i principali siti web non lo fanno se è sostanzialmente importante! – Googlebot

risposta

12

La convalida è un problema doloroso. Nei giorni XHTML (pre html5 doctype ubiquity) era quasi impossibile convalidare un layout complesso rispetto alla rigida DTD pubblicata dal W3C. Penso che potresti probabilmente puntare le dita contro IE per essere il principale colpevole, dato che sono stati necessari così tanti e non-standard hack per farlo funzionare in un ragionevole modo cross-browser, e IE era ed è il browser più usato sul pianeta . Ci si deve lamentare che la MS, invece di seguire il comando dato dai motori webkit e gecko, abbia deciso di aggiungere ancora più estensioni del browser e hack per intorbidare le acque, invece di andare per la semplice adesione agli "standard".

Sappiamo tutti che se il tempo non fosse un problema, noi sviluppatori potremmo creare pagine che convalidano, ma in termini pratici, come hanno sottolineato gli altri, la convalida finisce per essere uno strumento utile e non un obiettivo de facto. Se un cliente richiede la convalida, allora c'è un costo in gioco, e questo deve essere spiegato - gestire le aspettative qui è molto importante.

Il Web html è avanzato in brevissimo tempo da semplice motore di layout di testo semantico a applicazioni completamente dinamiche in esecuzione all'interno del browser e gli strumenti di convalida semplicemente non hanno tenuto il passo con questo. Non sono nemmeno sicuro che possano farlo, dato che la tecnologia dei browser sta avanzando quotidianamente, attraverso migliaia o più piattaforme diverse.

Quindi - arrotondando per eccesso, è uno strumento che deve essere utilizzato dagli sviluppatori, ma la tua capacità personale è ciò che determinerà se il progetto è adatto allo scopo o meno. Avere un'icona o una casella verde "ok" in un validatore non definirà assolutamente se un progetto si adatta o meno a questa definizione.

+0

+1 per sottolineare la complessità dei moderni documenti XHTML. – Googlebot

2

A mio parere, il motivo migliore per cui è necessario convalidare le pagine è che si ha la più alta probabilità che la pagina abbia lo stesso aspetto in ogni browser. E minimizzi la probabilità che il layout (o anche qualche logica di Javascript) sia rotto.

+0

La convalida del W3C richiede molti standard che non sono utili nel mondo reale. Ad esempio, non puoi avviare 'id' con i numeri. – Googlebot

+2

@Ali - Difficilmente un grosso problema. Quale esempio del mondo reale ti richiede di iniziare con un numero e non puoi eventualmente prefisso con un personaggio? – thomthom

+0

@thomthom Questo è il punto. È utile passare il tempo a fissare il prefisso. Si noti che questo è stato un esempio. Penso che i principali siti web non passino questo tempo. – Googlebot

3

La convalida è garanzia di qualità a basso costo. Ti aiuterà a individuare gli errori (in particolare gli errori di nidificazione e quelli causati da errori di digitazione di qualcosa). Risparmierà più tempo quindi costa (soprattutto se implementato all'inizio).

Non ho visto alcuna metrica delle prestazioni per le routine di ripristino degli errori nei browser. Sarebbe difficile produrne delle informazioni utili in quanto vi sono così tanti errori diversi.

Problemi correlati