5568 sujets

Sémantique web et HTML

Bonjour à tous,

Ceci est mon premier post. Je profite du confinement pour me mettre à jour avec le HTML 5.

Ma première question porte sur les balises sémantiques.
Si j'ai bien compris, mise à part <main>, les autres balises peuvent avoir plusieurs occurrences dans un document html.
Il est donc nécessaire de pouvoir les positionner sur la page. Si ces balises sont définissable en CSS, j'ai lu que l'on n'appliquait pas de class. Dans ces condition, comment définir les positionnement de chaque occurrence ?

Avant le HTML 5, j'avais pris pour habitude d'utiliser un <div> pour définir le format (marge intérieure et extérieure, largeur,...), de ma page. Cela dit, ce n'est peut-être pas une bonne pratique. Comment procédez-vous et est-ce toujours applicable avec le HTML 5 ?

Par avance, merci.

Bonne journée.
Après réflexion, faut-il continuer à utiliser les balises <div> encadrant les balises sémantique, pour gérer leur positionnement à travers des class ?
Administrateur
Hello Smiley smile

johansenn a écrit :

Ceci est mon premier post. Je profite du confinement pour me mettre à jour avec le HTML 5.

Excellente idée !

johansenn a écrit :
j'ai lu que l'on n'appliquait pas de class.

Où as-tu lu cela ? C'est faux : ces éléments se traitent comme n'importe quels autres éléments. Tous les éléments HTML peuvent disposer de classes.

johansenn a écrit :

Avant le HTML 5, j'avais pris pour habitude d'utiliser un &lt;div&gt; pour définir le format (marge intérieure et extérieure, largeur,...), de ma page. Cela dit, ce n'est peut-être pas une bonne pratique. Comment procédez-vous et est-ce toujours applicable avec le HTML 5 ?.

Avant (et pendant HTML), l'élément <body> représente très bien la fonction de "page web" (avec marge intérieure et extérieure, largeur,...), mais rien n'empêche en effet d'ajouter un enfant <div> si cela te semble nécessaire Smiley cligne

johansenn a écrit :
Après réflexion, faut-il continuer à utiliser les balises &lt;div&gt; encadrant les balises sémantique, pour gérer leur positionnement à travers des class ?

Les "balises" sémantiques se suffisent amplement à elles-mêmes. Mais si tu penses avoir besoin d'un div contenant ou conteneur, ce n'est pas très gênant non plus.
Modifié par Raphael (30 Mar 2020 - 12:40)
Bonjour et bienvenue
Les balises sémantiques sont (pour la plupart) des balises qui remplacent des balises <div> qu'on utilisait auparavant.
Par exemple au lieu d'écrire

<div class="chapitre">
  <div class="entete">
    <h2>Le titre du chapitre</h2>
    <img src="image de titre.png">
  </div>
   .........
</div>

J'écris

<section class="chapitre">
  <header>
    <h2>Le titre du chapitre</h2>
    <img src="image de titre.png">
  </header>
   .........
</section>

Ça améliore fortement la lisibilité du code, y compris par les bots, ce qui améliore le référencement.
Pour moi, le principal intérêt c'est que quand je dois modifier une page plusieurs mois voire plusieurs années après l'avoir écrite je retrouve tout de suite mes petits.

Donc la réponse à ta question est "surtout pas".

Je jeu est, chaque fois qu'on a envie d'écrire <div> de se demander quelle est la bonne balise sémantique à utiliser à la place. Il finit par ne plus rester beaucoup de <div> dans mes pages.