Валидность форм под XHTML 1.1

Одна маленькая тонкость, которую необходимо учесть при переходе на XHTML 1.1

Валидные формы в XHTML

При переводе веб сайта на стандарт XHTML 1.1 приходится решать множество вопросов, связанных с валидностью HTML-кода. Формы являются одним их «крепких орешков».

Так, например, совершенно безобидная форма быстрого поиска для CMF Cotonti

<form id="search" action="plug.php?e=search" method="post">
	<input type="hidden" name="a" value="search" />
	<input type="text" name="sq" id="s1" value="Поиск по сайту..." />
	<input type="submit" value="{PHP.L.Search}" id="s2" title="Искать!" />
</form>

Вызовет у валидатора странный вопрос. Дело в том, что для Strict вариантов XHTML 1.0 и HTML, а также для XTML 1.1 существует ограничение, согласно которому элементы form могут содержать только скриптовые (script) или блочные (block-level) элементы. А поскольку элементы input являются инлайновыми (inline), непосредственно внутри элемента form использоваться они не могут.

Решение проблемы

Все предельно просто: заключим элементы input внутрь блочного элемента p:

<form id="search" action="plug.php?e=search" method="post">
	<p>
	<input type="hidden" name="a" value="search" />
	<input type="text" name="sq" id="s1" value="Поиск по сайту..." />
	<input type="submit" value="{PHP.L.Search}" id="s2" title="Искать!" />
	</p>
</form>

... и получим требуемое: «This document was successfully checked as XHTML 1.1!»

Заинтересовались? Звоните нам по телефонам +375 (29) 774-35-89 и +375 (44) 774-35-89 в Минске. Мы будем рады помочь Вам в реализации Вашего проекта.

К посту «Валидность форм под XHTML 1.1» комментариев пока нет
Добавление комментариев доступно только зарегистрированным пользователям