Исправление ошибок обнаруженных Validator.w3.org

Главные вкладки

Аватар пользователя Engine Engine 22 февраля 2009 в 8:37

Всем доброго дня!
Есть сайт, при проверке validator.w3.org выдает массу ошибок и предупреждений.
Собственно нужна помощь в устранении...

Комментарии

Аватар пользователя Engine Engine 22 февраля 2009 в 8:44

Давайте по порядку...
Оригинал:

Quote:
Line 2, Column 12: there is no attribute "XMLNS" .
html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru" dir="ltr"

You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Transitional" document type to get the "target" attribute), or by using vendor proprietary extensions such as "marginheight" (this is usually fixed by using CSS to achieve the desired effect instead).

This error may also result if the element itself is not supported in the document type you are using, as an undefined element will have no supported attributes; in this case, see the element-undefined error message for further information.

How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case) and/or check that they are both allowed in the chosen document type, and/or use CSS instead of this attribute. If you received this error when using the element to incorporate flash media in a Web page, see the FAQ item on valid flash.

Примерный перевод Google

Quote:
Строка 2, столбец 12: нет атрибута "XMLNS".
html xmlns= " http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru" dir="ltr"

Вы использовали атрибут назвал выше, в свой документ, а документ, типа вы используете не поддерживает, что атрибут для данного элемента. Эта ошибка часто является причиной неправильного использования "Strict" тип документа с документом, который использует фреймы (например, вы должны использовать "переходным" тип документа для получения "целевых" атрибут), или с помощью продавца собственностью расширений, таких как " marginheight "(это, как правило, устанавливаются с помощью CSS для достижения желаемого эффекта, а).

Эта ошибка также может привести, если элемент сам по себе не поддерживает тип документа вы используете, как неопределенная элемент не будет иметь поддерживает атрибуты, в данном случае, см. элемент-неопределенная ошибка сообщение для получения дополнительной информации.

Как исправить: проверка орфографии и случай элементов и атрибутов, (Помните XHTML все буквы строчные) и / или проверить, что они оба разрешено в выбранный тип документа, и / или использовать CSS вместо этого атрибута. Если вы получили эту ошибку, когда, используя элемент включить вспышку средств массовой информации в веб-страницу, см. пункт FAQ по силе вспышку.

Подскажите, что править

Аватар пользователя penexe penexe 22 февраля 2009 в 9:02

кароче, шаблоны для друпала должны использовать XHTML 1.0 Strict в доктайпе, поэтому меняй

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

на

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

потом у картинки на главной меняй

align="right"

на

style="float: right;"

и все, 0 ошибок

Аватар пользователя Engine Engine 22 февраля 2009 в 9:45

"penexe" wrote:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

теперь так пишет:

Quote:
Line 1, Column 109: DTD did not contain element declaration for document type name .
….org/TR/xhtml1/DTD/xhtml1-strict.dtd">

A DOCTYPE declares the version of the language used, as well as what the root (top) element of your document will be. For example, if the top element of your document is , the DOCTYPE declaration will look like:

"<!DOCTYPE html"

.

In most cases, it is safer not to type or edit the DOCTYPE declaration at all, and preferable to let a tool include it, or copy and paste it from a trusted list of DTDs.

но если до этого было 8 ошибок и 35 предупреждений, то теперь только 3 ошибки дает.

Аватар пользователя Vladimir_VVV Vladimir_VVV 22 февраля 2009 в 11:03

"penexe" wrote:
кароче, шаблоны для друпала должны использовать XHTML 1.0 Strict в доктайпе, поэтому меняй

Это Вы сами придумали?
Такого правила нигде нет, какие хотите те и используйте, проще всего в плане наполнения контента использовать Transitional(для всяких "таргет бланк" и "элайн лефт"). В случае "strict" замучаетесь воевать с наполнителями сайта - проверено!

Аватар пользователя Engine Engine 22 февраля 2009 в 13:20

"Vladimir_VVV" wrote:
В случае "strict" замучаетесь воевать с наполнителями сайта - проверено!

Подробнее плиз...

Аватар пользователя Gildor Gildor 23 февраля 2009 в 2:10

Ну вроде Vladimir_VVV все понятно написал
XHTML 1.0 Strict запрещает использование атрибута target (для тега a), атрибута align, тега iframe и много всего другого. Читать тут http://www.webmakerslounge.com/html/transitional-vs-strict-markup/ (как говорится гуглит).

Аватар пользователя Dark_kz Dark_kz 23 февраля 2009 в 8:28

Как я понял из статьи Transitional это переходная схема, и лучше всего верстать все-таки в Strict, или для всех CMS будем Транс делать?

Аватар пользователя Gildor Gildor 24 февраля 2009 в 21:51

Это не догмат. DOCTYPE должен быть такой, какой вам нужен (по тем или иным причинам).

Другими словами доктайп для человека, а не человек для доктайпа))

В друпал очень много верстки (особенно в сторонних модулях). И многие используют элементы, которые могут быть в strict запрещены. Поэтоу в такой ситуации логичней ставить тип transitional (не даром наверное transitional выбран и для drupal.org и для drupal.ru). Но если у вас не используются ни iframe, ни визуальные редакторы (еще один серьезный источник дополнительной, потенциально не валидной верстки), а так же вам не нужно поддерживать на сайте ранее сверстанный контент (который может содержать не валидные элементы), то можно использовать и strict, как рекомендуемый w3c.