foundation

Списки и таблицы

Выбирайте разметку списков и таблиц для реальных связей данных, включая caption, заголовки и scope ячеек.

Списки выражают группы элементов; таблицы — двумерные связи данных. `ol` — когда порядок меняет смысл, `ul` — неупорядоченные группы, `dl` — пары «термин–значение», `table` — настоящие табличные данные с `caption`, `th`, `scope` и заголовками.

					<table>
  <caption>Продажи Q1 по регионам</caption>
  <thead>
    <tr><th scope="col">Регион</th><th scope="col">Выручка</th></tr>
  </thead>
  <tbody>...</tbody>
</table>
				

На интервью: семантика из смысла данных, а не из желаемого layout.

Типовые ошибки: таблицы для вёрстки вредят адаптивности и a11y; div-сетки для табличных данных заставляют вручную восстанавливать связи.

Компромисс: быстрые layout-хаки против устойчивой семантики — div-сетки быстрее в разработке, но дороже в a11y и поддержке.

Чеклист:

  • Теги списков для групп элементов.
  • Таблицы только для сеток данных.
  • Caption, если помогает ориентации.
  • Связывайте заголовки с ячейками через `scope` или `headers`.