Служба проверки разметки W3C позволяет редакторам проверять веб-страницы на соответствие стандартам HTML и XHTML . Это полезно для выявления мелких проблем, таких как повторяющиеся названия разделов или идентификаторы цитирования. Хотя большинство основных браузеров допускают многие ошибки и успешно отображают документ, даже если он содержит ошибки, они могут неправильно работать с документами, содержащими ошибки: например, они могут перейти в неправильный раздел или ссылку, если вы щелкните мышью. на вики-ссылке. Таким образом, проверка того, что страница содержит действительный HTML, может исправить эти незначительные ошибки, а также повысить переносимость в необычные браузеры.
Чтобы проверить HTML-код статьи XYZ в Википедии , посетите домашнюю страницу службы и введите текст « //en.wikipedia.org/wiki/XYZ
».
Актуальные вопросы
Эти ошибки требуют исправления разработчика и должны игнорироваться редакторами. При проверке эндемических ошибок убедитесь, что используется пустая страница, например Special: BlankPage .
- Проверка разметки W3C для Special: BlankPage
Любая страница со ссылкой на редактирование:
Bad value edit for attribute rel on element link: Keyword edit is not registered.
Эта проблема не отображается для Special: BlankPage .
Любая страница с файлом (изображением):
Attribute srcset not allowed on element img at this point.
- Это разрешено в соответствии со стандартами жизни HTML .
srcset
позволяет программному обеспечению MediaWiki отображать альтернативные изображения в зависимости от возможностей устройства. Валидатор W3C HTML еще не обновлен для поддержки этого и выдает ошибку.
Любая страница с нестандартным языковым кодом:
Bad value xxx for attribute lang on element a: The language subtag xxx is not a valid ISO language part of a language tag.
- Некоторые Википедии используют коды языков, которые не указаны в RFC 5646. См. Устаревшие и нестандартные языки в Списке Википедий . См. Также Справка: межъязыковые ссылки .
Действительный HTML
В то время как современные браузеры довольно прощают ошибки HTML, недопустимый HTML может вызвать проблемы с доступностью, поисковыми системами и переносимостью. Различные браузеры могут по-разному обрабатывать ошибки, поэтому отображение может отличаться.
Для большинства редакторов создание действительного HTML не является проблемой. Программное обеспечение MediaWiki преобразует вики-разметку в действительный HTML (со случайными ошибками). Английская Википедия использовала HTML Tidy , уже устаревшую библиотеку HTML4, чтобы гарантировать преобразование типичных опечаток и ошибок в правильный HTML4. Однако Tidy не может исправить все проблемы, нет способа отключить его для тестирования, и проверка не покажет проблемы, исправленные Tidy. Кроме того, Tidy планируется удалить из Википедии, поэтому необходимо исправить ранее упущенные ошибки.
Проблемы с переносимостью возникают, когда страницы экспортируются в другие вики, которые не используют HTML Tidy, и обнаруживаются ошибки HTML.
Редакторы, использующие методы ссылок, такие как Footnote3, всегда должны проверять страницы. Использование этих шаблонов позволяет редактору очень легко создавать дублирующиеся идентификаторы HTML, вызывая недействительный HTML и проблемы со ссылками на странице - это, вероятно, самая распространенная проблема проверки в Википедии. Для ручных шаблонов проверка ошибок практически отсутствует.
Редакторы, разрабатывающие шаблоны, всегда должны тестировать различные варианты использования и обеспечивать отображение действительного HTML.
Инструменты проверки
W3C является основной организацией , международные стандарты для интернет они обеспечивают W3C Markup Validation Service . Просто скопируйте полный URL-адрес страницы, которую нужно проверить, и вставьте в валидатор. Также есть фавелет, который вы можете добавить в закладки вашего браузера, который будет проверять текущую страницу.
WDG HTML Validator имеет пакетный режим, который позволяет проверять список URL-адресов.
Sharebox - это пользовательский скрипт, который будет добавлять ссылки для совместного использования и включать инструменты, включая проверку разметки W3C.
Общие диагностики и способы их устранения
В этом разделе приведены примеры диагностики, созданной службой проверки разметки, и предложены возможные исправления. Диагностика производится по строкам и столбцам сгенерированного HTML для страницы. Может быть полезно получить HTML-код, чтобы понять диагностику. Например, если вы используете браузер Firefox , вы можете ввести Control-U, чтобы увидеть HTML.
ID уже определен
- Строка 630, столбец 88 : идентификатор CITEREFBarker2008 уже определен.
... CITEREFBarker2008">Barker, Janice (2008-0
- «Id» - это уникальный идентификатор. Каждый раз, когда этот атрибут используется в документе, он должен иметь другое значение. Если вы используете этот атрибут как перехватчик для таблиц стилей, может быть более подходящим использовать классы (которые группируют элементы), чем id (которые используются для идентификации только одного элемента).
Эта ошибка возникает, если статья содержит несколько вызовов шаблона {{ citation }} с одним и тем же автором и годом; выше ошибка была вызвана статьей, цитируемой два документа, как написано Баркер в 2008 году неоднозначности цитаты, помещая письма после того, как лет ( например , |year=2008a
, |year=2008b
), или с помощью ref=
параметра {{цитата}} .
HTML-идентификаторы необходимы только при использовании сокращенных сносок или ссылок в скобках . Шаблон {{ citation }} всегда генерирует идентификатор HTML; для стиля цитирования 1 это необязательно, и стиль цитирования Ванкувер никогда не создает идентификаторы.
- Строка 93, столбец 231 : идентификатор ref_1 уже определен.
...ence plainlinks nourlexpansion" id="ref_1">1<...
- «Id» - это уникальный идентификатор. Каждый раз, когда этот атрибут используется в документе, он должен иметь другое значение. Если вы используете этот атрибут как перехватчик для таблиц стилей, может быть более подходящим использовать классы (которые группируют элементы), чем id (которые используются для идентификации только одного элемента).
Подобная диагностика возникает, если статья содержит несколько вызовов {{ ref }} с одним и тем же идентификатором, например, два экземпляра " {{ref|1|1}}
". Чтобы решить проблему, используйте разные идентификаторы. Шаблоны, использующие префикс ref_ id, включают {{ ref }}, {{ ref label }}, {{ cref }} и {{ cref2 }}.
Отсутствует замещающий текст
- Строка 135, столбец 108 : обязательный атрибут alt не указан.
...,107" title="Hurricane Ida (2009)" />
- Приведенный выше атрибут необходим для элемента, который вы использовали, но вы его пропустили. Например, в большинстве типов документов HTML и XHTML атрибут «type» требуется для элемента «script», а атрибут «alt» требуется для элемента «img» ....
Эта диагностика может быть результатом использования расширения EasyTimeline , которое не поддерживает специальные возможности и не генерирует альтернативный текст для читателей с ослабленным зрением. Такую проблему можно решить, переделав временную шкалу в виде текста, изображения или карты изображений .
В элементе dl отсутствует требуемый экземпляр дочернего элемента dd
- Строка ошибки 78, столбец 5 : в элементе dl отсутствует требуемый экземпляр дочернего элемента dd.
>
- Модель содержимого для элемента dl:
- Ноль или несколько групп, каждая из которых состоит из одного или нескольких элементов dt, за которыми следует один или несколько элементов dd.
- Модель содержимого для элемента dl:
Списки определений создаются с помощью wikimarkup ;
для определения списка определений и :
определения элемента в списке. Эта диагностика возникает, когда :
отсутствует.
- Отступ создается с помощью
:
разметки. Это создает список определений без дочернего элемента. T6521 - Это также происходит при
;
неправильном использовании для выделения линии жирным шрифтом. Используйте вики-разметку'''
для жирных символов.
Проверка CSS
W3C также имеет валидатор CSS, но это меньшая проблема при редактировании страниц Википедии, поскольку CSS является опцией, а ошибки валидации CSS обычно возникают из-за проблем со скинами, а не из-за проблем на отдельных страницах.
Смотрите также
- Шаблон {{ W3C validation }}