8
Aby poprawić dostępność tabel, trzeba najpierw uzmysłowić sobie w jaki sposób czytniki ekranu je odczytują. Przede wszystkim czytnik dostarcza użytkownikowi jednowymiarowy widok strony. Nie ma możliwości odczytania tabeli np. od dołu do góry, nie dają one również możliwości przeskakiwania od komórki w górnym rogu, do komórki pośrodku tabeli. Czytnik odczytuje tabelę wiersz po wierszu, rozpoczynając od lewej strony a kończąc na prawej, komórka po komórce(to jest tzw. linearyzacja tabeli). Zatem użytkownik, który „widzi” stronę za pomocą urządzenia czytającego nie jest w stanie np. odczytać tylko interesujących go danych, a pozostałe zignorować.
Przykład odczytu prostej tabeli przez czytnik:
- Wiersz 1 kolumna 1
- Wiersz 1 kolumna 2
- Wiersz 2 kolumna 1
- Wiersz 2 kolumna 2
Jeżeli tabele używane są do prezentacji treści, dla użytkownika nie jest ważne w którym wierszu lub kolumnie aktualnie się znajduje. Inaczej jest w sytuacji, gdy tabela użyta jest zgodnie z jej semantycznym przeznaczeniem – do prezentacji danych. Wówczas niezwykle istotne jest używanie nagłówków kolumn i wierszy. Dzięki temu, przy przechodzeniu do kolejnego wiersz/kolumny użytkownik zostanie powiadomiony, w którym miejscu tabeli aktualnie się znajduje.
Jak zapewnić dostępność tabel:
- Używanie elementów th do zdefiniowania nagłówków tabeli. Ewentualnie można zastosować znacznik td z atrybutem scope np. td scope=”col”, td scope=”row”. Wartość atrybutu określa czy nagłówek jest dla kolumny czy dla wiersza.
- Używanie elementu caption w calu dodania podpisu do tabeli. Jeżeli tabela nie posiada widocznego podpisu, opis należy umieścić w elemencie table w atrybucie title lub summary.
- W przypadku tabel złożonych(więcej niż jeden poziom logiczny) w elementach td należy używać atrybutu headers, np.
Struktura kodu HTML:
Jak widać w artubucie headers należy umieścić nazwy id wszyskich nagłówków, które odnoszą się do danej komórki.
Na koniec ciekawostka: dość dawno temu potępiono używanie tabel do celów zarządzania układem strony. Argumentów przytoczono na ten temat wiele, głównie z dziedziny semantyki. Warto na ten temat spojrzeć również od strony dostępności witryny. Powiedzmy, że mamy taką stronę zbudowaną na tabeli:
Oto w jakiej kolejności zostaną odczytane poszczególne części witryny:
- Baner górny i logo firmy
- Łącze do artykułów
- Nagłówek tekstu wstępnego
- Dane kontaktowe firmy
- Łącze do produktów
- Treść tekstu wstępnego
- Baner reklamowy 1
- Łącze do oddziałów
- Baner reklamowy 2
- Łącze do kontaktu
- Baner reklamowy 3
Nie trzeba dużej wyobraźni by stwierdzić, że dla osoby posługującej się czytnikiem, dostarczona treść będzie trudna do ogarnięcia. Zatem kolejny argument za tym, by zrezygnować z tabel do celów zarządzania układem treść na stronie.