HTML table caption
Jede HTML-Tabelle kann nur ein caption-Element enthalten. Das öffnende caption-Tag muss direkt hinter dem öffnenden table-Tag stehen, auch noch vor einem colgroup-Tag.
table caption ist ein Block-Tag (mit Zeilenumbruch) und muss geschlossen werden. Innerhalb des öffnenden und schließenden caption-Tags können weitere HTML-Elemente wie p oder div liegen und natürlich auch Links.Natürlich könnte man auch eine HTML-Überschrift – z.B. in einem h3-Tag – über die Tabelle setzen. Aber dann besteht kein semantischer Zusammenhang zwischen der Tabelle und der Überschrift.
Tag | Pegel | Änderung |
---|---|---|
7.11 | 182 | -1 |
8.11 | 177 | -5 |
9.11 | 170 | -7 |
10.11 | 168 | -2 |
11.11 | 170 | +2 |
12.11 | 177 | +7 |
13.11 | 188 | +11 |
HTML table mit caption Markup
<table class="elvis"> <caption> <h4>Pegel DUISBURG-RUHRORT</h4> <img src="" alt="logo"> <p>Quelle: <a href="">…</a></p> </caption> <tr> <th>Tag</th><th>Pegel</th><th>Änderung</th> </tr> <tr> <td>7.11</td> <td>182</td> <td>-1</td> </tr> …
Der Text im caption-Tag erscheint per Vorgabe zentriert über der Tabelle und kann durch HTML-Tags wie strong oder em betont werden, aber auch mit HTML-Block-Elementen wie Header, mit Bildern und CSS-Eigenschaften formatiert werden.
CSS für caption
caption {
caption-side: bottom;
margin-top: 1em;
border-top: 1px solid silver;
font-style: italic;
}
CSS caption-side (top, bottom, initial) entscheidet, ob caption über oder am Ende der Tabelle erscheint. Das alte align-Attribut aus HTML4 gibt es nicht mehr.
Veraltete Attribute für table und caption
align left, right, top-outside, bottom-outside gab es einst in HTML4, aber kein Browser machte mit. Danach wurden die Werte aus dem Standard genommen und sind in HTML5 keine validen Attribute. Einzig CSS caption-side versetzt die Tabellenüberschrift.
Es gab auch ein summary-Attribut für das table-Tag, das aus HTML5 herausgefallen ist. Anstelle von summary soll die kurze Zusammenfassung zum Inhalt / zur Struktur in caption geschrieben werden.
Tabllenüberschrift mit figcaption
Tabellen können innerhalb von figure-Elemente gesetzt werden und das HTML figure mit figcaption wäre ebenfalls geeignet, Erklärungen zur Tabelle abzugeben, ähnlich wie Kästen mit Abbildungen in Fachzeitschriften und Fachbüchern.
Tag | Pegel | Änderung |
---|---|---|
7.11 | 182 | -1 |
8.11 | 177 | -5 |
9.11 | 170 | -7 |
10.11 | 168 | -2 |
11.11 | 170 | +2 |
12.11 | 177 | +7 |
13.11 | 188 | +11 |
Quelle: Wasserstände an schifffahrtsrelevanten Pegeln
<figure> <table class="elvis"> <tr> <th>Tag</th><th>Pegel</th><th>Änderung</th> </tr> <tr> <td>7.11</td> <td>182</td> <td>-1</td> </tr> … <tr> <td>13.11</td> <td>188</td> <td>+11</td> </tr> </table> <figcaption>Wasserstände an schifffahrtsrelevanten Pegeln</figcaption> </figure>
Wenn eine HTML-Tabelle in einem figure-Element sitzt, soll dem figcaption-Tag der Vorzug gegenüber dem caption-Tag der Tabelle gegeben werden.