Ce matin, alors que j'écrivais du html et du haml, il m'est venu à l'esprit que la façon dont les divs sont utilisés est ridicule. Pourquoi les divs ne sont-ils pas impliqués? Imaginez si cela:
<div class="hero-img">
<img src="http://whatever.com/this.jpg">
</div>
était-ce:
<hero-img>
<img src="http://whatever.com/this.jpg">
</hero-img>
Si la partie "classe div" de l'élément était supposée, le HTML serait plus sémantique et infiniment plus lisible avec les balises de fermeture correspondantes!
Ceci est similaire à HAML, où nous avons:
.content Hello, World!
Ce qui devient:
<div class='content'>Hello, World!</div>
Il me semble que la seule chose qui devrait se produire pour que cela fonctionne dans les navigateurs est que les navigateurs pourraient commencer à interpréter chaque élément sans qu'une définition d'élément html existante n'implique <div class="<element name>">
.
Cela pourrait être complètement rétrocompatible; pour les sélecteurs CSS et jQuery, etc., "div.hero-img" pourrait toujours fonctionner et être la syntaxe requise pour sélectionner les éléments.
Je connais la nouvelle spécification des composants Web, mais c'est beaucoup plus compliqué que ce qui est suggéré ici. Pouvez-vous imaginer à quel point il serait agréable de regarder la source d'un site Web et de voir du code HTML qui ressemble à ça?!
Alors pourquoi devons-nous utiliser des divs?
Si vous regardez la liste des éléments html5 de Mozilla , chaque élément a une signification sémantique, puis nous y arrivons <div>
et il dit:
"Représente un conteneur générique sans signification particulière."
..et ensuite ils listent les éléments arbitraires qu'ils ajoutent à html5 comme <details>
.
Bien sûr, si ce concept de divisions implicites était ajouté à la spécification html, il faudrait dix ans pour devenir standard, ce qui représente un million d'années en temps Web.
Je pense donc qu'il doit y avoir une bonne raison pour laquelle cela ne s'est pas encore produit. S'il te plait, explique moi!