De foarte multe ori vedem in anumite pagini un buton (imagine-link) pe care scrie “Valid XHTML 1.0” si care arata asa:
Ce inseamna asta? Inseamna ca acea pagina ar trebui sa treaca testul, validarea, de pe http://validator.w3.org/. Simplu, nu? Insa ce inseamna, mai exact, aceasta validare? Aceasta inseamna ca HTML-ul care trece validarea respecta anumite standarde, o schema specificata in prima linie a paginii:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Prin introducerea acestei linii (directive) ne impunem respectarea unui animit standard (sau schema), in scrierea codului HTML, in exemplul dat XHTML 1.0 Transitional. Deasemeni in directiva respectiva specificam si un url pentru dtd-ul respectiv: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd – care nu este un hyperlink, ci un mod de a identifica un standard. Insa nu face parte planurile mele de astazi sa scriu despre dtd si standarde, ci doar despre cum se valideaza si de ce ar trebui sa scriem cod HTML care sa fie valid (total sau partial).
O sa incep cu partea simpla: cum se procedeaza pentru a valida un site (sau un cod HTMl local). Serviciul de validare se poate accesa folosind orice browser navigand la http://validator.w3.org/, care aratain momentul in care scriu acest articol asa:

Sunt permie 3 cai de validare: prin indocarea unui url de unde serviciul de validare citeste singur codul HTML asociat unei pagini (Validate by URI), prin uploadarea unui fisier HTML de pe calculatorul celui care doreste validarea (Validate by File Upload) sau validarea prin trimiterea directa (copy/paste) a codului HTML (Validate by direct input). De ce sunt permise 3 cai de validare? Pentru ca uneori e necesara validarea unei pagini care nu a fost inca uploadata pe site. In cazul acesta validarea se poate face prin upload sau prin input direct (copy/paste).
O sa iau un exemplu de site care nu trece validarea si unul de site care trece validarea:
Un exemplu de asa nu este chiar google, care nu trece aceasta validare:

Un exemplu de asa DA ar fi http://w3schools.com/ (nu mi a fost usor sa gasesc un site valid):

La categoria standard nerespectat se mai adaoga si microsoft sau adobe.
Pentru ca e foarte greu, uneori imposibil, de respectat standardul, foarte multi prefera sa nu il respecte, bazandu-se pe capacitatea browserelor de a interpreta cod HTML nestandard. Pana la urma, aceste standarde sunt recomandari, si nu obligatii. In cazul codului compilat, codul scris trebuie sa respecte cu strictete un anumit standard. In cazul HTML standardul e recomandare.
Si arunci de ce ar trebui respectat? Pentru ca respectand standardul codul HTML este mai usor de inteles (pentru designer, html-ist) si greselile pot fi corectate mai usor. Cand trebuie operata o modificare, e mai usor de facut asta pe un cod standard; pentru ca un cod standard are mai multe sanse sa fie randat in toate browserele la fel (relativ) – optimizarea pentru browsere diferite e mai usoara; pentru ca fara standarde am ajunge sa scrie fiecare ce vrea, ar fi o salata de HTML; pentru ca standardele ofera accesibilitate (si persoanele cu diverse probleme ar trebui sa poata folosi internetul etc. Mai multe motive, in engleza, se pot citit aici: http://www.webstandards.org/learn/faq/#p3
Care este un template HTML minim care trece testul? Un exemplu ar fi urmatorul:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Conforming XHTML 1.0 Transitional Template</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> </body> </html>
Pe acest template putem construi o pagina valida. Reguli de scriere HTML valid se pot gasi pe orice site care ofera lectii de HTML (recomand w3school).
De ce cei care scriu cod HTML (designer, webmaster, programator etc) nu respecta standardele? Asa cum am mai spus, e destul de greu si uneori ai nevoie de anumite facilitati pe care browserul ti le permite pentru a iti usura munca de programare, insa care nu sunt standard. Browserele au, in general, capacitatea de a manca orice HTML, scris cu mana sau cu piciorul, scris de profesionisti sau de amatori. Tendinta generala – cel putin in lumea profesionistilor – este sa se scrie cod cat mai apropiat de standard, asta insemnand cu cat mai putine erori de validatie. Asta e si recomandarea pe care eu o fac celor care au in intretinere/cosntructie diverse pahini HTML. Nu e foarte greu sa se repsecte (desi nu e corect o sa formulez asa) macar partial standardul, tinzand spre cat mai putine erori.