Таблицы для разметки — ловушка
Почему таблицы для разметки сбивают с толку пользователей программ чтения с экрана.
«Таблицы для разметки — ловушка» — бесплатный урок Web Accessibility Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Web Accessibility Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Web Accessibility Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Tables Were Once Used for Layout
Years ago developers built page layouts with the table element. That habit lingers in old code and still causes real accessibility harm today.
Why Layout Tables Hurt
A screen reader treats every table as data. It announces rows, columns, and cell counts for your layout, drowning users in meaningless structure.
Reading Order Goes Wrong
Layout tables often scatter content into cells in a confusing sequence. The visual order and the reading order drift apart, leaving users lost.
Use CSS for Layout
Modern layout belongs to CSS. Reach for flexbox or grid to arrange a page, and keep the table element only for genuine tabular data.
.cards { display: grid; grid-template-columns: 1fr 1fr; }Flexbox for One Dimension
When you line items up in a row or a column, flexbox is the natural tool. It adapts to content without any table semantics getting in the way.
.row { display: flex; gap: 1rem; }Grid for Two Dimensions
For rows and columns together, CSS grid gives you a true layout system. It separates how a page looks from what its markup means.
Semantics Stay Clean
With CSS layout, your HTML can use real landmarks like header, nav, and main. Screen reader users get a meaningful map instead of cell counts.
The Last Resort: role=presentation
If you truly cannot remove a legacy layout table, add role=presentation. It strips the table semantics so assistive tech ignores the grid.
<table role="presentation"> ... </table>Presentation Is a Patch, Not a Plan
Treat role=presentation as a temporary bandage. The real fix is migrating to CSS, which removes the problem instead of merely hiding it.
How to Spot a Layout Table
No caption, no th, and cells holding whole sections rather than values are red flags. That pattern almost always signals a layout table to refactor.
One Table, One Purpose
Ask a simple test of any table: does it present data with rows and columns of related values? If not, it is a layout table and CSS should replace it.
Quick Check
You inherit a page that uses a table purely to position columns of content.
Recap: Tables for Data, CSS for Layout
Never lay out a page with a table. Use flexbox or grid, reserve table for real data, and treat role=presentation only as a stopgap on legacy code.
Часто задаваемые вопросы
Урок «Таблицы для разметки — ловушка» бесплатный?
Да — полный текст урока «Таблицы для разметки — ловушка» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Web Accessibility Academy, подпишись на CoddyKit PRO. Курс Web Accessibility Academy содержит 4 уроков всего.
Чему я научусь в уроке «Таблицы для разметки — ловушка»?
Почему таблицы для разметки сбивают с толку пользователей программ чтения с экрана. Ты практикуешь Web Accessibility Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Web Accessibility Academy?
Предыдущий опыт не требуется. Web Accessibility Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Таблицы для разметки — ловушка»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Web Accessibility Academy?
Да. Каждый урок Web Accessibility Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- th, scope и элемент caption
- Правильные заголовки строк и столбцов
- Сложные таблицы: связывание headers и id
- Таблицы для разметки — ловушка