понедельник, 3 октября 2011 г.

Стандарт требований к верстке сайтов




Требования к HTML-коду:

1. Любая HTML-страница должна быть создана в соответствии со стандартами предписанными W3C, проходить тест на валидность, не выдавать ошибок и, по возможности, замечаний. Проверять валидность с помощью онлайн сервиса http://validator.w3.org/ 
2. HTML-страница и сопровождающие её файлы должны быть минимизированы с точки зрения физического размера:
2.1. Оптимизирована должна быть вся графика:
2.1.1. Каждый графический файл должен быть реализован в том графическом формате (.gif, .jpeg, .png), который обеспечивает его минимальный размер
2.1.2. Графические файлы, обеспечивающие отображение элементов пользовательского интерфейса в различном состоянии (при наведении, при клике), должны быть выполнены спрайтами.
2.2. HTML-файл должен содержать минимальное количество технического кода
2.2.1. Необходимо использовать целевые тэги с минимальными сигнатурами, что обеспечивает быструю загрузку страницы и пользователями и поисковыми роботами, что в итоге учащает появление поискового робота на HTML-страницах
<!--
 Не првильно:
- не целевой тег
- сигнатура отягощена атрибутом класса
 -->

<span class="boldText">выделить?</span>

<!--
Не желательно:
+ целевой тег
- не самая короткая сигнатура
-->

<strong>выделить</strong>

<!--
То, что надо:
+ целевой тег
+ минимальная сигнатура
-->

<b>выделить!</b>

2.2.2. Необходимо минимизировать определения классов в HTML коде, главным образом за счёт иерархического доступа и предельного сокращения имён
<!-- Не правильно:
- не используется возможность иерархического доступа
- классы названы избыточно
 -->
<style>
div.superDiv {...}
ul.ulSuperDiv {...}
li.itemUlSuperDiv {...}
</style>

<div class="superDiv">
<ul class="ulSuperDiv">
<li class="itemUlSuperDiv">item 1</li>
<li class="itemUlSuperDiv">item 2</li>
<li class="itemUlSuperDiv">item 3</li>
</ul>
</div>

<!--
Правильно:
- используется возможность иерархического доступа
- классы названы минимально допустимо
 -->
<style>
div.sd {...}
div.ds ul {...}
div.ds ul li {...}
</style>

<div class="sd">
<ul>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
</ul>
</div>
               2.3 HTML-страницы, а также сопровождающие их текстовые файлы 
(.html, .css, .js и др.) должны представляться в формате utf-8 соответствующим 
байтовым преобразованием символов; а также выставлением вышеуказанного 
мета тега.
               2.4 Время загрузки страницы не должно превышать 30 секунд.
3. Файлы CSS должны создаваться в соответствие с синтаксическим стандартом.
4. Используемые вспомогательные технологии:
4.1. В случае возникновения необходимости в использовании JavaScript, в качестве основной технологии следует использовать библиотеку JQuery (http://www.jquery.com)
4.2. В случае возникновения необходимости внедрения Flash элементов дизайна, для внедрения следует использовать библиотеку SWF Object
4.3. В случае возникновения необходимости в использовании нестандартных шрифтовых наборов, следует использовать технологию Cufon
4.4. В случае возникновения необходимости в корректном отображении png-файлов в несовместимых браузерах (IE 5,6), следует пользоваться библиотекой DD_belatedPNG
5. Все пути к ресурсам верстки должны быть относительными.
6. Файловая организация
7. В корне размещаются файлы html и директории ресурсов верстки
7.1. Директория "gr" — все графические файлы
7.2. Директория "css" — все файлы css
7.3. Директория "js" — файлы JavaScript
7.4. Директория "swf" — файлы Flash
8. Совместимость с операционными системами
8.1. Microsoft Windows
8.2. Mac OS
8.3. Linux
9. Совместимость с браузерами и их версиями
9.1. Internet Explorer: от 6-ой версии
9.2. FireFox: от 2-ой версии
9.3. Chrome: начиная с 3-ей
9.4. Safari: начиная с 3-ей
9.5. Opera: начиная с 9-ой
10. Для контентной области, ожидаемо должны работать все стандартные теги: P, UL, OL, LI, H1-H6, BLOCKQUOTE, CENTER
10.1. Ожидаемыми являются отступы, в том числе и относительные (к примеру, при вложенных списках)
10.2. Ожидаемыми являются идентичные шрифтовые наборы, если это подразумевается дизайном Таким образом, если не предусмотрено дизайн-макетом, то в контентной области одним и тем же должны быть свойства шрифта и текстового набора у всех перечисленных выше тегов.

11. Форматирование HTML-кода
11.1. Символы табуляции в начале и конце каждой строки, равно как и символы пробела должны отсутствовать.
11.2. Комментарии к коду не обязательны, а избыточные не приветствуются и должны удаляться.
12. JavaScript код
12.1. Сопровождающий js-код (находящийся между тегами SCRIPT) по возможности должен быть вынесен во внешние файлы – один или несколько в зависимости от логики и объёма.
13. Все промежуточные результаты работы должны демонстрироваться через Интернет. Т.е. без архивов, только ссылки на свёрстанные макеты


Требования к коду каскадной таблицы стилей:
1. Файлы CSS должны представляться в формате UTF-8 без BOM метки
2. Создание CSS с учётом возможностей классового наследования свойств, для повышения управляемости каскадных таблиц.
2.1. Пример:
/* неверно, избыточно */
.contentArea {font-size:12px;}
.contentArea p {font-size:12px; text-indent:10px;}

/* правильнее */
.contentArea {font-size:12px;}
.contentArea p {text-indent:10px;}3. Использование предельно коротких названий классов, с целью минимизации трафика и повышения читабельности
3.1. Пример:
/* неверно, избыточно */
.contentArea {font-size:12px;}
.contentArea p {text-indent:10px;}

/* правильнее */
.cnt {font-size:12px;}
.cnt p {text-indent:10px;}4. Комментирование
4.1. Комментируются:
4.1.1. Файл
4.2.2. Предельно кратко отдельные блоки, для компенсирования краткости названий классов
5. Формат определения отдельного класса
5.1. Каждый класс определяется одной строкой
5.1.1. Перечисление селекторов, если требуется, осуществляется через запятую + один пробел. Перед открывающей скобкой ставится один пробел.
5.1.2. Селекторы соответствующие тегам пишутся в верхнем регистре. Селекторы соответствующие классам пишутся в нижнем регистре
5.1.3. Свойства пишутся строго в нижнем регистре.
5.1.4. Свойства перечисляются в строго заданной последовательности (позиционирование, габариты, рамка, написание, фон).
5.1.5. Если свойство сопровождается фильтром, то он должен идти в непосредственной близости стандартного свойства (до или после в зависимости от логики)
5.1.6. Свойства перечисляются в формате: название свойства, двоеточие, пробел, значение, точка с запятой, пробел. Перед закрывающей скобкой пробелов быть не должно.
6. CSS таблица должна быть максимально валидной. Для проверки на валидность следует использовать официальный W3C алгоритм.


Комментариев нет:

Отправить комментарий