Ceci est une traduction. Elle peut avoir des erreurs ou être dépassée par rapport à la version anglaise. Traducteur(-trice): Mark Goeder-Tarant
La page W3C Style contient un élément <blink>. <blink> n'est pas un élément HTML et pourtant la page est valide selon certains validateurs HTML. Comment cela se fait-il ?
En fait, la page est syntaxiquement valide, car l'élément est déclaré dans le document. Du moment que les éléments sont correctement déclarés, la page est valide au sens SGML / XML.
Mais la page n'est pas sémantiquement valide. C'est un document SGML, mais ce n'est pas un document HTML. Il n'y a pas de norme officielle pour définir <blink>.
La page Style W3C utilise un élément non standard pour plaisanter. Si vous connaissez l'histoire de CSS, vous vous souvenez peut-être que l'une des raisons de CSS était justement d'éviter que chaque navigateur n'invente ses propres éléments non standard, tels que <blink>.
Techniquement, l'ajout d'éléments non standard est fait en écrivant une “DTD personnalisée” et en l'incluant dans la première ligne du document (la ligne DOCTYPE). Une DTD personnalisée peut être créée, par exemple en copiant HTML4 DTD et en le modifiant.
Ne le faites pas ! Les documents doivent avoir une signification ainsi qu'une syntaxe correcte. SGML et XML ne définissent que la syntaxe. HTML et XHTML définissent le sens. Si vous ajoutez des éléments qui ne sont pas définis par une norme, vous seul savez ce qu'ils veulent dire. Et dans 20 ou 50 ans, même vous ne le saurez peut-être plus…
Bien sûr, vous pouvez expérimenter, par exemple pour travailler sur de futurs formats Web, mais à part ça vous devriez pas utiliser d'éléments propriétaires.