## 11. Тестирование и отладка

Браузеры — плохие (хотя и необходимые!) помощники при отладке гипертекстового кода. Они относятся к ошибкам синтаксиса своеобразно. Вместо того чтобы прямо указать разработчику на допущенную погрешность, браузеры пытаются молчаливо обойти ошибку, принимая меры для правильной (с их точки зрения) интерпретации неверной конструкции. Надо отдать должное, это им удается часто, но далеко не всегда.

Рассмотрим несколько примеров кода с ошибками.

Браузеры Internet Explorer (сокращённо — IE) версий 4, 5, 6, Netscape Navigator версии 6 (сокращённо — NN-6), Firefox версии 1, Opera-9 покажут чистый экран. Браузер NN-4 выведет в левый верхний угол экрана странную загогулину, а NN-3 напишет на экране текст вместе с тегами и совсем уж неожиданными прямоугольниками. Firefox версии 2, правда, покажет текст, как ни в чём не бывало.

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

Ещё более удивительно ведут себя браузеры, работая с кодом следующего примера:

Браузеры IE, NN-6, Firefox, Opera “не замечают” ошибки. У браузеров NN-3 и NN-4 начинается “нервный тик”.

Приведённые примеры наглядно говорят о том, что тестировать HTML-разработки не просто нужно, но обязательно делать это не в одном, а в нескольких браузерах. Но и этого недостаточно. Обязательно проверяйте коды в специальных программах-анализаторах (валидаторах), таких как CSE HTML Validator Lite (см. пункт анализатор кода в разделе “Инструменты для разработки сайта”).

Ниже приводятся примеры типичных ошибок.

#### Нарушение вложенности тегов

Код с ошибками:

Правильный код:

#### Отсутствие обязательных закрывающих тегов

Код с ошибками:

Правильный код:

#### Неверные названия тегов

Ошибка в имени тега `BLOCKQUOTE` и в имени закрывающего тега `BODY`:

#### Неверные названия атрибутов и их значений

Неверный атрибут `color`:

Неверное значение атрибута `type`:

вверх