Attributen
Dit element bevat de globale attributen.
colspan | Bevat een niet-negatieve gehele waarde die aangeeft over hoeveel kolommen de datacel zich uitstrekt. De standaardwaarde is 1. Waarden hoger dan 1000 worden afgekapt tot 1000. |
|---|---|
headers | Bevat een door spaties gescheiden lijst van strings, die elk overeenkomen met het id-attribuut van de <th>-elementen die koppen voor deze tabelcel bieden. |
rowspan | Bevat een niet-negatieve gehele waarde die aangeeft over hoeveel rijen de datacel zich uitstrekt. De standaardwaarde is 1; als de waarde is ingesteld op 0, strekt de cel zich uit tot het einde van de tabelgroeperingssectie (<thead>, <tbody>, <tfoot>, ook als deze impliciet is gedefinieerd) waartoe de cel behoort. Waarden hoger dan 65534 worden afgekapt tot 65534. |
Verouderde attributen
De volgende attributen zijn verouderd en zouden niet meer gebruikt moeten worden. Ze worden hieronder gedocumenteerd ter referentie bij het bijwerken van bestaande code en enkel voor historisch belang.
| Bevat een korte, verkorte beschrijving van de inhoud van de datacel. Sommige user agents, zoals spraaklezers, kunnen deze beschrijving vóór de inhoud zelf presenteren. Plaats de verkorte inhoud in de cel en plaats de (langere) beschrijving in het title-attribuut, aangezien dit attribuut verouderd is. Neem bij voorkeur de inhoud op in de datacel en gebruik CSS om overlopende tekst visueel af te knippen. |
|---|---|
| Specificeert de horizontale uitlijning van de datacel. De mogelijke enumerated waarden zijn left, center, right, justify en char. Indien ondersteund, lijnt de waarde char de tekstuele inhoud uit op het teken dat is gedefinieerd in het char-attribuut, met de offset gedefinieerd door het charoff-attribuut. Gebruik in plaats daarvan de CSS-eigenschap text-align, aangezien dit attribuut verouderd is. |
| Bevat een door spaties gescheiden lijst van strings, die elk overeenkomen met het id-attribuut van een groep cellen waarop de datacel van toepassing is. |
| Definieert de achtergrondkleur van de datacel. De waarde is een HTML-kleur; ofwel een 6-cijferige hexadecimale RGB-code, voorafgegaan door een #, ofwel een kleursleutelwoord. Andere CSS-<color>-waarden worden niet ondersteund. Gebruik in plaats daarvan de CSS-eigenschap background-color, aangezien dit attribuut verouderd is. |
| Doet niets. Het was oorspronkelijk bedoeld om de uitlijning van de inhoud op een teken van de datacel te specificeren. Typische waarden hiervoor zijn een punt (.) bij het uitlijnen van getallen of geldbedragen. Als align niet is ingesteld op char, wordt dit attribuut genegeerd. |
| Doet niets. Het was oorspronkelijk bedoeld om het aantal tekens te specificeren waarmee de inhoud van de datacel wordt verschoven ten opzichte van het uitlijningsteken dat is opgegeven in het char-attribuut. |
| Definieert een aanbevolen hoogte voor de datacel. Gebruik in plaats daarvan de CSS-eigenschap height, aangezien dit attribuut verouderd is. |
| Definieert de cellen waarop de kop (gedefinieerd in het <th>-element) betrekking heeft. De mogelijke enumerated waarden zijn row, col, rowgroup en colgroup. Gebruik dit attribuut alleen bij het <th>-element om de rij of kolom te definiëren waarvoor het een kop is, aangezien dit attribuut verouderd is voor het <td>-element. |
| Specificeert de verticale uitlijning van de datacel. De mogelijke enumerated waarden zijn baseline, bottom, middle en top. Gebruik in plaats daarvan de CSS-eigenschap vertical-align, aangezien dit attribuut verouderd is. |
| Definieert een aanbevolen breedte voor de datacel. Gebruik in plaats daarvan de CSS-eigenschap width, aangezien dit attribuut verouderd is. |
Gebruiksopmerkingen
-
<td>mag alleen worden gebruikt binnen een<tr>-element. -
Bij gebruik van de attributen
colspanenrowspanom datacellen over meerdere kolommen en rijen te laten strekken, worden cellen zonder deze attributen (met een standaardwaarde van1) automatisch ingepast in de vrije beschikbare ruimtes in de tabelstructuur die 1x1-cellen beslaan, zoals geïllustreerd in de volgende afbeelding:
OpmerkingDeze attributen mogen niet worden gebruikt om cellen te laten overlappen.
Voorbeelden
Zie <table> voor een compleet tabelvoorbeeld dat gangbare standaarden en best practices introduceert.
Basis-datacellen
Dit voorbeeld gebruikt <td>-elementen samen met andere tabelgerelateerde elementen om een eenvoudige tabel met data over het fonetische alfabet te introduceren.
HTML
Sommige tabelrijen (<tr>-elementen) bevatten zowel kopcellen (<th>-elementen) als datacellen (<td>-elementen). Het <th>-element dat het eerste kind van elke rij is, vormt de eerste kolom van de tabel, waarbij elke <th> de rijkop biedt voor de datacellen in die rij. Elk bijbehorend <td>-element bevat data die is uitgelijnd met de bijbehorende kolomkop en rijkopcel.
Normaal gesproken zou een tabelkopgroep met kolomkoppen worden geïmplementeerd om de informatie in de kolommen makkelijker te begrijpen. De <thead>- en <tbody>-elementen zouden worden gebruikt om dergelijke rijen van koppen en data te groeperen in respectievelijk de tabelkop- en -inhoudsecties. Dit is in dit voorbeeld niet geïmplementeerd om de focus op de datacellen te houden en de complexiteit van dit voorbeeld te verminderen.
<table>
<tr>
<th scope="row">A</th>
<td>Alfa</td>
<td>AL fah</td>
</tr>
<tr>
<th scope="row">B</th>
<td>Bravo</td>
<td>BRAH voh</td>
</tr>
<tr>
<th scope="row">C</th>
<td>Charlie</td>
<td>CHAR lee</td>
</tr>
<tr>
<th scope="row">D</th>
<td>Delta</td>
<td>DELL tah</td>
</tr>
</table>CSS
Er wordt wat basale CSS gebruikt om de tabel en de cellen te stylen. CSS-attribuutselectors en de pseudo-klasse :nth-of-type worden gebruikt om het uiterlijk van de cellen af te wisselen, zodat de informatie in de tabel makkelijker te begrijpen en te herkennen is.
td,
th {
border: 1px solid rgb(160 160 160);
padding: 8px 10px;
}
tr:nth-of-type(odd) td {
background-color: #eeeeee;
}
tr th[scope="row"] {
background-color: #d6ecd4;
}table {
border-collapse: collapse;
border: 2px solid rgb(140 140 140);
font-family: sans-serif;
font-size: 0.8rem;
letter-spacing: 1px;
}Resultaat
Kolom- en rij-overspanning
Dit voorbeeld breidt de basistabel uit het vorige voorbeeld uit met een extra "ABC"-cel.
HTML
Er wordt een extra datacel (<td>-element) geïntroduceerd binnen de eerste rij (<tr>-element). Dit creëert een vierde kolom in de tabel.
Met het rowspan-attribuut overspant de "ABC"-cel de eerste drie rijen van de tabel. De laatste datacellen van de volgende rijen overspannen elk twee kolommen. Dit wordt gedaan met het colspan-attribuut, waardoor ze correct binnen de tabelstructuur worden uitgelijnd. Merk op dat er een extra rij (<tr>-element) aan de tabel is toegevoegd om dit te illustreren.
<table>
<tr>
<th scope="row">A</th>
<td>Alfa</td>
<td>AL fah</td>
<td rowspan="3">ABC</td>
</tr>
<tr>
<th scope="row">B</th>
<td>Bravo</td>
<td>BRAH voh</td>
</tr>
<tr>
<th scope="row">C</th>
<td>Charlie</td>
<td>CHAR lee</td>
</tr>
<tr>
<th scope="row">D</th>
<td>Delta</td>
<td colspan="2">DELL tah</td>
</tr>
<tr>
<th scope="row">E</th>
<td>Echo</td>
<td colspan="2">ECK oh</td>
</tr>
</table>CSS
De pseudo-klassen :first-of-type en :last-of-type worden in de CSS gebruikt om de toegevoegde "ABC"-datacel te selecteren en te stylen.
tr:first-of-type td:last-of-type {
width: 60px;
background-color: #505050;
color: white;
font-weight: bold;
text-align: center;
}
td,
th {
border: 1px solid rgb(160 160 160);
padding: 8px 10px;
}
tr:nth-of-type(odd) td {
background-color: #eeeeee;
}
tr th[scope="row"] {
background-color: #d6ecd4;
}table {
border-collapse: collapse;
border: 2px solid rgb(140 140 140);
font-family: sans-serif;
font-size: 0.8rem;
letter-spacing: 1px;
}Resultaat
Datacellen koppelen aan kopcellen
Voor complexere relaties tussen datacellen (<td>-elementen) en kopcellen (<th>-elementen) kan het gebruik van <th>-elementen met alleen het scope-attribuut onvoldoende zijn voor ondersteunende technologieën, met name schermlezers.
HTML
Om de toegankelijkheid van het vorige voorbeeld te verbeteren en om bijvoorbeeld schermlezers de koppen te laten uitspreken die bij elke datacel horen, kan het headers-attribuut worden geïntroduceerd samen met id-attributen. Elke rijkopcel (<th>-element) die bij de "ABC"-datacel hoort, dat wil zeggen de letters "A", "B" en "C", krijgt een unieke identificatie met het id-attribuut. De "ABC"-datacel (<td>-element) gebruikt vervolgens deze id-waarden in een door spaties gescheiden lijst voor het headers-attribuut.
Het wordt aanbevolen om meer beschrijvende en nuttige waarden voor het id-attribuut te gebruiken. Elke id in een document moet uniek zijn voor dat document. In dit voorbeeld zijn de id-waarden enkele tekens om de focus op het concept van het headers-attribuut te houden.
<table>
<tr>
<th id="a" scope="row">A</th>
<td>Alfa</td>
<td>AL fah</td>
<td headers="a b c" rowspan="3">ABC</td>
</tr>
<tr>
<th id="b" scope="row">B</th>
<td>Bravo</td>
<td>BRAH voh</td>
</tr>
<tr>
<th id="c" scope="row">C</th>
<td>Charlie</td>
<td>CHAR lee</td>
</tr>
<tr>
<th scope="row">D</th>
<td>Delta</td>
<td colspan="2">DELL tah</td>
</tr>
<tr>
<th scope="row">E</th>
<td>Echo</td>
<td colspan="2">ECK oh</td>
</tr>
</table>Resultaat
Hoewel het visuele resultaat ongewijzigd is ten opzichte van de vorige voorbeeldtabel, is elke datacel (<td>) nu expliciet gekoppeld aan de bijbehorende rijkopcel (<th>).
Technische samenvatting
| Inhoudscategorieën | Sectioning root. |
|---|---|
| Toegestane inhoud | Flow content. |
| Weglaten van tags |
De begintag is verplicht. De eindtag kan worden weggelaten als deze direct wordt gevolgd door een <th>- of
<td>-element, of als er geen data meer is in het
bovenliggende element.
|
| Toegestane ouders | Een <tr>-element. |
| Impliciete ARIA-rol |
cell
als afstammeling van een <table>-element, of gridcell
als afstammeling van een element met de rol grid
|
| Toegestane ARIA-rollen | Alle |
| DOM-interface | HTMLTableCellElement |