30 votes

Le balisage sémantique est-il trop ouvert ?

Je jette un coup d'oeil à Plongez dans le HTML5 . Cela semble agréable et intéressant, mais je suis perplexe.

Dans les années 1990, à l'époque où Netscape était le navigateur et où HTML était HTML2 ou HTML3, il y avait beaucoup de balises : adresse, citation, code... La plupart d'entre elles sont inutilisées à ce jour, probablement même obsolètes.

HTML5 introduit des balises pour exprimer la "signification sémantique" de la balise elle-même. Tout cela est très amusant, mais je vois quelque chose de très étrange dans cette approche. Techniquement, la sémantique peut être très ouverte. HTML5 possède des balises pour l'article, l'heure, les barres de navigation, le pied de page. Pourquoi ne contiendrait-il pas des balises pour l'icône de l'article, le lieu de l'auteur, son nom et son prénom, ou tout autre élément auquel vous souhaitez attribuer une sémantique spécifique (je suis confiant ) ? <rant> y <nsfw> seraient des balises très importantes) : ? Je pensais que XML était la stratégie pour attribuer une sémantique aux choses. Rien n'interdit de placer un morceau de XML sous une balise XHTML et lui attribuer une feuille de style afin de le styliser correctement, ou déléguer au visualisateur approprié le traitement de cet espace de nom (par exemple, lors du traitement de l'élément RSS o SVG ).

En conclusion, je ne comprends pas la raison de ces extensions centrées sur la sémantique, alors qu'il est clair que la sémantique est un sujet très large, qui est garanti de nécessiter une quantité potentiellement infinie de balises sémantiques. Puisque je suis sûr qu'il y a des gens intelligents chez W3C Je pense que je me trompe, mais j'aimerais savoir pourquoi.

26voto

Trickster Points 2286

Pourquoi les balises pour l'article, l'heure, les barres de navigation, le pied de page sont-elles utiles ?

Parce qu'ils facilitent l'analyse syntaxique pour les outils de traitement de texte comme Google.

Il ne s'agit pas de sémantique (du moins au sens large). Ils disent simplement : voici le corps de la page (la partie de texte la plus importante) et voici la barre de navigation pleine de liens. Avec une telle approche, vous pouvez facilement extraire ce dont vous avez besoin.

8voto

Vilx- Points 37939

Moi aussi, je déteste la façon dont le W3C s'y prend avec ses spécifications. Il y a beaucoup de choses que je n'aime pas, et cette mode de la "sémantique" en est une. (Les autres incluent le fait de prendre une éternité pour compléter leurs spécifications et de laisser trop de détails importants aux navigateurs pour qu'ils les implémentent comme ils le souhaitent).

Et surtout, je n'aime pas ça parce que cela rend mon travail de développeur web plus difficile. Je dois souvent choisir entre rendre la page Web "sémantiquement correcte" ou "visuellement/esthétiquement agréable". Ce dernier choix l'emporte bien sûr, car c'est ce que veulent les utilisateurs, mais en conséquence, les validations commencent à échouer et l'ensemble devient assez peu sémantique (tableaux pour la mise en page et autres choses).

Un autre problème qui me chiffonne est qu'ils ont officiellement déclaré que l'attribut "class" est destiné à la sémantique, mais qu'ils l'ont ensuite utilisé pour les sélecteurs de présentation visuelle en CSS.

En bref - NE PAS MÉLANGER SÉMANTIQUE ET REPRÉSENTATION VISUELLE . Si vous utilisez un mécanisme pour décrire la sémantique (comme les noms de balises, les valeurs d'attributs, etc.), ne l'utilisez pas à des fins fonctionnelles/visuelles et vice versa.

Si je concevais le HTML, j'ajouterais simplement un attribut "semantic" qui pourrait (comme l'attribut "class") être ajouté à n'importe quelle balise. Il y aurait alors un certain nombre de valeurs prédéfinies comme tous ces en-têtes/footers/articles/citations/etc.

Les étiquettes définiraient la fonctionnalité. En gros, on pourrait réduire les balises HTML à une poignée, comme "div", "table/tr/td", "a", "img", "form", "input" et "select". J'en ai probablement oublié quelques-unes, mais c'est l'essentiel. Le style visuel sera réalisé par le biais de CSS.

De cette façon, les trois domaines - sémantique, représentation visuelle et fonctionnalité - seraient complètement indépendants et ne se heurteraient pas dans les solutions réelles.

Bien sûr, je ne pense pas que le W3C s'intéresse aux solutions pratiques...

4voto

GSto Points 13106

Il y a déjà beaucoup de sémantique dans le balisage HTML sous forme de classes et d'ID, dont les possibilités sont (presque) infinies, et chacun a sa propre façon de gérer cette sémantique. L'un des objectifs de HTML5 est d'essayer d'apporter une certaine structure à tout cela. Vous serez toujours en mesure d'étendre la sémantique des balises avec des classes et des ID. Cela facilitera aussi très probablement les choses pour les moteurs de recherche.

3voto

Tim Haynes Points 41

Regardez-le sous l'angle d'une tentative de faire des déclarations soit sur la page, soit sur les objets référencés depuis la page. Si vous voyez une balise <footer>, tout ce que vous pouvez dire, c'est "ce qu'il y a ici est un pied de page" et passer outre. En tant que tel, l'ajout de balises personnalisées n'est pas une solution aussi générique que l'ajout d'attributs et la possibilité pour les gens d'utiliser leur propre choix d'URI pour spécifier des prédicats et éventuellement des valeurs - RDFa l'emporte haut la main parce que vous pouvez exprimer tout triple déclaration que vous aimez de RDF dans une page, d'une manière ou d'une autre.

2voto

artlung Points 13433

Je veux juste répondre à une partie de votre question. Vous dites :

Dans les années 90, à l'époque où Netscape était le navigateur et le html était HTML2 ou HTML3, il y avait beaucoup de balises : adresse, citation, code... La plupart d'entre elles sont inutilisées à ce jour, probablement probablement même obsolètes.

Il existe un grand nombre de balises en html, mais le manque d'utilisation ne signifie pas qu'elles sont obsolètes. En particulier, les balises d'en-tête <h1> etc, et <ul> , <ol> sont utilisés pour joindre des éléments dans des listes d'une manière que je considère sémantique. De nombreuses personnes n'utilisent peut-être pas les balises de manière sémantique, mais l'effort de création de ces balises est très important. microformats est une continuation de l'idée que vous considérez comme un artefact des années 1990. Les efforts pour rendre le toile sémantique L'idée d'être un gagnant continue de faire son chemin, bien que la recherche en texte intégral et l'analyse des liens (sous la forme de Google) soient les gagnants en ce qui concerne la manière de trouver et de comprendre le web.

Il serait formidable de voir une version actualisée de Les statistiques Web de Google qui montrent "html comme elle est parlée". Mais vous avez raison de dire que de nombreuses balises sont sous-utilisées.

La question de savoir si html5 sera un succès est ouverte et intéressante, mais les balises que vous décrivez comme obsolètes ne sont pas allées n'importe où, elles étaient là en HTML 4.01 y xhtml . HTML5 semble être un effort pour solidifier ce qui est utile dans les balises. En fin de compte, si html5 obtient le soutien des navigateurs et facilite le travail des développeurs web, il sera couronné de succès. xhtml2 a échoué parce qu'il n'a pas réussi à être adopté par les navigateurs et n'a rien fait pour faciliter le travail des créateurs de pages Web. Les forces qui travaillent sur html5 semblent parfaitement conscientes de l'échec de xhtml2, et je pense qu'elles évitent que html5 ne subisse le même sort.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X