Как проверить валидность HTML-разметки — Блог HTML Academy
Если вы хотите узнать, что такое валидный код, то вы попали на нужную страницу. Разберёмся, что значит сам термин, как работает валидатор и почему это важно.
Что это и зачем
Валидный HTML-код, валидная разметка — это HTML-код, который написан в соответствии с определёнными стандартами. Их разработал Консорциум Всемирной Паутины — World Wide Web Consortium (W3C). Что именно это значит?
Писать код — это примерно как писать какой угодно текст, например, на русском языке. Можно написать понятно, вдобавок грамотно, а также разбить текст на абзацы, добавить подзаголовки и списки. Так и с валидностью кода. Если вы создаёте разметку, которая решает ваши задачи корректно, то для того, чтобы ваша работа была валидной, в ней стоит навести порядок.
Понятный код — меньше хлопот
Для чего это нужно? Иногда нам кажется, что другие думают как мы. Что не надо стараться объяснять. Но вот нет. Чтобы другие поняли вас быстрее, надо учитывать правила передачи информации. Под другими можно иметь в виду коллегу по команде, а также браузер или компилятор — любое ПО, которое будет работать с вашей разметкой.
Валидность кода определяет то, как будет выглядеть страница или веб-приложение в разных браузерах и на различных операционных платформах. Валидный код по большей части во многих браузерах отображается предсказуемо. Он загружается быстрее невалидного. Валидность влияет на восприятие страниц и сайтов поисковыми системами.
Спецификации кода могут быть разными. Нет универсальной в такой же степени, как и нет абсолютно правильного кода, который работает на всех устройствах и программах правильно. Хотя, сферический вакуумный конь поспорил бы с этим.
Валидатор — это…
Так же, как и с проверкой грамотности языка, HTML-код можно проверять вручную — своими глазами и мозгами, а можно пользоваться и автоматическими помощниками. Это может быть отдельный целостный сервис, а может быть дополнение к браузеру. Первое лучше. Инструменты валидации HTML-кода онлайн облегчают жизнь разработчика, которому не нужно самому вычислять, например, парность скобок.
Как пользоваться валидатором
Рассказываем на примере «родного» валидатора W3C. Этот валидатор используется потому, что его сделали авторы правил, которым должен соответствовать код. Вы можете пройти по ссылке и провести валидацию кода на своём любимом сайте. Будет интересно.
За вами выбор способа проверки. Можно проверять код по ссылке, можно загрузить в сервис HTML-файл, а можно фрагмент кода. В третьем варианте как раз и идёт речь о написанном в окне сервиса коде или скопированной части из разметки всей страницы.
Цепочка действий в два шага. Первый — предоставить исходный код, а второй — нажать на кнопку проверки.
Вы можете пойти дальше и задать дополнительные параметры валидации. Они нужны, чтобы структурировать и детализировать результаты.
Интерпретация результатов валидации
Инструмент валидации оценивает синтаксис, находит синтаксические ошибки типа пропущенных символов и ошибочных тегов и т.д. И отлавливает одну из частых ошибок вложенности тегов.
Часто в результате сервисы валидации разметки, как и компиляторы в разработке, выдают список, разделённый на предупреждения и ошибки. Разница в критичности. Ошибки с максимальной вероятностью могут создать проблемы в работе кода. Это опечатки (да, техника любит точность), лишние или недостающие знаки. А вот к предупреждениям относятся неточности, которые с минимальной вероятностью навредят работе страницы, но не соответствуют стандартам. Это избыточный код, бессмысленные элементы и другие «помарки».
Так выглядит результат валидации HTML-кода на очень простой странице, созданной за пару часов в конструкторе сайтов.
Ошибки и предупреждения собраны в список. В каждом элементе списка указаны значение, атрибут и элемент, которые не устроили валидатор, а также приведена цитата кода с ошибкой.
Сами валидаторы могут ошибаться. То, что не пропускает валидатор, может быть корректно обработано браузером. Так что не обязательно исправлять абсолютно все ошибки в своей разметке. Обращать внимание и уделять время проверке надо при серьёзных ошибках, которые мешают корректной работе сайта и отображению страниц.
Подробнее о валидаторе, правилах построения HTML-разметки, а также другие интересные и важные вещи мы разбираем на интенсивных курсах.
Список на память
- Не стоит путать валидность с абсолютной правильностью.
- Важна каждая запятая и закрывающая скобка, закрытый тег. Глазами это сложно усмотреть всё, поэтому валидатор и придумали.
- Валидаторы проверяют синтаксис. Термин из филологии.
- Редактор, в котором вы пишете код, также можно настроить так, что он будет автоматически закрывать открытые вами теги и сообщать об ошибках ещё до валидации — в процессе написания разметки.
- Алгоритмы любят порядки. Чем лучше написан код страниц на сайте, тем выше сайт продвигается в релевантной выдаче.
Валидный код — гордость верстальщика
Пройдите курсы по вёрстке, чтобы вами гордились все знакомые. 11 глав по HTML, CSS и JavaScript бесплатно.
Нажатие на кнопку — согласие на обработку персональных данных
Обсуждение статьи, вопросы авторам, опечатки и предложения — в телеграм-чате HTML Academy.
как найти ошибки в HTML и CSS
Как проверить CSS и HTML-код на валидность и зачем это нужно.
Разберем, насколько критическими для работы сайта и его продвижения могут быть ошибки в HTML-коде, и зачем нужны общие стандарты верстки.
Что такое валидность кода
После разработки дизайна программисты верстают страницы сайта — приводят их к единой структуре в формате HTML. Задача верстальщика — сделать так, чтобы страницы отображались корректно у всех пользователей на любых устройствах и браузерах. Такая верстка называется кроссплатформенной и кроссбраузерной — это обязательное требование при разработке любых сайтов.
Для этого есть специальные стандарты: если им следовать, страницу будут корректно распознавать все браузеры и гаджеты.
Валидность также касается файлов стилей — CSS. Если в CSS есть ошибки, визуальное отображение элементов может нарушиться.
Разработчикам рекомендуется следовать критериям этих стандартов при верстке — это поможет избежать ошибок в коде, которые могут навредить сайту.
Чем ошибки в HTML грозят сайту
Типичные ошибки кода — незакрытые или дублированные элементы, неправильные атрибуты или их отсутствие, отсутствие кодировки UTF-8 или указания типа документа.
Какие проблемы могут возникнуть из-за ошибок в HTML-коде
- страницы загружаются медленно;
- сайт некорректно отображается на разных устройствах или в браузерах;
- посетители видят не весь контент;
- программист не замечает скрытую рекламу и вредоносный код.
Как валидность кода влияет на SEO
Валидность не является фактором ранжирования в Яндекс или Google, так что напрямую она не влияет на позиции сайта в выдаче поисковых систем. Но она влияет на мобилопригодность сайта и на то, как поисковые боты воспринимают разметку, а от этого косвенно могут пострадать позиции или трафик.
Почитать по теме:
Главное о микроразметке: подборка знаний для веб-мастеров
Представитель Google Джон Мюллер говорил о валидности кода:
«Мы упомянули использование правильного HTML. Является ли фактором ранжирования валидность HTML стандарту W3C?Это не прямой фактор ранжирования. Если ваш сайт использует HTML с ошибками, это не значит, что мы удалим его из индекса — я думаю, что тогда у нас будут пустые результаты поиска.
Но есть несколько важных аспектов:— Если у сайта действительно битый HTML, тогда нам будет очень сложно его отсканировать и проиндексировать.
— Иногда действительно трудно подобрать структурированную разметку, если HTML полностью нарушен, поэтому используйте валидатор разметки.— Другой аспект касается мобильных устройств и поддержки кроссбраузерности: если вы сломали HTML, то сайт иногда очень трудно рендерить на новых устройствах».
Итак, критические ошибки в HTML мешают
- сканированию сайта поисковыми ботами;
- определению структурированной разметки на странице;
- рендерингу на мобильных устройствах и кроссбраузерности.
Даже если вы уверены в своем коде, лучше его проверить — ошибки могут возникать из-за установки тем, сторонних плагинов и других элементов, и быть незаметными. Не все программисты ориентируются на стандарт W3C, так что среди готовых решений могут быть продукты с ошибками, особенно среди бесплатных.
Как проверить код на валидность
Не нужно вычитывать код и считать символы — для этого есть сервисы и инструменты проверки валидности HTML онлайн.
Что они проверяют:
- Синтаксис
Синтаксические ошибки: пропущенные символы, ошибки в написании тегов. - Вложенность тэгов
Незакрытые и неправильно закрытые теги. По правилам теги закрываются также, как их открыли, но в обратном порядке.Частая ошибка — нарушенная вложенность
.
Соответствие кода указанному DTD, правильность названий тегов, вложенности, атрибутов. Наличие пользовательских тегов и атрибутов — то, чего нет в DTD, но есть в коде.
Обычно сервисы делят результаты на ошибки и предупреждения. Ошибки — опечатки в коде, пропущенные или лишние символы, которые скорее всего создадут проблемы. Предупреждения — бессмысленная разметка, лишние символы, какие-то другие ошибки, которые скорее всего не навредят сайту, но идут вразрез с принятым стандартом.
Валидаторы не всегда правы — некоторые ошибки не мешают браузерам воспринимать код корректно, зато, к примеру, минификация сокращает длину кода, удаляя лишние пробелы, которые не влияют на его отображение.
Почитать по теме:
Уменьшить вес сайта с помощью gzip, brotli, минификации и других способов
Поэтому анализируйте предложения сервисов по исправлениям и ориентируйтесь на здравый смысл.
Перед исправлением ошибок не забудьте сделать резервное копирование. Если вы исправите код, но что-то пойдет не так и он перестанет отображаться, как должен, вы сможете откатить все назад.
HTML и CSS валидаторы — онлайн-сервисы для проверки кода
Есть довольно много валидаторов, выберите тот, в котором вам удобнее работать. Мы рекомендуем использовать известные сервисы от создателей стандартов. Если пояснения на английском воспринимать сложно, можно использовать автоматический перевод страницы.
Валидатор от W3C
Англоязычный сервис, онлайн проверяет соответствие HTML стандартам: можно проверить код по URL, залить файл или вставить код в окошко.
Инструмент покажет список ошибок и предупреждений с пояснениями — описанием ошибки и ее типом, а также укажет номер строки, в которой нужно что-то исправить. Цветом отмечены типы предупреждений и строчки с кодом.
Фрагмент примера проверкиВалидатор CSS от W3C
Инструмент от W3C для проверки CSS, есть русский язык.
Проверить HTML можно с помощью браузерных плагинов, к примеру, Web-developer или HTML Validation Bookmarklet для Google Chrome, HTML Validator для Firefox и Google Chrome, Validator или W3C Markup Validation Service для Opera, или другого решения из списка инструментов.
Исправления ошибок и валидации HTML и CSS может быть недостаточно: всегда есть другие возможности испортить отображение сайта. Если что-то не работает, как надо, проведите полноценный аудит, чтобы найти ошибки.
С другой стороны, не зацикливайтесь на поиске недочетов в HTML — если код работает, а контент отображается корректно, лучше направить ресурсы на что-то другое — оптимизацию и ускорение загрузки, например.
Простой HTML-валидатор
Простой HTML-валидаторЭтот Perl-скрипт
проверяет корректность HTML-блоков. Результат выдаётся в удобочитаемой форме с номерами строк
и отступами, показывающими глубину вложения конструкций.
Внимание, это очень старый скрипт. Но был написан лет десять-пятнадцать назад. С тех пор появилось множество качественных средств проверки HTML-кода. Однако, множество людей продолжает пользоваться этим скриптом. Возможно, у них есть на то веские причины, но я бы советовал новым потенциальным пользователям внимательно изучить альтернативные решения. Сам я пользуюсь им очень редко. Хотя, случается.
Сейчас он настроен на очень
строгую проверку. Закрывающий тег должен быть и у тега <p>
, и
у <td>
, и у <li>
, но это легко отрегулировать, чуть подправив код.
Никаких дополнительных модулей этот скрипт не требует.
Новая версия (август 2006) корректно пропускает PHP- и SSI-код.
Но конечно этот код не выполняется. Чтобы проверить корректность
любых динамических документов мой валидатор можно использовать
совместно с программой wget
wget -qO- http://ya.
ru/ | html
или, для более удобного просмотра результатов:
wget -qO- http://ya.ru/ | html | less
Из недостатков:
- Атрибуты тегов не проверяются.
- Никаких ключей программа не имеет. Проверяемый файл либо указывается
в командной строке, либо подаётся на
STDIN
. - Программа проверяет очень строго не только парность тегов.
Она указывает и на ошибочное использование символов
<
,>
. Например, такой код считается ошибочным:
<script type="text/javascript">
if (a>b) {}
</script>
Я не планирую изменять это поведение потому, что такой код действительно ошибочен и в некоторых случаях даже браузеры не могут обойти эту ошибку. Правильное решение — использовать HTML-комментарии
<script type="text/javascript"><!--
if (a>b) {}
// --></script>
или (на худой конец) квотировать запрещённые
символы.
Этот чекер проверяет именно HTML, но не XML.
Он не поддерживает «самозакрывающиеся» теги (такие как <br/>
),
он не поддерживает обработку <!ELEMENT ...>
, он не поддерживает <
***** См. примечания к веб-расширениям ниже ****
Расширение может проверять HTML-код, отправленный сервером, или HTML-код в памяти (после выполнения Ajax).
Подробная информация об ошибках отображается при просмотре исходного HTML-кода страницы.
Расширение основано на Tidy и OpenSP (SGML Parser). Оба алгоритма изначально были разработаны веб-консорциумом W3C. А теперь расширен и улучшен многими людьми.Оба алгоритма встроены в Mozilla/Firefox и выполняют проверку локально на вашем компьютере, не отправляя HTML на сторонний сервер.
У каждого алгоритма есть свои преимущества и недостатки. Программа даст вам выбор при запуске. Но, в основном,
— парсер SGML — это та же программа, что и программа validator.w3.org.
— Tidy имеет проверку доступности для 3 уровней, определенных в WAI
— Онлайн-валидатор W3 для проверки страниц HTML 5
Расширение переведено на 17 языков.
Или на форуме:
http://www.htmlpedia.org/phpBB/
—————————— ——————————
HTML Validator 0.98 — первая версия веб-расширения.
Старое XUL-расширение Firefox больше не работает с Firefox 57.
Это полностью переписанный код.
Расширение теперь работает иначе:
* В инструментах разработчика появилась новая вкладка: Html Validator.
* Проверка происходит только тогда, когда открыты «Инструменты разработчика».
* Расширение использует новую версию Tidy 5, скомпилированную с C на Javascript.Теперь он работает на всех платформах.
* Работает в Chrome
Некоторые функции версии 0.97 все еще отсутствуют. Подробнее см. здесь.
Любое замечание, баг-репорт, патч, помощь приветствуются!!! Электронная почта: [email protected].
————————————————— ———-
Спонсор:
— icons8.com
5 Бесплатные онлайн-валидаторы HTML-кода
Правильно написанный код имеет решающее значение для создания функционального веб-сайта. Однако самостоятельная проверка HTML-файлов занимает много времени.Чтобы сделать эту задачу более эффективной, вы можете начать использовать валидатор HTML-кода. В этой статье мы покажем вам пять наших любимых бесплатных онлайн-валидаторов HTML-кода.
Что такое средство проверки HTML-кода?
Валидаторы HTML-кода — это программы, которые корректируют HTML-документы. Эти инструменты могут обнаруживать синтаксические ошибки, такие как лишние пробелы и отсутствующие кавычки. Для обеспечения качества валидаторы кода обычно ссылаются на стандарт Консорциума Worldwide Web.
Важно проверять файлы HTML на наличие ошибок.Неверный код приведет к проблемам на вашем сайте.
Выбор валидатора HTML-кода может быть затруднен из-за множества вариантов. Ниже представлены наши любимые подборки.
Лучшие онлайн-валидаторы HTML-кода
Чтобы помочь вам выбрать лучшую проверку HTML-кода, мы составили список лучших в Интернете.
1. Служба проверки разметки W3C
Средство проверки кода Worldwide Web Consortium может читать несколько типов файлов, включая HTML, XHTML, SVG, SMIL и MathML. Перед проверкой кода вы можете выбрать кодировку файла.
W3C позволяет напрямую загружать файлы или вставлять код. Более того, вы можете ввести URL своего сайта.
Несмотря на то, что служба проверки не может обнаружить неработающие ссылки, она дает вам предложения по улучшению вашего кода. Открыв ссылки в рекомендациях, вы попадете на соответствующую статью в базе данных W3C.
2. Бесплатное форматирование
Вы можете вставить свой код и загрузить файлы в Free Formatter, чтобы проверить его.Онлайн-валидатор поддерживает файлы HTML, SVG, ITS и RDFa Lite. Как и служба проверки разметки W3C, Free Formatter также позволяет вам выбрать кодировку файла.
3. Средство форматирования JSON
HTML-валидатор JSON Formatter предлагает интерфейс с двумя столбцами. Левый показывает ваш файл, а правый отображает ошибки.
Чтобы начать использовать JSON Formatter, вы можете загрузить файл, вставить код или ввести URL-адрес. Онлайн-валидатор может не только проверить наличие ошибок, но и мгновенно исправить ваш код.Вы даже можете выполнить его, чтобы увидеть, как это выглядит из внешнего интерфейса. Кроме того, вы можете загрузить код в виде нового файла.
4. Nu HTML5 Validator
Nu Validator — это простой онлайн-валидатор HTML-кода. Чтобы использовать его, вам нужно только ввести свой HTML-файл, URL-адрес или вставить код. Вы можете выбрать отображение текстовых альтернатив для изображений и источника разметки документа. Как и служба проверки разметки W3C, Nu Validator также предоставляет соответствующую статью, чтобы исправить ваши ошибки.
5. Онлайн-валидатор HTML Toolz
Online Toolz HTML — еще один онлайн-валидатор HTML-кода, однако его функции ограничены. Он поддерживает только вставку вашего кода в качестве метода ввода.
Чтобы компенсировать это, на веб-сайте также есть много других инструментов, включая скрипт, который форматирует ваш HTML-код.
Резюме
Онлайн-валидаторы HTML полезны, когда вам нужен правильный код на вашем веб-сайте. Некоторые из них также помогут вам улучшить свои навыки кодирования.
В качестве средства проверки HTML-кода мы выбрали W3C из-за его большой функциональности и простого в использовании интерфейса.
Проверка HTML · Документы WebPlatform
Резюме
В этой статье представлена концепция проверки и показано, как использовать онлайн-валидатор W3C для проверки HTML-кода.
Введение
Итак, вы написали несколько HTML-страниц, и они вроде нормально отображаются, но с ними есть некоторые неточности. Как лучше всего начать выяснять, что не так, и гарантировать, что эти страницы (и любые будущие страницы, которые вы напишете) будут правильно отображаться в браузерах без ошибок?
Валидация — это ответ! Существует множество доступных инструментов от W3C и других источников, которые позволяют вам проверять код на ваших сайтах. Наиболее распространенные валидаторы, которые вы будете использовать:
- Validator.nu: валидатор новой школы, который проверяет HTML5, ARIA, SVG 1.1 и MathML 2.0, он проверяет весь документ, указывая места, где ваша разметка не соответствует этому типу документа (т. е. где есть ошибки). Это тот, который мы рекомендуем, если вы используете тип документа HTML5, также настоятельно рекомендуется.
- Средство проверки разметки W3C: проверяет тип документа (X)HTML для документа, который вы хотите проверить, а затем соответствующим образом проверяет вашу разметку.Это тот, который мы рекомендуем, если вы используете тип документа HTML4 или XHTML1.x. Он проверяет HTML5, но validator.nu, возможно, более актуален.
- Средство проверки ссылок W3C: проверяет документ и проверяет все ссылки, чтобы убедиться, что они не повреждены (например, что значения
- Средство проверки CSS W3C: проверяет документ CSS (или HTML/CSS) и подтверждает, что CSS правильно соответствует спецификациям.
В этой статье мы расскажем, как использовать второй из них, покажем, как проверять разметку и интерпретировать типичные результаты, которые дает вам валидатор.
Ошибки
В компьютерном программировании, включая языки разметки, обычно существует два типа ошибок с кодом:
- синтаксические ошибки — эти ошибки обычно связаны с ошибкой, из-за которой компьютер не может правильно выполнить или скомпилировать программу (например, отсутствие фигурной скобки или круглой скобки). Логические ошибки
- — эти ошибки возникают, когда код синтаксически верен, но не делает именно то, для чего предназначался.
В большинстве языков программирования первый тип ошибки невозможно не заметить.Код отказывается компилироваться или выполняться до тех пор, пока ошибка не будет исправлена, и компилятор обычно предупреждает программиста об ошибке и номере строки, в которой ее можно найти. Это делает поиск и исправление синтаксических ошибок намного проще, чем логических ошибок, которые приводят к этим общим головокружительным моментам: «Почему он не делает то, что я хочу?» Валидаторы, как и следовало ожидать, могут находить только синтаксические ошибки.
Хотя HTML является декларативным языком разметки, а не процедурным языком программирования, синтаксические ошибки все же могут возникать.Однако синтаксические ошибки на веб-странице обычно не приводят к тому, что веб-браузер отказывается отображать страницу. Это присущее веб-браузерам снисходительность является одной из главных причин быстрого принятия и распространения Интернета. Даже если вы забудете закрыть тег, ваша страница обычно все равно будет отображаться.
Первый веб-браузер, WorldWideWeb (написанный Тимом Бернерсом-Ли), также был редактором, позволявшим авторам создавать веб-страницы без изучения HTML. Хотя этот редактор создал недопустимый HTML, он создал важный прецедент, существующий во всех веб-браузерах и по сей день: предоставление пользователям доступа к содержимому важнее, чем жалобы на ошибки людям, которые их не понимают, или возможность их исправить. исправить их.
Что такое проверка?
Хотя веб-браузеры будут принимать недопустимый код на веб-страницах и делать все возможное, чтобы отобразить код, делая наилучшее предположение о намерениях автора, все же можно проверить, правильно ли написан HTML, и это действительно хорошая идея. сделать это, как вы увидите ниже. Мы называем это «проверкой» HTML.
Программа проверки сравнивает код HTML на веб-странице с правилами соответствующего типа документа и сообщает вам, были ли нарушены эти правила и где.
Зачем проверять?
Среди некоторых веб-разработчиков распространено мнение, что если веб-страница выглядит нормально в браузерах, не имеет значения, что она не проходит проверку (часто формулируется как «Красота в функциональности»). Они описывают валидацию как идеальную цель, а не что-то черно-белое.
В этом отношении есть доля мудрости. Спецификация HTML4 не идеальна, и некоторые вещи, которые, возможно, были правильными — например, начало упорядоченного списка с числа, отличного от 1, — были недопустимым HTML.HTML5 исправляет довольно много проблем со спецификациями, включая эту, но вы все равно можете столкнуться с ситуациями, когда может потребоваться нарушение проверки, чтобы отобразить страницу так, как вы хотите. Как говорится, Изучите правила, чтобы знать, как правильно их нарушать.
Есть две очень веские причины для проверки HTML-кода при его создании:
- Вы не всегда идеальны, как и ваш код. Мы все делаем ошибки, и ваши веб-страницы будут более качественными (то есть работать более стабильно), если вы отсеете ошибки.
- Браузеры меняются, это факт. В будущем, вероятно, браузеры будут меньше, а не больше, прощать ошибки при разборе недопустимого кода.
Проверка — это ваша система раннего предупреждения об ошибках в вашей разметке, которые могут проявляться «интересными» и трудно исправимыми способами. Когда браузер сталкивается с недопустимым HTML-кодом, он должен сделать обоснованное предположение о том, что вы хотели сделать, и разные браузеры могут дать разные ответы.
Разные браузеры по-разному интерпретируют недопустимый HTML
Действительный HTML — это единственный контракт, который вы заключаете с производителями браузеров.Спецификация HTML говорит, как вы должны писать документы и как они должны их интерпретировать. В последнее время соответствие браузеров стандартам достигло точки, когда, пока вы пишете корректный код, все основные браузеры должны интерпретировать ваш код одинаково. Это почти всегда имеет место, по крайней мере, для HTML, с другими стандартами, имеющими еще несколько различий в поддержке здесь и там.
Но что происходит, когда вы передаете браузеру неверный код? Ответ заключается в том, что обработка ошибок браузера вступает в игру, чтобы решить, что делать с кодом.По сути, он говорит: «Этот код не проходит проверку, так как же представить эту страницу конечному пользователю?»
Звучит здорово, не так ли? Если вы оставите несколько ошибок на своей странице, браузер заполнит пробелы за вас! Это не так, поскольку каждый браузер работает по-своему. Рассмотрим следующий код:
Этот текст должен быть выделен жирным шрифтом
Должен ли этот текст быть жирным? Как выглядит HTML при отображении?
Этот текст должен быть ссылкой
Должен ли этот текст быть ссылкой? Как выглядит HTML при отображении?
Ошибки заключаются в том, что (1) элемент strong неправильно вложен в несколько блочных элементов и (2) элемент привязки не закрыт. Когда вы пытаетесь отобразить этот код в разных браузерах, они интерпретируют его очень по-разному:
- Opera делает последующие элементы дочерними для жирного элемента .
- Firefox добавляет дополнительные элементы жирным шрифтом между абзацами, которых не было в разметке.
- Internet Explorer помещает текст «Этот текст должен быть ссылкой» вне тега привязки , который создает ссылку.
Исходную версию этого примера можно найти в статье Холлворда Стина. Одни и те же ошибки DOM, разные интерпретации браузеров — прочитайте ее для более глубокого изучения ошибок HTML, а также некоторую информацию об инструментах отладки.
Ни одно из различных поведений браузеров не является неправильным; все они пытаются заполнить пробелы в вашем неправильном коде, просто они делают это по-разному. Суть в том, что избегайте недопустимой разметки на своих страницах, если это вообще возможно!
Обратите внимание, что HTML5 в некоторой степени исправляет это; впервые в истории HTML он определяет, как браузеры должны обрабатывать плохо сформированную разметку. Однако на момент написания этой статьи поддержка этой обработки ошибок HTML5 не была широко распространена в браузерах, поэтому вы пока не можете на нее полагаться.
Как проверить страницы
Теперь, когда мы изучили теорию проверки вашего HTML, давайте поговорим о самой простой части — фактической проверке. Ладно, это не совсем точно. Поместить URL-адрес в валидатор, чтобы проверить, действительна ли страница, легко; выяснить, что не так, и исправить ошибки иногда бывает не так просто, так как сообщения об ошибках иногда могут быть немного загадочными. Давайте посмотрим на некоторые примеры.
Пример, который мы рассмотрим в этом разделе, приведен ниже; не стесняйтесь копировать и вставлять его на новую страницу в вашем любимом редакторе.
<голова>
Проверка HTML
голова>
<тело>
Сказка о Гербете Грюэле
Добро пожаловать в мою историю.
Я — тонкий человечек, стройный и хрупкий, с морщинистым и измученным лицом, глаза ввалились в орбиты, как кролики, съежившиеся в своих норах.Годы не пощадили меня, но я ни о чем не жалею, так как я преодолел все, что стремилось причинить мне боль, и мне было позволено выжидать, причиняя вред, когда я путешествую и сюда, 'пересечь непреклонный ландшафт внешнего кольца.
Бастер
Бастер — мой ангел-хранитель. До этого он был моей собакой. До этого кто знает? Я потерял свою собаку много лун назад, когда охотился на гусей в подлеске.Из моей винтовки раздался выстрел, и я позвал Бастера, чтобы он собрал убитого мной гуся. Он побежал туда, где приземлилась птица, но так и не вернулся. Я так и не нашел его тела, но утешаю себя мыслью, что он не умер; скорее он поднялся на более высокое место и теперь наблюдает за мной, чтобы обеспечить мое благополучие.
Мое имущество
Путешественнику нужно очень немногое, чтобы сопровождать его в дороге:
<ул>
Моя шляпа полна воспоминаний
Моя верная трость
Кошелек, в котором когда-то было золото
Дневник 1874 года
Пустой футляр для очков.
Газета, когда мне нужно выглядеть занятым
тело>
Эта простая страница состоит из трех заголовков, трех абзацев, одной гиперссылки и одного неупорядоченного списка.Он использует строгий тип документа XHTML 1.0 в качестве набора правил для проверки. (Мы использовали строгий XHTML 1.0, потому что он с большей вероятностью выдаст ошибки, чем тип документа HTML5.) В документе есть несколько ошибок, которые мы обнаружим ниже с помощью валидатора W3C HTML.
Средство проверки HTML W3C
Откройте онлайн-валидатор W3C в новой вкладке или окне, чтобы можно было переключаться между валидатором и этой статьей по мере выполнения примера. (Вы также можете проверить страницы в валидаторе W3C непосредственно из браузера Opera, щелкнув правой кнопкой мыши/Ctrl и выбрав опцию «Проверить».)
Вы заметите, что валидатор имеет три вкладки, доступные в верхней части интерфейса:
- Проверить по URI: позволяет ввести адрес страницы, которая уже находится в Интернете, для проверки.
- Проверить путем загрузки файла: позволяет загрузить локальный HTML-файл для проверки.
- Проверка прямым вводом: позволяет вставлять HTML непосредственно в окно для проверки.
Какой бы метод вы ни использовали, он должен дать одинаковый результат; Проще всего протестировать страницу примера отсюда, скопировав полный код примера сверху и вставив его на третью вкладку.Это должно дать вам результат, показанный на рисунке 1:
.Рисунок 1: Результаты проверки образца документа — 11 ошибок!
Это может звучать тревожно, особенно когда мы говорим вам, что в документе , а не 11 ошибок! Не отчаивайтесь — валидатор выдает больше ошибок, чем есть на самом деле. Это связано с тем, что часто ошибка в верхней части страницы будет каскадной, заставляя валидатор сообщать о большем количестве ошибок ниже, поскольку похоже, что больше элементов не закрыты или неправильно вложены.Вам просто нужно думать о том, что означают сообщения об ошибках, искать очевидные ошибки в разметке и работать сверху вниз. В таблице 1 ниже показаны все ошибки, которые мы исправили для проверки страницы, а также наша логика для определения того, что было не так, и исправления, которые мы применили для решения проблемы.
После исправления этих четырех ошибок оставшиеся семь исчезают, и теперь валидатор выдает удовлетворительное сообщение об успешном завершении, как показано на рисунке 2:
Рисунок 2: Сообщение об успешном завершении, говорящее о том, что все мои ошибки исправлены.
Ниже приведена исправленная версия кода; не стесняйтесь копировать и вставлять его на новую страницу в вашем любимом редакторе.
<голова>Проверка HTML голова> <тело>Сказка о Гербете Грюэле
Добро пожаловать в мою историю.Я — тонкий человечек, стройный и хрупкий, с морщинистым и измученным лицом, глаза ввалились в орбиты, как кролики, съежившиеся в своих норах.
Годы не пощадили меня, но я ни о чем не жалею, так как я преодолел все, что стремилось причинить мне боль, и мне было позволено выжидать, причиняя вред, когда я путешествую и сюда, 'пересечь непреклонный ландшафт внешнего кольца.
Бастер
Бастер — мой ангел-хранитель.До этого он был моей собакой. До этого кто знает? Я потерял свою собаку много лун назад, когда охотился на гусей в подлеске. Из моей винтовки раздался выстрел, и я позвал Бастера, чтобы он собрал убитого мной гуся. Он побежал туда, где приземлилась птица, но так и не вернулся. Я так и не нашел его тела, но утешаю себя мыслью, что он не умер; скорее он поднялся на более высокое место и теперь наблюдает за мной, чтобы обеспечить мое благополучие.
Мое имущество
Путешественнику нужно очень немногое, чтобы сопровождать его в дороге:
<ул>Моя шляпа полна воспоминаний Моя верная трость Кошелек, в котором когда-то было золото Дневник 1874 года.