Что случиться если не указать декларацию документа в html
Перейти к содержимому

Что случиться если не указать декларацию документа в html

  • автор:

Декларации типа документа

В этой главе рассказывается, как идентифицировать правильный документ XHTML.

Декларация типа документа

В самом начале веб-страницы вы должны определять декларацию типа документа при помощи элемента DOCTYPE. Да, да, именно должны.

Без определения типа документа ваш HTML не полноценен и большинство браузеров будут отображать его в так называемом «режиме обратной совместимости», который означает, что браузеры будут уверены в вашей некомпетентности, и будут исполнять ваш код по своему усмотрению. Будь вы хоть гуру в HTML, ваш код пусть будет безупречен, а CSS идеален, но без декларации типа документа или если она неверна, то ваша веб-страница может выглядеть так, как будто ее делал неграмотный первоклашка.

Декларация для строгого XHTML 1.0 (XHTML 1.0 Strict) выглядит следующим образом:

Ниже приводится декларация для документа XHTML 1.1, который может показаться более предпочтительным, однако так как это последняя версия XHTML, здесь кроется несколько проблем, которые мы объясним в конце этой главы…

Если вы по какой-либо причине хотите использовать HTML 4 или Netscape 4 для вас эталон браузеров, вы можете декларировать документ для переходного XHTML 1.0 (XHTML 1.0 Transitional):

Правда единственной причиной такой декларации может быть желание поддержать старые и редко используемые браузеры. Переходный XHTML 1.0 разрешает использование старых элементов представления HTML 4, что может улучшить представление страницы в таких браузерах как Netscape 4, однако использование таких элементов способно пагубно сказаться на эффективности и доступности вашей веб-страницы.

Наконец, если вы один из тех эксцентричных людей, которые используют фреймы, то специально для вас существует декларация для фреймового XHTML 1.0 (XHTML 1.0 Frameset):

Обратите внимание, что тег DOCTYPE – своего рода бунтовщик, и его необходимо писать в верхнем регистре с восклицательным знаком перед ним. Также он нарушает еще одно правило – это единственный тег, который не нужно закрывать.

Языковая декларация

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

После декларации основного языка, если на веб-странице есть контент на другом языке, то нужно использовать атрибут xml:lang линейно (например, HTML Hund).

Типы контента

Также необходимо определять медиатип и набор символов документа HTML, и делается это в заголовке HTTP:

 Content-Type: text/html; charset=UTF-8 

Первая часть (в данном примере text/html) – это MIME тип файла. Это позволяет браузеру понять, с каким типом файла он имеет дело, и решить, что с ним делать. У всех файлов есть свой MIME тип. Например, у изображения JPEG тип image/jpeg, у файла CSS — text/css, а обычный тип HTML документа — text/html.

Вторая часть заголовка HTTP (в данном примере UTF-8) – это набор символов.

Самый простой способ установить заголовок HTTP – это использовать метатег, например, следующим образом:

Немного более сложный, но и более предпочтительный (так как в этом случае получается правильный заголовок HTTP и при этом размер кода HTML никак не изменяется) способ – это сформировать заголовок и затем отослать его при помощи скриптового языка, работающего на стороне сервера. Например, при помощи PHP это делается следующим образом:

Если вы не хотите (или не можете) использовать скриптовый язык, работающий на стороне сервера, то можно обратиться к самому серверу при помощи файла ‘.htaccess‘. У большинства серверов (совместимых с Apache) есть специальный текстовый файл с именем ‘.htaccess‘, расположенный в корневой директории. Если добавить в него следующую строку, то все файлы с расширением ‘.html’ будут ассоциироваться с указанным MIME типом и набором символов:

 AddType text/html;charset=UTF-8 html 

Основное правило выбора набора символов заключается в том, чтобы использовать тот набор, который будет распознаваться аудиторией вашего сайта. Наборов символов достаточно много (например, ‘ISO-8859-1’ – для большинства западных, основанных на латинице, языков, ‘SHIFT_JIS’ – для японского языка, а ‘UTF-8’ – в значительной степени универсальный набор, в котором есть огромное число уникальных символов, использующихся в большинстве языках). Здесь можно посоветовать использовать набор ‘UTF-8’, так как он может отображать почти все символы большинства языков и можно с большой долей вероятности быть уверенным, что текст вашей веб-страницы увидят большинство пользователей.

Документы XHTML должны обрабатываться как MIME тип application/xhtml+xml. Это именно тот тип, чем они и являются – приложениями XML. К несчастью, большинство браузеров совсем не знают, что это такое. Поэтому считается вполне нормальным обрабатывать их по типу text/html. Согласно стандартам документы XHTML 1.0 могут обрабатываться по типу text/html, а вот документы XHTML 1.1 нет. Вот почему все примеры в учебниках на этом сайте имеют декларацию XHTML 1.0 Strict, предполагающую обработку по типу text/html. Но вы можете назначать правильный MIME тип для тех браузеров, которые умеют работать с соответствующими документами, прибегнув к небольшой обработке на стороне сервера.

Скрипт на PHP, который для браузеров, понимающих стандарт XHTML 1.1, (как Mozilla) присваивает документу соответствующую декларацию и MIME тип application/xhtml+xml, а для остальных браузеров (как IE) — XHTML1.0 Strict и MIME тип text/html, может выглядеть следующим образом:

 '); > else < header ("Content-Type: text/html; charset=UTF-8"); echo (''); > ?> 

Этот скрипт следует вставлять в начале каждой веб-страницы. Он проверяет, принимает ли браузер MIME тип application/xhtml+xml, и если принимает, то отсылается именно этот MIME тип, а в декларации прописывается тип документа XHTML 1.1. Если же MIME тип не распознается браузером, тогда отсылается MIME тип text/html, а в декларации прописывается тип документа XHTML1.0 Strict.

HTML декларация

Декларация определяет версию HTML, которая используется в данном документе. Объявление версии является обязательным условием, так как браузер должен понимать, как интерпретировать страницу. В случае, если декларация отсутствует, браузер может некорректно отображать содержимое веб-страницы.

Синтаксис

[Элемент верхнего уровня] [Публичность] "[Регистрация]//[Организация]//[Тип] [Имя]//[Язык]" "[URL]">

Параметры

Элемент верхнего уровня — корневой контейнер документа, куда помещается все содержимое документа. Для HTML это тег ,

Публичность —документ может быть публичным (PUBLIC) или системным (SYSTEM). К системным относятся, например, локальные файлы. Для HTML/XHTML значением является PUBLIC.

Регистрация — различают два значения: плюс (+) — разработчик DTD зарегистрирован в международной организации по стандартизации (International Organization for Standardization, ISO) и — (минус) — разработчик не зарегистрирован в ISO. Для W3C значением является «-».

Организация — название разработчика DTD. Официальным разработчиком HTML/XHTML является W3C, это название и пишется в .

Тип — тип описываемого документа. Для HTML/XHTML значение указывается DTD

Имя — уникальный идентификатор документа для описания DTD.

Язык — язык, на котором составлено описание типа документа (две буквы в верхнем регистре). Для документа HTML/XHTML указывается английский язык (EN).

URL — ссылка на описание типа документа (например, https://www.w3.org/TR/html4/loose.dtd ).

Типы деклараций

Различают три типа деклараций :

Строгий (Strict): не содержит «устаревшие» и «не одобряемые» (deprecated) элементы.

HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd">

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

HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">

С фреймами (Frameset): такой же как переходный, но при этом разрешает использование тегов для создания фреймов.

HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "https://www.w3.org/TR/html4/frameset.dtd">

Для HTML 5 используется один вариант декларации.

html>

Пример

html> html> head> title>Декларация !DOCTYPE title> head> body> p>Параграф p> body> html>

HTML тег DOCTYPE

С декларации должен начинаться любой HTML документ. Эта декларация должна располагаться перед тегом .

В действительности декларация не является тегом HTML. Это специальная инструкция для браузера, информирующая его о том, какая версия HTML используется на данной странице.

В HTML 4.01 декларация ссылается на DTD (определение типа документа, которое задает синтаксис конструкций разметки), так как HTML 4.01 базируется на SGML (стандартный обобщённый язык разметки). DTD определяет правила для языка разметки, благодаря этому браузер корректно отображает контент страницы.

HTML5 не базируется на SGML и поэтому ему не нужно ссылаться на DTD.

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

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

Декларация должна быть в точности такая, как в примере (включая написание заглавными буквами слова ‘DOCTYPE’). В отличие от других тегов этот тег не закрывается.

Разница между HTML 4.01 и HTML5

В HTML 4.01 существует три разновидности декларации . В HTML5 есть только один вид декларации.

Виды декларации DOCTYPE

HTML 5

HTML 4.01 Strict

Эта DTD содержит все HTML элементы и атрибуты, ИСКЛЮЧАЯ запрещенные элементы и элементы представления (вроде элемента font). Использование фреймов не допускается.

HTML 4.01 Transitional

Эта DTD содержит все HTML элементы и атрибуты, ВКЛЮЧАЯ запрещенные элементы и элементы представления (вроде элемента font). Использование фреймов не допускается.

HTML 4.01 Frameset

Эта DTD аналогична HTML 4.01 Transitional, при этом допускается использование фреймового контента.

XHTML 1.0 Strict

Эта DTD содержит все HTML элементы и атрибуты, ИСКЛЮЧАЯ запрещенные элементы и элементы представления (вроде элемента font). Использование фреймов не допускается. При этом разметка должна соответствовать правилам XML.

XHTML 1.0 Transitional

Эта DTD содержит все HTML элементы и атрибуты, ВКЛЮЧАЯ запрещенные элементы и элементы представления (вроде элемента font). Использование фреймов не допускается. При этом разметка должна соответствовать правилам XML.

XHTML 1.0 Frameset

Эта DTD аналогична XHTML 1.0 Transitional, при этом допускается использование фреймового контента.

XHTML 1.1

Эта DTD аналогична XHTML 1.0 Strict, при этом можно добавлять различные модули (например, для предоставления поддержки восточно-азиатских языков).

HTML пример использования

Декларация HTML документа по стандарту HTML5:

    Заголовок документа  Содержимое документа.  

Минтруд назвал частые ошибки госслужащих при подаче деклараций

Госслужащие могут подать декларацию о доходах до 1 августа, а точнее, как уточняют в минтруде, до 23.59 1 августа. Но если сделать это на две минуты позже, это будет уже нарушение, грозящее увольнением. Речь идет не только о депутатах и министрах. Точно такие же бумаги заполняют простые клерки из различных ведомств или работники муниципалитетов, чья зарплата может едва превышать прожиточный минимум. Минтруд рассказал «РГ» о типичных ошибках в декларациях.

Антон Новодережкин/ТАСС

«В большинстве случаев ошибки при заполнении декларации связаны с невнимательностью, — отмечают в минтруде. — Часто допускают ошибки на титульном листе, некорректно указывают наименования антикоррупционного подразделения, путают адрес собственной регистрации. Частый случай, когда сообщают о собственности на дачу, приводят данные о доме, а об участке забывают».

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

Другой распространенный источник ошибок связан с банковскими счетами, добавляют в минтруде. Люди смотрят информацию об остатке средств в sms-сообщениях от банка, а не в выписке. Из-за этого при проверке случаются несовпадения сумм, на которые обращают внимание борцы с коррупцией.

Декларанты часто путают должности, род занятий и места работы супругов, забывают о проданной год назад машине, сдаваемых в аренду квартирах, ошибаются при указании места нахождения своей недвижимости, перечисляет юрист Оксана Обухова.

В большинстве случаев неверные и неполные данные в декларациях — не злой умысел, а ляпы

«Забывают указать или путают детали обязательств по займам и кредитам, особенно оформленных кем-то из членов семьи, — продолжает она. — Хотя положено указывать каждое обязательство финансового характера на сумму от 500 тыс. рублей, где должником или кредитором выступает сам чиновник или его родственники».

Не каждая ошибка, допущенная в декларации, может привести к серьезным последствиям, напоминает юрист и медиатор Юрий Капштык. Не последует серьезного наказания, если величина ошибки составила менее 20% годового дохода семьи госслужащего. Не считаются существенным сокрытие данных о счетах, на которых лежит менее 10 тыс. рублей, неуказание в декларации дохода от продажи автомобиля дешевле 300 тыс. рублей.

«Если декларант своевременно обнаружил ошибку и подал уточняющие сведения, то его никто к ответственности не привлечет, равно как и за ошибки, из которых нельзя усмотреть какие-либо коррупционные признаки, — добавляет партнер юридической компании a.t.Legal Александр Павловский. — Умышленное искажение декларации может привести к проверкам, привлечению к дисциплинарной и даже уголовной ответственности, а также изъятию незадекларированного имущества».

Чтобы помочь заполнять декларации, минтруд ежегодно обновляет методические рекомендации по вопросам представления сведений о доходах, расходах, об имуществе и обязательствах имущественного характера и заполнения соответствующей формы справки, отмечают в ведомстве. И рекомендуют для безупречного заполнения анкеты внимательно их изучить, а также скрупулезно переписывать данные с оригиналов всех документов о собственности, зарплате и имуществе.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *