5568 sujets

Sémantique web et HTML

Bonjour,

Je me pose une question par rapport à l'utilisation de l'élément SECTION sur le site de l'agence alsacreation.
Il est plusieurs fois utilisé sans élément de titre (par exemple la page "à propos").

Les specs indiquent bien que :

a écrit :
the section element is appropriate only if the element's contents would be listed explicitly in the document's outline


Merci pour vos éclaircissements
Bonjour,

alsacreation, inconnu au bataillon...

Alsacréations.fr par contre est une entreprise distincte d'Alsacréations.com (même s'il y a certains admin en commun).

Pour ta question, je ne vois pas vraiment son rapport avec la citation que tu donne.
Bonjour,

Oui alsacreation.fr. Je le prend en exemple mais j'ai vu cette pratique sur d'autres sites web.

Par rapport à ma citation, cela veut dire qu'une section se doit d'apparaitre "explicitement" dans l'outline de la page. Hors, sans titre, elle apparait sous la forme : "Untitled Section".
Il est aussi conseillé d'utiliser cet élément avec un titre.

Voici le schéma publié par HTML5 Doctor qui indique aussi cette utilisation.
Extrait de la spec:
http://dev.w3.org/html5/spec/sections.html#the-section-element a écrit :
The section element represents a generic section of a document or application. A section, in this context, is a thematic grouping of content, typically with a heading.

Typically with a heading décrit le cas général, mais n'interdit pas des cas particuliers.
On peut donc avoir des éléments SECTION ne commençant pas par un titre, voire ne comportant pas de titre du tout.

Un peu plus loin, une note déconseille l'utilisation de SECTION à des fins de mise en forme ou de scripting (un DIV suffit), et recommande l'utilisation de SECTION uniquement quand on souhaite faire apparaitre le contenu de la section dans le plan du document.

Le conseil est un peu étrange ou ambigu car:
- en l'absence d'élément SECTION, le contenu apparait tout de même dans le plan du document s'il contient des éléments HN;
- ça dépend de ce que «lister un contenu dans le plan du document» signifie.

Définition d'une section du plan du document (concept séparé de l'élément SECTION lui-même, qui est un moyen de définir explicitement une section mais pas le seul, et il y a de plus des sections implicites définies par les titres):
http://dev.w3.org/html5/spec/sections.html#outline a écrit :
A section is a container that corresponds to some nodes in the original DOM tree. Each section can have one heading associated with it, and can contain any number of further nested sections.

Là encore, pas d'obligation.
Le fait qu'une section du plan n'ait pas de titre n'est à priori pas une erreur. Un agent utilisateur peut restituer cette section dans un plan ou une table des matières avec un titre «Untitled Section», mais ce n'est pas une obligation et ça me semble un mauvais parti pris.

Voilà pour les généralités. Tu penses à des exemples particulier sur alsacreations.fr ou ailleurs?

PS: pas fan du schéma publié par HTML5Doctors. Intéressant et sans doute utile, mais comme toute simplification ça peut être source d'erreur. Smiley smile
Modifié par Florent V. (02 Sep 2010 - 14:10)
Merci Florent !

On va continuer sur alsacreations.fr. Si on passe la page "creation web" à l'outliner, toutes les sections ont un titre sauf 2 (je parle du premier niveau de titres).

En regardant ce résultat, je fais le parallèle avec un livre. On regarde la table des matières et certains chapitres sont sans titre. En tant que lecteur, on trouverait cela perturbant.

Quel intérêt d'apporter autant d'importance à l'outliner dans le HTML5 si c'est pour avoir un plan du document incomplet ?

Effectivement, l'élément <section> n'est pas forcé puisqu'un nouvel élément <h..> induit une nouvelle section.
Carine P a écrit :
En regardant ce résultat, je fais le parallèle avec un livre.

Qui a dit que le parallèle livre/page web était pertinent? Smiley cligne

Une page web, ou une vue d'une application web, ce n'est pas un livre. Les contenus décrits par les titres sont généralement brefs. Certains contenus, que l'on peut vouloir rassembler dans une SECTION, n'ont pas de titre car la nature de ces contenus est implicite.

Je regrette presque qu'il n'y ait pas de mécanisme pour ajouter des titres discrétionnaire à un élément. Par exemple:
<section title="Nos prestations">
  Prestation 1
  Prestation 2
  Prestation 3
</section>

(On notera que c'est valide, et cohérent avec le rôle de l'attribut title dans son usage général. Mais vu que la spec ne dit pas que le @title est à utiliser dans le plan du document, et vu l'implémentation actuelle de @title dans les agents utilisateur, ce n'est pas une solution.)

Carine P a écrit :
Quel intérêt d'apporter autant d'importance à l'outliner dans le HTML5 si c'est pour avoir un plan du document incomplet ?

L'information sémantique «regroupement de contenu», aussi faible soit-elle si elle n'est pas accompagnée d'un label (titre), reste à mon sens intéressante.
Après, rien ne t'empêche de faire des sites où tous les groupes de contenus ont un titre explicite. Tu peux rajouter des <h1>Navigation</h1> et des <h2>Informations complémentaires</h2> dans tes en-têtes et pieds de page si tu le souhaites. Cela pose alors trois problèmes:
- le consultant SEO va pas être content;
- le designer va pas être content et il va falloir masquer ces titres supplémentaires en les positionnant hors de la page (ou autre astuce);
- si ces titres sont masqués, il y a fort à parier qu'ils ne vont pas être mis à jour lors d'évolutions du site, ne vont pas être traduits si le site est traduit, etc.
Merci pour tes explications Florent !

Le parallèle avec le livre était une façon d'imager mon interrogation sur le sujet.

Je n'ai pas encore assez de recul avec le HTML5 pour avoir un avis pertinent, je me pose par contre pleins de questions (comme beaucoup je crois Smiley smile ).... tu m'as en tous cas bien éclairer !