Accueil

Traduction

Tutoriel HTML - sommaire

Tutoriel HTML5 - recherche

L'auteur : Patrick Darcheville

Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site

HTML5 - autres balises récentes

Outre les balises structurantes évoquées dans un précédent chapitre, la spécification HTML5 propose d'autres nouvelles balises à vocation sémantique.
Je rappelle que la balise STRONG a une valeur sémantique très importante et doit être utilisé pour le SEO.

La balise mark

L’élément mark va être utilisé pour mettre en relief certains textes qui vont être pertinents dans un certain contexte.

Exemple

HTML signifie HyperText Markup Language.
CSS signifie Cascading Style Sheet.
Les acronymes apparaissent sur fond jaune.

Le code correspondant :

Cette balise pourrait avoir un rôle sémantique important dans le cadre du SEO (référencement naturel) ???

La balise TIME

Une balise sémantique !

Avant la norme HTML5 il n'y avait aucune balise pour indiquer que le contenu de l'élément est une date, un instant, une durée.

Cette balise est très intéressante pour le référencement naturel d'une page ; Le robot d'indexation retrouve facilement une date.

Exemple

Le texte est affiché en italique.

Le code HTML correspondant

Le contenu de l'attribut datetime est lu par l'ordinateur mais n'est pas visible pour l'internaute.

Notez à chaque fois l'attribut datetime dont la valeur doit respecteur un certain format pour préciser aux robots s'il s'agit d'une date ou d'une heure voire d'une durée de temps :

Masquer une partie du texte

Pour éviter que la page soit trop longue une partie du contenu peut ne pas être affichée lors du chargement de la page.

La solution CSS

Vous connaissez, je pense, la solution CSS : par défaut la boite contenant le paragraphe a une petite hauteur ; l'éventuel surplus de texte est masqué (overflow : hidden). Mais si survol ou clic de la boite la hauteur de celle-ci devient "auto" donc tout le contenu s'affiche.

Code CSS

Code HTML

Le rendu dans un Iframe

Solution HTML

HTML5 propose une solution élégante : emploi de deux nouvelles balises details & summary

Le rendu

Le code HTML correspondant

La balise summary doit être contenue dans la balise details.
Au chargement de la page seul le contenu à l'intérieur de summary s'affiche et un triangle noir orienté vers la droite s'affiche.
Dès que vous cliquez sur le triangle tout le contenu s'affiche, le triangle noir s'oriente vers le bas.
Cliquez à nouveau sur le triangle, alors le contenu est replié et le triangle retrouve son orientation initiale.

La balise PICTURE

Il est absurde d'afficher sur l'écran minuscule d'un smartphone une image haute résolution (donc une image lourde).
Ces images qui pèsent plus d'un demi méga doivent être réservées aux grands écrans et encore si elles sont affichées "plein écran".
Grâce à la nouvelle balise PICTURE il est possible d'afficher telle ou telle autre image en fonction de la résolution de l'écran. C'est à dire que vous pouvez réaliser au sein de cette balise des tests.

Exemple d'utilisation de cette balise

Dans l'exemple ci-dessous il y a trois versions de la photo :

"aravis_grand.jpg" est l'image d'origine.
"aravis_petit.jpg" est une copie redimensionnée avec PAINT et à laquelle j'ai rajouté un texte : "petite image".
Notez que si vous divisez par 3 le nombre de pixels en largeurs (et en conservant les proportions) le poids de l'image est divisé par 9 !!!
Dans une deuxième étape j'ai rogné l'image à gauche et à droite avec que le rapport largeur par hauteur corresponde mieux aux petits écrans. Et donc en définitive le poids de la petite image tombe à 70 Ko (au lieu de 1200 à l'origine).

PICTURE : élément d'image adaptative

Le col des Aravis en hiver :

Réduisez la largeur de la fenêtre pour observer le changement de source !

Le code correspondant

CSS :

	picture {width : 90% ; margin : 10px auto; }
	img{width : 80%; display : block ; margin : 10px auto; }

HTML :

Si la largeur de la fenêtre est au minimum de 800px alors la source est "aravis_grand.jpg" SINON la source est "aravis_petit.jpg".
Remarquez que la balise PICTURE doit contenir les éléments SOURCE et IMG. La balise IMG précise la source de l'image si le test est faux.
La balise SOURCE a deux attributs au moins : srcset, media.
La valeur de l'attribut media est une requête média ("media query" en anglais).

Exemple plus complexe

Il est possible d'avoir deux tests voir plus.

Le code HTML

Le rendu dans un Iframe

Vous pouvez tester cette page sur votre PC portable puis sur votre tablette puis sur votre smartphone.
Ou bien uniquement sur votre PC en réduisant progressivement la largeur de la fenêtre.

Remarque générale

Il faut faire preuve de bon sens. Il ne faut pas abuser de la balise PICTURE car le code HTML qui en découle est lourd.
Il faut réserver l'emploi de cette technologie aux quelques images lourdes de votre site dont il faut éviter le chargement dans le cadre de internet mobile.

Autres nouvelles balises sémantiques

La balise HGROUP

Vous pouvez maintenant regrouper un élément Hn avec un ou plusieurs éléments P.
La mise en forme CSS est facilitée.

Exemple

Titre du paragraphe

Contenu du paragraphe
Blablabla ...
Blablabla ...
Blablabla ...

Le même style s'applique au titre et à son contenu.

Le code correspondant

La balise FIGURE

Alors que HGROUP regroupe un titre et un paragraphe (ou plusieurs), FIGURE regroupe une image / une vidéo avec une légende.
Cet élément déjà évoqué dans le chapitre précédent.
HTML5 et le multimédia

La balise double data

Permet de transmettre des données numériques importantes à l'ordinateur. Cet élément ne doit pas être confondu avec le nouvel attribut data-*"

Exemple

Aucune "data" n'apparait ...

Le code HTML

Les "data" sont lues par l'ordinateur tout en étant invisibles pour l'internaute ...