it-swarm.it

Convalida HTML: ne vale la pena?

Quali sono i vantaggi e gli svantaggi (se presenti) di assicurarsi che tutte le pagine vengano convalidate rispetto ad avere un HTML non valido che funziona comunque su tutti i principali browser?

Inoltre, avere un codice HTML valido dopo l'esecuzione di Javascript è altrettanto importante?

52
Thomas Bonini

Penso che valga decisamente la pena di fare , ma non dovresti mai essere schiavo della convalida: è un gioco da pazzi.

http://www.codinghorror.com/blog/2009/03/html-validation-does-it-matter.html

  1. Convalida il tuo HTML. Scopri cosa significa avere un markup HTML valido. Comprendi gli strumenti. Più informazioni è sempre meglio di meno informazioni. Perché volare alla cieca?

  2. A nessuno importa se il tuo HTML è valido. Tranne te. Se vuoi. Non pensare per un secondo che la produzione di HTML perfettamente valido sia più importante della gestione del tuo sito Web, della fornitura di funzionalità che soddisfano i tuoi utenti o del lavoro svolto.

42
Jeff Atwood

Considero un codice HTML valido un obiettivo utile, ma non lo vedo come il principio fondamentale della creazione di buoni siti Web.

Il trucco è che il tuo markup potrebbe essere perfettamente valido, ma potrebbe non essere semantico - ad es. utilizzando le tabelle per il layout o la navigazione. C'è una differenza tra codice valido e codice semantico.

In un'altra nota, se usi pubblicità o script esterni, possono inserire il loro markup che ha la possibilità di rovinare davvero il tuo.

32
Grant Palin

Penso che ne valga la pena, dato che ho cercato molti errori di markup ed errori logici cercando la convalida. È una di quelle cose "necessarie ma non sufficienti". Un markup valido, come il codice che compila (o esegue il checkout tramite JSlint) privo di errori, avvisi e suggerimenti, è un buon primo passo per farlo correttamente.

22
Alan

Il grande vantaggio dell'HTML valido è che la tua pagina è quindi più accessibile a cose diverse dai "principali browser". Tutti i "principali browser" hanno infinite soluzioni alternative per gestire tutta la spazzatura non valida che popola il WWW. Tuttavia, attenersi a un codice HTML valido aiuta, ad esempio, se qualcuno utilizza un browser per non vedenti o accede alle tue pagine offline, ecc.

9
delete

La convalida in sé non è così critica, poiché pochi browser sono conformi al 100% e le specifiche non sono chiare al 100% su come interpretare le regole.

Tuttavia, essere HTML valido ti mette in una posizione migliore per adattare e migliorare il tuo sito. Man mano che gli standard si spostano, in genere migreranno in avanti e se il tuo nuovo sito è valido, l'aggiornamento per supportare l'ultima cosa dovrebbe essere più semplice.

In fondo, essere valido rende più facile rimanere in cima al gioco ed essere il più compatibile possibile con il pubblico più vasto.

8
MrChrister

L'approccio migliore è sapere quale HTML non valido è dannoso e quale HTML non valido non ha importanza.

Ad esempio, dimenticare di chiudere un tag <div> è molto male, perché il layout quasi sicuramente si rovinerà in uno o più browser.

Tuttavia, l'utilizzo di <br> invece di <br /> in XHTML non ha importanza: tutti i browser interpretano entrambi come un'interruzione di riga senza problemi. L'uso dell'attributo target sui collegamenti non è valido, ma lo scenario peggiore è che il browser non apre il collegamento in una nuova finestra.

4
DisgruntledGoat

Un motivo per testare il tuo sito per un codice HTML valido è che garantisce che gli spider dei motori di ricerca saranno in grado di indicizzare e determinare completamente il significato delle tue pagine. Se non possono farlo a causa di HTML non valido (su cui i principali browser possono aggirare per motivi storici), si sta potenzialmente limitando il posizionamento dei motori di ricerca.

Si è anche ipotizzato che mentre i principali motori di ricerca fanno un buon lavoro nel trattare con HTML non valido, possono anche assegnare "punti" di qualità della pagina per la validità, influenzando ulteriormente la tua capacità di classificare quanto merita il tuo contenuto.

3
JasonBirch

Non penso davvero che importi più. Ero uno schiavo della convalida, ora raramente lo controllo. Forse mi sono stancato di assicurarmi che il mio sito fosse valido, o forse non me ne importava più perché nessuno lo farà. Posso garantire che il 99,9% dei nostri visitatori non sa nemmeno di cosa si tratti e se ne preoccupa. Il futuro software del browser potrebbe, ma quando arriverà quel giorno, allora mi preoccuperò.

3
Ben

Quando esegui il validatore, dovrai esaminare gli errori che ti dà caso per caso. La convalida è importante? Per me, sì, è molto importante. Ma è un requisito? No.

Cose come usare lo stesso ID più volte (anziché una classe), inserendo elementi a livello di blocco all'interno di elementi a livello inline (di solito questi elementi non si adattano in questo modo neanche semanticamente), mancando gli attributi alt sulle immagini (scarsa accessibilità per i disabili ), sono tutti importanti. Cose come attributi sconosciuti sui tag sono NON importante. Affatto. I framework Javascript come Dojo o quella terribile barra dei social media Meebo usano attributi personalizzati come hook e le specifiche HTML affermano che questi sono consentiti e che qualsiasi attributo sconosciuto deve essere ignorato. Il validatore non li ignora, tuttavia, genera errori. Questi errori possono essere ignorati.

Durante la convalida, non dare per scontato che se si verificano errori, si sta facendo un errore. La semantica è di gran lunga più importante e succede che l'HTML valido sia il più delle volte il risultato naturale dell'avere una semantica corretta.

3
Bryson

Un punto che nessuno ha ancora menzionato è che l'HTML non valido può causare tempi di rendering più lenti mentre il browser sta cercando di dare un senso all'HTML non standard durante la visualizzazione.

2
BradB

La convalida è utile perché può aiutarti a individuare alcuni errori difficili da rilevare come

<input name=foo value=<?php echo htmlspecialchars($_GET['foo']); ?> />

o comportamento imprevedibile del browser (ad esempio, inserire elementi di blocco in un a può talvolta rompersi in modi brutti in Firefox).

2
Tgr

Alcuni errori di convalida HTML possono causare problemi di layout non ovvi (ad es. Tag erroneamente nidificati/non chiusi), bug JavaScript (ad es. Uso di id più di una volta) e problemi per alcuni utenti (ad es. Non includere un attributo alt significativo o vuoto sulle immagini) .

Se tutte le nostre pagine vengono convalidate, è un bel controllo automatico che puoi fare per escludere le fonti di errori. Se lasci alcuni errori di convalida perché sai che non stanno causando alcun danno, il tuo controllo non è più automatizzato: devi esaminare ogni errore e ricordare che va bene. Personalmente, lo preferisco quando i computer riducono la quantità di lavoro che devo fare piuttosto che aumentarlo.

1
Paul D. Waite

Un punto che nessuno ha menzionato sono i futuri sviluppi del browser. Anche se tutti i browser di oggi gestiscono il markup non valido relativamente bene, potrebbe non essere sempre così.

I produttori di browser in futuro assicureranno che i loro browser funzionino secondo gli standard HTML/XHTML, quindi questo è ciò che anche gli sviluppatori web dovrebbero colpire. Solo perché un particolare bit di markup non valido ora non garantisce che funzionerà nei browser futuri.

1
Loftx

La validità ti aiuta a evitare incompatibilità e aiuta a mantenere il codice mantenibile. I browser recuperano da errori di markup, ma a volte in modi molto poco intuitivi.


  • Basato su DTD (HTML4, XHTML1 @ W3C) - Potrebbe non valerne la pena. DTD è primitivo e, ad esempio, non può verificare la validità della maggior parte degli attributi. Per lo più ti sarà difficile comprendere errori su entità e nidificazione.

  • validatore HTML5 - . Decisamente. HTML5 è più pragmatico e consente alcuni costrutti innocui che erano errori. Il validatore di OTOH Henri è molto più approfondito e migliore nello scoprire problemi reali.


La validità del codice generato da JS potrebbe essere importante, poiché i browser funzionano su DOM, indipendentemente da come è stato creato. Se usi document.write(), devi anche aver cura di ottenere la sintassi corretta (passa attraverso lo stesso parser dell'origine della pagina).

1
Kornel

Anche se il tuo HTML funziona su tutti i principali browser, vale comunque la pena farlo perché a volte può causare problemi con i crawler dei motori di ricerca come googlebot. Ad esempio vedi questo:

http://www.codeproject.com/KB/server-management/Google_Indexing_Problem.aspx

1
Mee

non ci sono svantaggi di avere un HTML valido. c'è una ragione per cui c'è una specifica in primo luogo e perché si stanno facendo molti sforzi per definire come dovrebbero funzionare le cose.

in pratica, tutto ciò che guadagni è soddisfare le specifiche. il che a sua volta significa che i programmi scritti per leggere html (browser, bot) non possono biasimarti per non aver rispettato le specifiche se qualcosa va storto. e alcuni di questi programmi ti danno punti extra (classifica più alta nei motori di ricerca se il bot riporta "soddisfa le specifiche"). se soddisfi le specifiche sarai sorpreso molto meno di sorpresa se alcuni browser non visualizzano il codice HTML rotto nel modo in cui pensi che dovrebbe.

quindi, per soddisfare le specifiche e scrivere HTML valido è un bene per te, senza svantaggi.

1
akira

Google e Bing non hanno, non hanno e non useranno mai la convalida CSS o HTML come fattore di classificazione.

La maggior parte dei siti Web ha dozzine o centinaia di errori e non devi preoccuparti perché tutti i motori di ricerca si preoccupano di come viene visualizzata la pagina. Assicurati solo che il tuo sito Web venga visualizzato correttamente in tutti i principali browser e Google's Fetch .

0
Simon Hayter