Проверка ошибок кода в HTML-документах

Проверка ошибок кода в HTML-документах

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

Проверка HTML-кода гарантирует, что все посетители, каким бы браузером они ни пользовались, увидят ваши страницы именно такими, какими видите их вы.

Ошибки, определяемые программами или сетевыми сервисами проверки правильности HTML-кода, обычно относятся к двум категориям: неправильное применение тэгов и использование нестандартных расширений. HTML-стандарты задают некий минимальный уровень требований, соблюдение которых дает сходные результаты при обработке тэгов языка HTML различными программами просмотра HTML-документов. На практике требования браузеров несколько отличаются от этого уровня в ту или иную сторону, однако в любом случае исправить ошибки первого рода легко, и это не займет много времени.

Со вторыми дело обстоит не так просто. На вашей странице могут оказаться тэги, поддерживаемые только одним из браузеров и неработающие в других. Стоит взвесить, что дает их применение – оправдает ли оно потерю посетителей, использующих несовместимые программы просмотра. При профессиональном проектировании сайта обычно отслеживают, какими браузерами пользуются посетители, чтобы придти к разумному компромиссу при выборе тех или иных решений. Если у 98 % ваших посетителей браузеры могут обрабатывать тэг, который действительно позволяет сделать страницу более красивой и удобной, – можно его сохранить.

Проверку синтаксиса HTML-документов невозможно выполнить с помощью обычных браузеров, так как они предназначены только для просмотра HTML-страниц. Если в документе имеются синтаксические ошибки, браузер пытается, игнорируя их, каким-либо образом показать страницу на экране. Однако решается такая задача каждый раз по-новому – в зависимости от типа браузера и даже от его версии. Если ошибок на странице слишком много, она может быть не отображена в окне браузера или отображена лишь частично. Программные и сетевые средства проверки HTML-документов позволяют предупредить такое поведение браузеров, выявляя допущенные при разработке страниц ошибки. Отметим, что сделать это довольно просто. Выявив ошибки до размещения HTML-документов в Internet, вы заметите, что страницы будут загружаться быстрее, а проблем станет значительно меньше.

Задание типа документа

В соответствии со стандартом каждый HTML-документ предполагает наличие объявления типа документа. В семействе языков разметки HTML является всего лишь одним из многих, хотя и самым популярным. Он имеет уже многолетнюю историю и был за это время нормирован различными версиями. Заданием типа документа указывается используемый язык разметки и его версия. Программы, читающие эти указания (например, обозреватели Internet и программы проверки синтаксиса HTML-кода), придерживаются таких указаний. В частности, декларация типа документа дает возможность программам проверки определить, какую версию HTML следует использовать для контроля.

Каждое указание типа документа связано с так называемыми определениями типа документа (DTD, Document type declaration). И для HTML существуют такие DTD. В них оговорено, какие элементы (тэги) может содержать документ типа HTML, какие элементы могут располагаться внутри других элементов, какие атрибуты принадлежат тому или иному элементу, является ли задание того или иного атрибута обязательным и т. д.

Рекомендуется начинать любой HTML-документ со строки, содержащей определение типа документа – тэг DOCTYPE. Для этого обычно используются нижеперечисленные конструкции.

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

Такое объявление служит указанием, что используется тип документа HTML 4.01 Strict (Строгий). Строгое следование стандартам повышает ранг документа в рейтингах поисковых машин. Если стандарт полностью соблюден – пользуйтесь этим определением.

Задавайте тип документа первой строкой HTML-файла перед открывающим тэгом <HTML>. Обратите внимание, что за угловой скобкой следует восклицательный знак. Запись DOCTYPE HTML PUBLIC означает, что вы ссылаетесь на всем доступный HTML-DTD. Заключенные в кавычки данные расшифровываются следующим образом:

• W3C – издатель DTD: в данном случае, WB-консорциум;

• DTD HTML 4.01 – указание типа: в файле применен документ типа HTML в версии 4.01 и варианте Strict (по умолчанию);

• EN – сокращение, указывающее на язык (в данном случае – английский) написания элементов (тэгов) и их атрибутов, но не содержания файла. Применяйте всегда EN, так как имена элементов и атрибутов HTML основаны на английском языке.

Последним параметром в объявлении является адрес в Internet DTD-файла, который дает возможность программам загрузить его и прочитать определенные в нем правила. Заметим, что, в отличие от программ проверки синтаксиса, большинство браузеров при представлении HTML-документов этого не делают. Такой подход основан на желании разработчиков Internet-обозревателей отображать даже те страницы, которые написаны с большими отклонениями от правил правописания HTML.

<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» "http://www.w3.org/TR/html4/loose.dtd">

Используется тип документа HTML 4.01 Transitional (Переходный). Имеется в виду HTML «переходного периода», то есть разрешается применять устаревшие элементы из HTML 3.2.

<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Frameset//EN» "http://www.w3.org/TR/html4/frameset.dtd">

Тип документа HTML 4.01 Frameset – это HTML 4.01 Transitional с добавлением фреймовых элементов.

<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 3.2 Final//EN»>

Эта форма задания типа документа применима, если вы хотите сослаться на версию HTML 3.2.

<!DOCTYPE html PUBLIC «-//IETF//DTD HTML 2.0//EN»>

То же – на версию HTML 2.0.

Данный текст является ознакомительным фрагментом.