Если это - структура:
<table cellspacing="0" cellpadding="0">
<tr>
<td>I don't need anything here, should I always put a here?</td>
<td>item </td>
</tr>
<tr>
<td>model</td>
<td>one</td>
</tr>
<tr>
<td>model</td>
<td>two</td>
</tr>
<tr>
<td>model</td>
<td>three</td>
</tr>
</table>
Как программа для чтения с экрана считает пробел td
? Это семантически корректно?
ИМХО семантически правильно было бы оставить пустую ячейку на самом деле пустой. Однако я тоже заполняю пустые ячейки числами
из прагматических соображений.
Что касается программ чтения с экрана, я должен сделать обоснованное предположение: пустые узлы, скорее всего, не будут прочитаны, потому что HTML состоит в основном из текстовых узлов с пробелами, которые читатели игнорируют, и я предполагаю, что
сворачивается в простое пространство в приложениях для чтения (поскольку неразрывность является свойством визуальных медиа).
Для визуального отображения можно полагаться на свойство таблицы CSS empty-cells
:
table {
empty-cells: show;
}
Благодаря таким редакторам, как Dreamweaver, эта практика стала своего рода стандартом, так что даже если это не идеальное решение - по крайней мере, вы выиграли не будьте одиноки в этом. Кроме того, он более совместим со старым браузером, чем CSS empty-cells
.
нет ничего, что точно говорило бы, что вам не следует использовать пустой TD, и он проходит, когда вы пытаетесь проверить.
Хотя более элегантным подходом было бы использование colspan.
т.е.
<tr>
<td colspan="2">item </td>
</tr>
Но это выровняет ваш контент по левому краю, и вам придется вручную (через css) применять стили, чтобы контент был выровнен там, где вы хотите.
Использование его с colspans хорошо то, что программы чтения с экрана будут читать только то, что там есть, а не пустые места