Ваши опасения по поводу того, что input
являются табличными данными или нет, не должны влиять на ваше стремление к действительной разметке XHTML 1.0 Strict.
Независимо от того, является ли input
табличным или нет, это вопрос семантики,не проверка.Не поймите меня неправильно, семантика важна - используемая разметка должна описывать содержимое, которое она содержит.Однако семантика в основном не связана с тем, будет ли код проверяться.
Для input
требования для проверки состоят в том, чтобы он (1) был внутри тега <form>
и (2) был внутри элемента уровня блока, такого как <p>
или <table>
или любой другой элемент уровня блока.
Другая проблема, требующая решения, - это доступность - и таблицы, и формы имеют много проблем с доступностью для программ чтения с экрана и управления с клавиатуры.Способ, которым программа чтения с экрана анализирует таблицу, может не совпадать с тем, как вы предполагали переваривать контент, поэтому пользователь может услышать, что элементы прочитаны им не по порядку, и, таким образом, ваша страница станет для них бессмысленной.Использование элементов управления на клавиатуре для перехода между элементами формы также может зависеть от используемой разметки, поскольку для таблиц может потребоваться поместить элементы в разметке в другом порядке, нежели вы хотите, чтобы пользователь их переварил на странице.
Лично я не верю, что формы являются табличными данными и не используют таблицы при создании разметки для них.Обычно я использую неупорядоченные списки.Общий пример может быть:
<form>
<fieldset>
<ul>
<li>
<label for="item">Item 1</label>
<input type="text" name="item" id="item" />
</li>
...
</ul>
</fieldset>
</form>
Надеюсь, это поможет.