Модуль 2 · Урок 7

Семантичні таблиці даних

Table потрібна, коли values читаються через relationships рядків і колонок. Visual grid без header associations не пояснює ці relationships programmatically, а table для layout спотворює meaning.

Data gridCaptionth + tdscope

Спочатку model, потім markup

  1. Назвіть grain: що означає один data row.
  2. Визначте column headers і, за потреби, row headers.
  3. Перевірте rectangular grid і spans.
  4. Додайте короткий caption, що описує topic/purpose.
  5. Лише після цього пишіть table/tr/th/td.

Проста таблиця з associations

<table>
  <caption>План практики на тиждень</caption>
  <thead>
    <tr><th scope="col">День</th><th scope="col">Тема</th></tr>
  </thead>
  <tbody>
    <tr><th scope="row">Понеділок</th><td>Структура</td></tr>
  </tbody>
</table>

th позначає header cell, td — data cell. scope="col" і scope="row" роблять напрям association явним для простої таблиці.

Структура й складність

MechanismНавіщоМежа
thead/tbody/tfootЯвні row groups і зручне styling/printingСамі по собі не замінюють headers
captionВидима назва/purpose tableНе містить всю інструкцію complex table
scopeSimple row/column/group associationНе завжди достатньо для irregular multi-level headers
id/headersExplicit complex associationsПотребує унікальних IDs і careful review

Не використовуйте table для layout

Розташування hero, cards або columns є presentation-задачею майбутніх CSS modules. Table markup заявляє data relationships.

Практика

  1. Заповніть table-header-map.csv.
  2. Перетворіть перший row starter table на column headers, а weekday cells — на row headers.
  3. Додайте caption і явні row groups.
  4. Прочитайте кожну data cell разом із пов’язаними headers і перевірте HTML validator.

Офіційні джерела

Практична перевірка · урок 7 з 60

Закріпіть матеріал уроку

Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.

1. Коли потрібна HTML table?
2. Чим позначити header cell?
3. Що робить caption?