Avons-nous encore besoin de barres obliques finales en HTML5?

En HTML5, avons-nous encore besoin de la barre oblique comme dans XHTML?

 

validator.w3.org ne s’est pas plaint si je l’ai laissé tomber, pas même un avertissement. Mais certains documents en ligne semblent indiquer que la barre oblique finale est toujours requirejse pour les balises telles que img, link, meta, br, etc.

img balises img sont des éléments annulés et ne nécessitent donc pas de balise de fin.

Zone des éléments nuls, base, br, col, commande, incorporer, hr, img, entrée, keygen, lien, méta, param, source, piste, wbr

Les éléments nuls ne comportent qu’une balise de départ; les balises de fin ne doivent pas être spécifiées pour les éléments vides.

W3C | WHATWG

Cela étant dit, ce n’est pas une parsing ssortingcte en HTML5, donc cela ne fera pas de mal majeur.

Dans HTML 5, la barre oblique de fermeture est facultative sur les éléments void tels que img (j’ajoute ceci car la réponse actuellement acceptée indique seulement: “les balises de fin ne doivent pas être spécifiées pour les éléments nuls”).

Citation de http://www.w3.org/TR/html5/syntax.html#start-tags (numéro 6):

Ensuite, si l’élément est l’un des éléments vides, ou si l’élément est un élément étranger, il peut y avoir un seul caractère “/” (U + 002F). Ce caractère n’a aucun effet sur les éléments vides, mais sur les éléments étrangers, il marque la balise de début comme étant à fermeture automatique.

Nan. HTML ne l’a jamais demandé, même avant HTML5. Si vous envisagez d’utiliser XHTML avec des fonctionnalités HTML, alors oui, c’est nécessaire.

Selon les étiquettes de démarrage, elles sont facultatives.

DEPUIS LE W3C:

Éléments nuls: zone, base, br, col, embed, hr, img, entrée, keygen, lien, meta, param, source, track, wbr

“Les éléments nuls ne comportent qu’une balise de début; les balises de fin ne doivent pas être spécifiées pour les éléments nuls.”

http://www.w3.org/TR/html5/syntax.html#void-elements

TOUS les tags doivent être fermés (soit par auto-fermeture, soit par une action de fermeture séparée). Certains se ferment automatiquement dans HTML4 (comme la ) tandis que d’autres (comme la

) nécessitent des balises de fermeture distinctes. N’oubliez pas que TOUTES les balises doivent être fermées ou que le navigateur (s’il est ssortingct pour la conformité) comporte des erreurs. Cela signifie que même les étiquettes qui n’ont pas de contenu entre l’ouverture et la fermeture DOIVENT être fermées d’une manière ou d’une autre. Ci-dessous, j’examinerai la car elle n’a aucun contenu entre l’ouverture et la fermeture.

En HTML4, il se ferme automatiquement. Cela ne signifie pas qu’il ne se ferme pas, car rappelez-vous que TOUTES les balises doivent être fermées. Il se ferme par sa seule présence. Ainsi, en HTML4, la est simplement:

En XHTML, il ne se ferme PAS automatiquement. Cela signifie que vous devez fournir une balise de fermeture distincte comme ceci:

Puis, en HTML5, quelqu’un est finalement devenu intelligent et a décidé de fermer la balise qui n’a pas de contenu entre l’ouverture et la fermeture, une tâche très simple. Utilisez une seule balise, mais placez une barre oblique avant le signe supérieur, comme ceci:

Ceci est également entièrement compatible avec HTML4. Si vous n’utilisez pas XHTML (qui nécessite une balise de fermeture distincte) et que vous ne savez pas si votre code utilise les normes HTML4 ou HTML5. Votre meilleur pari est de TOUJOURS avoir une barre oblique avant le signe supérieur pour les étiquettes qui n’ont aucun contenu entre l’ouverture et la fermeture. De cette façon, il sera TOUJOURS affiché correctement dans chaque navigateur.

Voici un exemple de code HTML correctement écrit qui est très compatible avec tous les navigateurs.

    test website   

This is a test.