Une grande partie de cela vient à propos, car HTML5 fusionne le successeur de HTML 4 et XHTML 1.x en un seul cahier des charges.
Lorsque XHTML 1.0 a été introduit et les navigateurs ont commencé à expérimenter avec l'aide d'un analyseur XML, elles se heurtent à un problème. Les auteurs ont été utilisés pour la rédaction <table>
s sans <tbody>
s. Depuis un analyseur XML n'est pas autorisé à déduire les balises HTML des analyseurs de fait, la meilleure façon d'aider les auteurs à la transition vers le XHTML (qui semblait être une bonne idée à l'époque), pour obtenir les tables de rendre correctement en autorisant <tr>
s sont les enfants directs d' <table>
à l'intérieur de la DOM. (Le DOM est, autant que possible, les mêmes, indépendamment de savoir si il est originaire de un HTML analyser ou XML parser.) Si les navigateurs de soutien mis en œuvre pour cela.
Maintenant, le HTML5 modèle de contenu est partagé entre le HTML et le XHTML serializations de HTML5, de sorte qu'il doit permettre à la fois des arrangements, c'est à dire avec ou sans tbody.
D'autre part, dans la section sur "La Syntaxe HTML" (qui ne s'applique pas à l'analyseur XML), il est clair qu'un HTML analyser permettra de déduire la tbody balises.
Lors de l' <table><tr><td>my text</td></tr></table>
est servi en text/html
la structure de la table créée dans les DOM aura le tr comme un enfant direct d'un tbody qui est l'enfant direct de la table. Le contenu HTML5 modèle dit que c'est OK.
Lors de l' <table><tr><td>my text</td></tr></table>
est servi en application/xhtml+xml
la structure de la table créée dans les DOM aura le tr comme un enfant direct de la table. Le contenu HTML5 modèle dit c'est aussi OK.
Il est également possible de créer un tr comme un enfant direct de table via des scripts. Pour la même raison, les navigateurs traiter cela comme une ligne de la table comme la plupart des gens s'attendent à.