5542 sujets

Sémantique web et HTML

Bonjour,

Après de longues recherches, sans succès dans les méandres de l'Internet, je me tourne vers vous. Smiley smile

Dans le cadre d'un projet web, je dois mettre en place une série de validations sur la structure de "composant html".

L'idée est de définir une série de composants réutilisable sur l'ensemble du site.
Et générer des tests qui devront vérifier que l'imbrication est bien correcte (balise HTML, class CSS).

Par exemple, la définition d'un header :

<div class="header">
  <h2>titre du header</h2>
  <p>description</p>
  <div class="warning">
    <ul>
      <li></li>
    </ul>
  </div>
</div>


Dans ce cas on doit vérifier que :
• les "warning" sont bien construits dans une div et composés d'une liste ul<li;
• que les "header" sont composé d'un h2 et p, et en option de "warning";
• Que les "warning" se placent toujours dans le bas d'un "header";

Dans l'absolue, je peux écrire ce type de vérification directement en JavaScript.
Mais je me dis qu'il doit bien exister quelque part un standard pour définir la structure de "widget" HTML.

Toutes les idées sont les bien venues! Smiley smile
a écrit :
Mais je me dis qu'il doit bien exister quelque part un standard pour définir la structure de "widget" HTML.


Non, il n'y a absolument rien de standard au-delà de la validation W3C. IL y a tout un ensemble de bonnes pratiques mais il n'y a techniquement aucune obligation.

Par contre il y a problement des outils qui vont des vérifications supplémentaires comme celles que tu proposes. ON peut le faire en javascript, Java, PHP, python, ou n'importe quel langage ayant une bibliothèque DOM. ON peut aussi sûrement le faire en passant par XPath ou les schémas XML.

Cependant, à ma connaissance, il n'y a pas de langage pour les exprimer de manière concise. Ce serait sans doute très utile de pouvoir décrire la vérification que tu proposes avec des règles de ce genre : :

div.header: h2, p, div.warning?;
div.warning: ul;


Après la difficulté avec ce genre de description, c'est de savoir qu'est-ce qu'on doit faire avec ce qui n'est pas précisé explicitement: accepter ? refuser ? supposer qu'on se conforme au stantard HTML5 sans autre contrainte ? Pas forcément facile mais intéressant, parce qu'évidemment l'objectif ne serait pas de réécrire soi-même l'intégralité des règles du validateur W3C.
Modifié par QuentinC (22 Sep 2015 - 15:43)