XHTML1.0 - атрибуты элементов по DTD
или, иначе говоря, если вы объявляете
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
или<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
вы должны исключить из тела документа, несоответствующие типу документа, атрибуты элемента.см. также: XHTML1.0 - элементы по DTD

XHTML1.0 - элементы по DTD
или, иначе говоря, если вы объявляете
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
или<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
вы должны исключить из тела документа, несоответствующие типу документа, элементы.
см. также: XHTML1.0 - атрибуты элементов по DTD

Вставка объекта Flash по стандартам XHTML

Старшинство элементов
<p><div>...</div></p>
Примерное сообщение валидатора: document type does not allow element "div" here; missing one of "object", "applet", "map", "iframe", "button", "ins", "del" start-tag
Раздел (<div>) главнее абзаца (<p>), поэтому такая вложенность тегов не допустима
Как правильно писать:<div><p>...</p></div>

Формы
<input type="text" name="name" value="value" />
Примерное сообщение валидатора: Missing one of ..."div"...
Поля форм обязательно должны быть помещены в элемент блочного типа.
Как правильно писать:<div><input type="text" name="name" value="value" /></div>

Амперсанд ("&")
<a href="index.php?id=1&page=2">...</a>
Примерное сообщение валидатора: Unknown entity...
Всегда использовать & вместо &.
Как правильно писать:<a href="index.php?id=1&page=2">...</a>

Минимизация атрибутов
<dl compact>
<option value="1" selected>...</option>
Примерное сообщение валидатора:
- "compact" is not a member of a group
- the name and VI delimiter can be omitted from an attribute specification only if SHORTTAG YES is specified
XML не поддерживает минимизацию атрибутов. Пары атрибут/значение обязательно должны быть описаны полностью. Имена атрибутов, такие как compact и checked, не могут быть описаны в элементе без определенных значений.
Как правильно писать:<dl compact="compact">
<dl compact="1">
<option value="1" selected="selected">...</option>

Вложенность элементов
<strong><em>...</strong></em>
Примерное сообщение валидатора: Tag for "em" omitted
В XHTML элементы обязательно должны быть закрыты в порядке, обратном их открытию.
Как правильно писать:<strong><em>...</em></strong>

Регистр тегов
<IMG src="image.gif" alt="alt" />
<a href="#null" onClick="window.print()">...</a>
Примерное сообщение валидатора:
- element "IMG" undefined
- there is no attribute "onClick"
Все теги и атрибуты должны быть описаны в нижнем регистре. Это важно, потому как XML регистрозависим и для него <p> и <P> разные теги. (да... многим придётся изменить свои привычки написания кода)
Однако, это не касается значений атрибутов, определяемых авторами страницы (например значения для атрибутов id, name или class), которые также регистрозависимы, но допускают использование символов в верхнем регистре.
<img src="image.gif" alt="alt" />
<a href="#null" onclick="window.print()">...</a>

Все значения атрибутов должны заключаться в кавычки
<img src="image.gif" width=100 height=100 alt="alt" />
Примерное сообщение валидатора: ...attribute value literal...
Это правило существует и в HTML, но практически все браузеры относятся к этому лояльно и многие веб-разработчики перестали соблюдать его.
Хотите пройти валидацию - заключайте все атрибуты в кавычки.
<img src="image.gif" width="100" height="100" alt="alt" />





