Erreurs de code html
La permissivité des navigateurs
Dans la plupart des langages, la moindre erreur dans le code entraîne une non-exécution de ce code. C'est le cas dans les navigateurs avec le langage css ou avec le langage javascript.
Mais ce n'est pas le cas, avec ces mêmes navigateurs, pour le langage html : vous pouvez faire de nombreuses erreurs dans votre code html et obtenir un affichage correct ou au moins un affichage.
Toutefois le cumul d'erreurs éloigne très vite le rendu de ce qui était attendu. On peut très vite obtenir quelque chose qui ne ressemble pas du tout à ce que l'on voulait.
Exemple : erreur dans l'écriture d'une balise
Corrigez dans le code ci-dessus
la balise fermante (</strong>
),
vous obtiendrez ce qui était voulu dans la fenêtre de rendu :
seul le mot "important" devrait maintenant être formaté
comme attendu (ce formatage est défini en langage CSS entre
les balises <style>
et </style>
).
Un autre exemple : chevauchement de balises
Un élément html (délimité par une balise ouvrante et une balise fermante) peut être contenu dans un autre élément html mais les éléments ne peuvent pas "se chevaucher". En d'autres termes, une structure telle que la suivante est correcte :
Mais le chevauchement comme suit est incorrect :
Le navigateur ne signalera pourtant pas d'erreur et cherchera à interpréter comme il le peut. Mais là aussi, on aura souvent des surprises à l'affichage et le résultat ne sera souvent pas celui qui était désiré : c'est normal, le navigateur ne devine pas vos intentions, il essaie d'afficher comme il le peut en appliquant un algorithme de correction d'erreurs prédéfini.