При подстановке в шаблон данных, передаваемых пользователем (например, переданных ранее через форму на сайте), эти данные обязательно экранируются с помощью фильтра html:
HTML-код по-возможности должен соответствовать спецификации HTML 5 и XHTML, а это означает, что:
<img>
или <br>
) должны иметь на конце /
(например, <br />
).<option selected="selected">
или <td nowrap="nowrap">
<img alt="" />
вместо <IMG ALT="" />
).Тире всегда записывается как —. Использование дефиса вместо тире не допускается. Более подробно тема раскрыта в параграфе Арт. Лебедева «Тире, минус и дефис, или Черты русской типографики».
В HTML-документах, создаваемых для русскоязычной аудитории, желательно использовать кавычки-«ёлочки» (символы « и »). В документах, создаваемых для внутреннего использования (внутренняя документация, технические задания, должностные инструкции и т.п.) допускается использование "английских двойных" кавычек.
Не использовать знаки номера, копирайта, спец-кавычек и т.п., записанные в виде символов в национальной кодировке, скажем cp1251. Далеко не во всех редакторах и операционных системах Ваши символы будут корректно отображаться. Для вставки подобных знаков используются html-entities:
Краткий справочник:
© | © | знак охраны авторского права (copyright) |
® | ® | знак зарегистрированных прав |
™ | ™ | символ зарегистрированного товарного знака |
« | « | левая кавычка (левая ёлочка) |
» | » | правая кавычка (правая ёлочка) |
— | — | тире |
– | – | короткое тире для обозначения интервалов |
− | − | минус |
± | ± | плюс/минус |
° | ° | знак градуса |
< | < | знак «меньше» |
> | > | знак «больше» |
≤ | ≤ | знак «меньше или равно» |
≥ | ≥ | знак «больше или равно» |
& | & | амперсанд |
| «несжимаемый» пробел | |
¹ | ¹ | 1 в верхнем индексе |
² | ² | 2 в верхнем индексе |
³ | ³ | 3 в верхнем индексе |
№ | № | знак номера |
¢ | ¢ | знак цента |
£ | £ | знак фунта |
₽ | ₽ | знак рубля |
€ | € | знак евро |
§ | § | знак параграфа |
· | · | точка (знак умножения) |
¼ | ¼ | одна четверть |
½ | ½ | одна вторая |
¾ | ¾ | три четверти |
• | • | буллет |
… | … | многоточие |
‘ ’ | ‘ ’ | одинарные лапки |
„ | „ | открывающая лапка |
“ | “ | закрывающая лапка |
” | ” | закрывающая английская лапка |
▲ | ▲ | стрелки |
△ | △ | -- " -- |
▴ | ▴ | -- " -- |
▵ | ▵ | -- " -- |
▶ | ▶ | -- " -- |
▷ | ▷ | -- " -- |
▸ | ▸ | -- " -- |
▹ | ▹ | -- " -- |
► | ► | -- " -- |
▻ | ▻ | -- " -- |
▼ | ▼ | -- " -- |
▽ | ▽ | -- " -- |
▾ | ▾ | -- " -- |
▿ | ▿ | -- " -- |
◀ | ◀ | -- " -- |
◁ | ◁ | -- " -- |
◂ | ◂ | -- " -- |
◃ | ◃ | -- " -- |
◄ | ◄ | -- " -- |
◅ | ◅ | -- " -- |
Для каждого элемента <input type="checkbox" ...> и <input type="radio" ...> должен быть предусмотрен элемент <label>, для того, чтобы чекбокс / радиобаттон срабатывал также по клику по метке:
<label><input type="checkbox" name="test" value="1" />Чекбокс 1</label> <label><input type="radio" name="test" value="1" />Кнопка 1</label> |
Вначале немного терминологии, касающейся таблиц. Содержимое таблицы организуется в колонки (графы). Таблица состоит из следующих основных элементов: нумерационного и тематического заголовков (номер таблицы и её название), головки (заголовочная часть таблицы), хвоста (вся остальная часть таблицы без головки), боковика (первая слева графа таблицы) и прографки (хвостовая часть таблицы без боковика).
Заполняя таблицу текстовыми или цифровыми данными полезно следовать правилам:
При посещении HTTPS-страниц, ссылающихся на «незащищённое» содержимое (загружающих JavaScript, картинки или стили, отдаваемые по протоколу HTTP) большинство браузеров генерирует предупреждение («Страница содержит небезопасное содержимое» и т. п.). Дабы этого избежать, избегайте комбинации «src="http:» на страницах, которые могут отдаваться по протоколу HTTPS.
Если сайт, на содержимое которого мы ссылаемся, поддерживает подключение как по HTTP, так и по HTTPS, можно написать так:
//sitename/path |
Если же удалённый сервер, на содержимое которого мы ссылаемся, не умеет отдавать содержимое по HTTPS, то вообще не включаем это содержимое на страницах, отдаваемых через HTTPS:
[% UNLESS is_https %] код, ссылающийся на http [% END %] |
Используйте отступы для выделения иерархии элементов HTML:
<form action="..." method="post"> <div> <h3>Заголовок</h3> ... </div> </form> |
Размер отступа не регламентируется, однако он должен быть отличен от нуля ;).
Используйте HTML-валидатор от w3c для проверки HTML-кода.
Для облегчения тестирования локальной версии сайта, дабы не выкладывать её в интернет для проверки, установите валидатор локально.