Старшинство элементов
<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" />

Все элементы должны иметь закрывающий тег
<img src="image.gif" alt="alt">
Примерное сообщение валидатора: end tag for "img" omitted
Если раньше вы позволяли себе не ставить закрывающий тег для <p>, теперь этот номер не пройдёт. Абсолютно все теги должны быть закрыты.
Более того, существуют, так называемые, "непарные (пустые)" теги - их тоже придётся закрыть. Например: <br/> (для совместимости со старыми версиями браузеров перед слешем ещё придётся поставить пробел <br />)
<img src="image.gif" width="100" height="100" alt="alt" />
<meta name="keywords" content="keywords" />
<hr />
<input type="text" name="name" value="value" />
<div></div>

Alt - обязательный атрибут для img
<img src="image.gif">
Примерное сообщение валидатора: Required attribute "alt" not specified
Даже если вы используете картинку как элемент оформления страницы, alt придётся прописать (можно оставить его пустым)
Как правильно писать:<img src="image.gif" alt="alt" />
<img src="image.gif" alt="" />





