Označování buněk tabulky

HTML 4.01 obsahuje poměrně dobrou podporu pro zpřístupnění stránek pro uživatele s různými postiženími. Atributy, které se nyní popíšeme, se hodí především v případech, kdy se tabulka předčítá pomocí hlasového syntetizátoru.

Při hlasové syntéze u delších tabulek je celkem rozumné před každou buňkou zopakovat i kam v tabulce patří – nejlépe zopakováním názvu sloupce nebo řádky, do které buňka patří. Protože názvy buněk se záhlavím mohou být dlouhé, je možné pro potřeby hlasové syntézy uvést zkrácený název buňky v atributu abbr.

<th abbr="Obrat">Obrat z prodeje výrobků</th>

Protože určení toho, která buňka je záhlavím pro jinou buňku, nemusí být vždy jednoznačné, můžeme tyto údaje zapsat přímo do HTML. Pro poměrně pravidelné tabulky můžeme použít u libovolné buňky sloužící jako záhlaví atribut scope. Ten může nabývat jednu ze čtyř následujících hodnot:

row

Aktuální buňka slouží jako záhlaví pro zbytek řádky tabulky.

col

Aktuální buňka slouží jako záhlaví pro zbytek sloupce.

rowgroup

Aktuální buňka slouží jako záhlaví pro zbytek skupiny řádek. (Skupiny řádek se vytváří pomocí elementů thead, tfoot a tbody.)

colgroup

Aktuální buňka slouží jako záhlaví pro zbytek skupiny sloupců.

<table border="1">
<caption>Spotřeba kávy jednotlivých senátorů</caption>
<tr>
  <th scope="col">Jméno</th>   
  <th abbr="Turek" scope="col">Počet šálků turka</th>
  <th abbr="Preso" scope="col">Počet šálků espresa</th>
</tr>
<tr>
  <td abbr="Novák" scope="row">Karel Novák</td>
  <td>5</td>
  <td>10</td>
</tr>
<tr>
  <td abbr="Procházka" scope="row">Jan Procházka</td>
  <td>1</td>
  <td>7</td>
</tr>
</table>

U složitějších tabulek, kdy nelze záhlaví určit tak jednoduše, můžeme použít opačný postup. U každé buňky řekneme, jaké buňky se pro ní chápou jako záhlaví. Buňky obsahující záhlaví musíme v tomto případě označit jednoznačným identifikátorem pomocí atributu id. U buňky pak v atributu headers vypíšeme seznam mezerami oddělených identifikátorů záhlaví.

<table border="1">
<caption>Spotřeba kávy jednotlivých senátorů</caption>
<tr>
  <th id="c1">Jméno</th>   
  <th id="c2" abbr="Turek">Počet šálků turka</th>
  <th id="c3" abbr="Preso">Počet šálků espresa</th>
</tr>
<tr>
  <td id="s1" abbr="Novák" headers="c1">Karel Novák</td>
  <td headers="c2 s1">5</td>
  <td headers="c3 s1">10</td>
</tr>
<tr>
  <td id="s2" abbr="Procházka" headers="c1">Jan Procházka</td>
  <td headers="c2 s2">1</td>
  <td headers="c3 s2">7</td>
</tr>
</table>

U buňky ještě můžeme pomocí atributu axis určit do jakých kategorií buňka patří. Můžeme si tak pojmenovat jednotlivé údaje v tabulce.

<table>
<tr>
    <th></th>
    <th scope="col">Obrat A</th>
    <th scope="col">Obrat B</th>
</tr>
<tr>
    <td axis="datum" scope="row">1994</td>
    <td>12,6 mil.</td>
    <td>3,6 mil.</td>
</tr>
<tr>
    <td axis="datum" scope="row">1995</td>
    <td>11,7 mil.</td>
    <td>5,9 mil.</td>
</tr>
<tr>
    <td axis="datum" scope="row">1996</td>
    <td>8,3 mil.</td>
    <td>9,7 mil.</td>
</tr>
</table>

Tento dokument je určen výhradně pro osobní potřebu seznámení se s jazykem HTML a tvorbou webových stránek. Jakékoliv jiné použití, včetně dalšího šíření, pořizování kopií, použití při školeních a výuce apod. je výslovně zakázáno a bude považováno za porušení autorských práv.


Copyright © 1997–2014 Jiří Kosek
blog comments powered by Disqus