Gunnar Bittersmann: <label> funktioniert nicht über Tabellenelemente hinweg

Beitrag lesen

@@Der Martin

(col darf nicht mehr Kind von table sein.)

Durfte es das je? Ich dachte, col sei nur als Kind von colgroup erlaubt.

Genauso wie in XHMTL 1.x tr Kind von table sein durfte, also nicht in tbody geschachtelt werden musste, durfte auch col Kind von table sein, musste also nicht in colgroup geschachtelt werden. [XHTML 1.0]

<!ELEMENT table
     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>

In HTML 4.01 durfte col auch Kind von table sein (allerdings war tr nie Kind von table; die Tags von tbody waren optional). [HTML 4.01]

<!ELEMENT TABLE - -
     (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>

Aus der verquassten Prosa von HTML5 werde ich nicht so recht schlau. Scheinbar scheint tr als Kind von table erlaubt zu sein; allerdings sind auch die Tags von tbody optional. Und das aus dem HTML <table><tr><td/></tr></table> generierte DOM enthält tbody zwischen table und tr.

Aber auch das Markup <table><col/></table> ist weiterhin erlaubt, denn die Tags von colgroup sind optional. Allerdings ist col nicht Kind von table; das DOM hat colgroup dazwischen.

LLAP

--
„Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)