Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Стандарт качества

на вёрстку

версия 1.1

Оглавление

I. Соответствие макету...................................................................................... 4

II. Кроссбраузерность, кодировка и DOCTYPE............................................. 4

1.Кодировка: UTF-8....................................................................................................................... 4

2.DOCTYPE: HTML5......................................................................................................................... 4

3.Кроссбраузерность.................................................................................................................... 4

1.1)Chrome 13 ............................................................................................................................... 4

1.2)FireFox 4 ................................................................................................................................. 4

1.3)Safari 5 .................................................................................................................................... 5

1.4)Opera 11.................................................................................................................................. 5

1.5)Internet Explorer 8 и 9 (для IE6-7 выводится уведомление о не поддержке и предложении скачать другой браузер или установить Google Frame, но с возможностью всё-таки просмотреть сайт)............. 5

* Проверка в IE7 делается переключением IE8 в режим IE7 (F12→Режим обозревателя→Internet Explorer 7)....................................................................................................................................................... 5

НЕ нашли? Не то? Что вы ищете?

* В IE6 можно посмотреть на ipinfo. info/netrenderer/ или на виртуальной машине (удобно использовать Windows XP Mode в Win7)........................................................................................................................... 5

1.6)Opera Mini.............................................................................................................................. 5

* проверяется в Opera Developer Tools→Opera Mini Simulator, нужно установить Java плагин к браузеру, или в крайнем случае: Opera 9.64→Вид-Маленький экран, но в 9.64 JS будет работать полноценно в отличие от настоящей Opera Mini, это нужно учитывать)............................................................................... 5

III. Валидность, доступность, микроформаты................................................ 5

1.Не должно быть js-ошибок........................................................................................................ 5

2.Титульная страница должна быть валидна в любом случае. Ошибки на внутренних страницах допустимы в следующих случаях:..................................................................................................................... 5

Для внесения контента использовался копипастит текстов из Word’а в визуальный редактор;.. 5

При использовании программистами некоторых кастомных атрибутов..................................... 5

3.CSS валидируется по версии 3.0, его валидность не требуется. Синтаксические ошибки (типа margin: 10xp) должны быть исправлены............................................................................................................ 5

4.Микроформаты должны быть. Как минимум – hCard. Желательно также hCalendar, XFN, hAtom. 6

IV. Корректность при разных вариантах разрешения.................................. 7

Сайт должен корректно отображаться и функуионировать во всех стандартных разрешениях от 1024 и выше и не иметь горизонтального скролла. Список классических разрешений:.......................................... 7

V. Надёжность вёрстки..................................................................................... 8

VI. Проверка и оптимизация скорости загрузки............................................ 9

VII. Наличие Win/Mac/Linux-аналогов шрифтов.......................................... 10

VIII. Доступность при выключенных (загружающихся) картинках............ 10

IX. HTML5 формы, линковка, валидация..................................................... 11

X. Семантичность. Единообразие, аккуратность в html и css,..................... 12

XI. Правильная структура заголовков (H1,H2,… и т. д. и TITLE)............... 13

XII. Работоспособность при выключенном JavaScript................................. 13

XIII. Работоспособность при выключенном Flash........................................ 13

XIV. Отсутствие багов при увеличенном шрифте......................................... 14

XV. Дополнительная информация................................................................. 14

XVI. Мелкие проверки................................................................................... 14

I. Соответствие макету

Расположение блоков должно быть 1:1 по сравнению с макетом. Допускается расхождение до 5px для текста. Разрешены и даже приветствуются правки размеров и расположения криво нарисованных блоков (разница размерах в 1-2px на разных страницах).


При изменениях контента, размеры блоков могут меняться (по высоте например).

Как проверяется: Для проверки, что все базовые блоки находятся там где надо, их размеры, отступы — соответствуют макету, можно использовать плагин Firefox - Pixel Perfect. Для проверки в других браузерах - ModularGrid.

II. Кроссбраузерность, кодировка и DOCTYPE

1.  Кодировка: UTF-8

UTF-8 необходима для универсальности и совместимости.

Как проверяется: в Firefox Инструменты→Информация о странице, в появившемся окне должно быть написано «Кодировка: UTF8». Эта кодировка должна использоваться для всех файлов: html, css, js (если файлы в разных кодировках могут быть проблемы)

2.  DOCTYPE: HTML5

Наличие корректного doctype необходимо чтобы страницы отображались в соответствии со стандартами. Новый doctype позволяет использовать современные тэги (canvas, header, article,...) и старые проверенные решения. HTML5 — это современный стандарт, в нём можно писать и в строгом XHTML-синтаксисе.

Как проверяется: открываем исходный код страницы, первая строка должны быть <!DOCTYPE HTML>

3.  Кроссбраузерность

Все страницы должны корректно отображаться в браузерах:

.1.1)  Chrome 13

.1.2)  FireFox 4

.1.3)  Safari 5

* чтобы проверить не имея mac «размытые Mac'овские» шрифты (они чуть большего размера, из-за этого бывают баги), то установите в Preferences→Appearance, «Font Smoothing» в Medium (по дефолту там «Windows Standart»).

.1.4)  Opera 11

.1.5)Internet Explorer 8 и 9 (для IE6-7 выводится уведомление о не поддержке и предложении скачать другой браузер или установить Google Frame, но с возможностью всё-таки просмотреть сайт).

* Проверка в IE7 делается переключением IE8 в режим IE7 (F12→Режим обозревателя→Internet Explorer 7).

* В IE6 можно посмотреть на ipinfo. info/netrenderer/ или на виртуальной машине (удобно использовать Windows XP Mode в Win7).

– проверка в IE

.1.6)Opera Mini

* проверяется в Opera Developer Tools→Opera Mini Simulator, нужно установить Java плагин к браузеру, или в крайнем случае: Opera 9.64→Вид-Маленький экран, но в 9.64 JS будет работать полноценно в отличие от настоящей Opera Mini, это нужно учитывать)

Как проверяется: Проверяется просмотром сайта в вышеперечисленных браузерах.

III.  Валидность, доступность, микроформаты

1.  Не должно быть js-ошибок

Как проверяется: Ошибки js проверяются просмотром сайта в IE – в левом нижнем углу не должно быть значка «есть js-ошибки».

2.  Титульная страница должна быть валидна в любом случае. Ошибки на внутренних страницах допустимы в следующих случаях:

·  Для внесения контента использовался копипастит текстов из Word’а в визуальный редактор;

·  При использовании программистами некоторых кастомных атрибутов.

3.  CSS валидируется по версии 3.0, его валидность не требуется. Синтаксические ошибки (типа margin: 10xp) должны быть исправлены.

Как проверяется валидность: С помощью онлайн-валидаторов:

·  HTML: validator. w3.org/ (или  Web Developer →Инструменты →Проверить HTML)

·  CSS: jigsaw. w3.org/css-validator/ (или  Web Developer →Инструменты →Проверить CSS)

4.  Микроформаты должны быть. Как минимум – hCard. Желательно также hCalendar, XFN, hAtom.

Как проверяется: С помощью онлайн-валидаторов:

·  Наличие микроформатов проверяется плагинами  Operator и  Tails Export.

·  Валидаторы микроформатов:

ü  /optimus/

ü  www. /webmasters/tools/richsnippets

ü  webmaster. yandex. ru/microtest. xml

ü  hcard. /



5. В идеале вёрстка должна соответствовать стандарту доступности: WCAG.

Как проверяется: Самый просто способ проверить что скорей всего WCAG1 Priority A соблюдён — www. /

(или  Web Developer Инструменты Проверить WAI).

Некоторые ошибки в валидации допустимы.

· HTML

Стандарт HTML5 находится в активной разработке: вносятся изменения, что-то добавляется, что-то исключается. Валидатор HTML5 меняет правила проверки в соответствии с этим.
То что было валидным вчера, сегодня может выдавать ошибку, например такая ситуация сейчас сapple-touch-icon и XFN.

· CSS

1. По-умолчанию валидатор CSS проверяет код согласно стандарту 2.1, а не 3.
Поэтому допустимы ошибки такого рода:
Property box-shadow doesn't exist in CSS level 2.1

Property border-radius doesn't exist in CSS level 2.1

Property background-size doesn't exist in CSS level 2.1

Value Error : background Too many values or values are not recognized : linear-gradient(top,#7baee7,#b5dbff 22%) linear-gradient(top,#7baee7,#b5dbff 22%)

и т. п.

2.  Валидатор считает ошибкой указание вендорных префиксов

Поэтому допустимы ошибки такого рода:
Property - moz-box-shadow doesn't exist

Property -webkit-background-clip doesn't exist

Property -o-border-image doesn't exist

Property -khtml-background-size doesn't exist

Property -ms-filter doesn't exist

Property -pie-background doesn't exist

Unknown pseudo-element or pseudo-class :-moz-any-link

Value Error : display - moz-inline-box is not a display value

и т. п.

3. Раньше проприентарные свойства IE было рекомендовано выносить в отдельный CSS. Сейчас стоит использовать HTML5 Boilerplate и фильтровать в style. css с помощью html. oldie, html. ie7 и т. д.
Тогда допустимы ошибки такого рода:
Property behavior doesn't exist

Property progid doesn't exist

Property _display doesn't exist

и т. п.

IV.  Корректность при разных вариантах разрешения

Сайт должен корректно отображаться и функуионировать во всех стандартных разрешениях от 1024 и выше и не иметь горизонтального скролла. Список классических разрешений:

·  1024x600

·  1024x768

·  1152x864

·  1280x800

·  1280x1024

·  1440x900

·  1680x1050

·  1920x1080

Как проверяется: Проверяется в FF через плагин  Web DeveloperResize

  V.  Надёжность вёрстки

Вёрстка должна тянутся, не разваливаться и не терять дизайнерский вид при изменении контента на странице. Его может быть больше или меньше чем на макете, он может быть «обёрнут» в теги <p> и прочее.

1.  Проверка ввода и удаления данных.

Как проверяется: на странице с контентом, пробуется добавлять и удалять содержимое – когда текста много и мало.

2.  Проверка корректности работы стилей.

Как проверяется: на страницы с контентом вносится текст с абзацами и без абзацев, со списками и картинками, таблицами и заголовками разных уровней.


* Правки содержимого страницы делаются в FF через плагин  Firebug: HTML→Edit – меняем/добавляем/удаляем текст.

Рекомендуется использовать html5-тэги для разметки: header, footer, aside, nav, section, article и т. д. Кроме того что это семантично, также повышается надёжность вёрстки. Лишний открытый или закрытый div легко может поломать вёрстку. Но когда каркас сайта — атомарные и редко повторяющиеся html5-тэги, то «поломка» локализуется в пределах html5-тэга.

VI.  Проверка и оптимизация скорости загрузки

· Для мелких картинок связанных логически должны использоваться CSS-спрайты (например, набор буллетов или вариации отображения пункта меню: дефолтный, активный)

· Base64-encode для мелких отдельных картинок;

· CSS3 border-radius, gradient, box-shadow, text-shadow вместо использования графики;

· Оптимизация PNG и JPG файлов;

· JS максимально должен быть вынесен во внешние файлы, внешние js-файлы разумно объединены для уменьшения количества запросов. JS-библиотеки, например jQuery нужно грузить с Google CDN. Постарайтесь включить отложенную загрузку для большинства JS.


Как проверяется скорость загрузки в целом:

·  по панели Net в  Firebug
Необходимо проверять, 
как отображается страница при загрузке на малых скоростях (хотя бы 64 КБ). Очень часто в такие моменты пользователь видит разъехавшуюся верстку.

·  Сервисами PageSpeed Insights и WebPageTest, основанными на Google PageSpeed Service

·  Page speed и  YSlow аддонам в Firebug (учитывая, что значительная часть рекомендаций: включение сжатия, установка определённых headers, minifying кода – относится к серверным работам, а не вёрстке)

Как проверяется наличие css-спрайтов: поиском по коду блоков объявлений вида:
… {background-position: 0 -30px}

… {background-position: 0 -60px}

… {background-position: 0 -90px}

(цифры могут быть любые)

Как проверяется наличие base64-encode: проверяется поиском по коду блоков объявлений видаurl (data:image/png;base64,iVBOR… )

Border-radius, gradient, box-shadow, text-shadow проверяются поиском этих слов в css

· Как проверяется наличие оптимизации png/jpg : запустить готовые скрипты оптимизации графики для картинок вашей вёрстки и сравнить результат с исходными файлами – если размер почти не измениться – значит всё ок.

· Если js не объединены в один файл, то Page Speed скажет вам об этом: “Combine external JavaScript”.


Рекомендации:

ü  Нужно не забывать очевидные вещи: правильно выбирать тип картинки для сохранения JPG или PNG, выставлять тип Progressive для JPG, не использовать тяжелые (больше 200-300kb картинки).

ü  Необходимо учитывать что спрайтов, base64 encode и css3-стилей может и не быть по причине ненужности (макет очень простой).

VII.  Наличие Win/Mac/Linux-аналогов шрифтов

Должны быть прописаны альтернативные стандартные шрифты.

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

* Часто забывают прописывать альтернативы для Myriad Pro, Arial Narrow.


Как проверяется: поиском по тексту css названий “Helvetica”,“Liberation”, “DejaVu”,”Meera”,”Monaco”, “ Century Schoolbook L”,” Nimbus Mono L”, “URW”. Хотя бы два из них должны быть.


Наборы аналогов популярных шрифтов:

·  CSS font matching: Windows, Mac and Linux

·  Complete Guide to Pre-Installed Fonts in Linux, Mac, and Windows

·  Codestyle: Combined font survey results

·  Common fonts to all versions of Windows & Mac equivalents

VIII.  Доступность при выключенных (загружающихся) картинках

Надписи (особенно логотип и главное меню сайта) должны оставаться читабельными, у всех информационных картинок должны быть подписи аккуратным небольшим серым шрифтом (для img задаётся font – это внешний вид alt-текста, который выводится вместо картинки).


Картинки часто отключают при использовании дорогого инета, тарифицируемого по траффику (GPRS, роуминг).


Как проверяется: в FF через плагин Web Developer→Images→Replace Images With Alt Attributes.

IX.  HTML5 формы, линковка, валидация

1.  Label и input/select должны быть слинкованы.
Это нужно для удобства пользователей. Также это очень облегчает жизнь пользователям с ограниченными физическими возможностями.

Как проверяется: Проверяется кликом по label – должен активироваться соответствующий ему элемент ввода.

2.  HTML5 валидация заполнения формы.

Серверная проверка ввода данных может быть реализована без перезагрузки страницы (через ajax), но тем не менее. У редкого числа пользователей современных браузеров с отключенным javascript, проверка ввода данных происходит средствами браузера, а не сервера.

Как проверяется: выключаем javascript, не заполняем форму, кликаем Submit – должны появится уведомления о необходимости заполнить поля.

3.  JS-валидация формы.
Пользователи привыкли, что если они неправильно заполнят форму, им не дадут её отправить, а укажут на ошибки.

Как проверяется: в Opera/Safari/Chrome: включаем javascript, не заполняем форму, жмём Submit – должны появится уведомления о необходимости заполнить поля.

4.  Если проверяется frontend в целом — должна быть серверная валидация формы.


Как проверяется: в Firefox 3.6: выключаем javascript, не заполняем форму, жмём Submit – должны появится уведомления о необходимости заполнить поля.

5.  Правильные input type=”email/url/tel”

Практическая ценность для пользователя заключается в том, что на iPhone будет показываться клавиатура соответствующая формату поля ввода.

Как проверяется: на iPhone — в зависимости от типа поля ввода он должен показывать различную клавиатуру: стандартную/цифровую/для набора web/email-адресов.

6.  Уведомления об ошибках должны быть не js-alert’ом, а текстом в дизайне сайта


Всё оформление в формах должно быть «повешено» на классы,

id — только для линковки с label.

  X.  Семантичность. Единообразие, аккуратность в html и css,

1.  Наиболее частые ошибки:

· float: left для всех блоков.

Как проверяется: Web Developer Outline → Float elements, если всё в красных блоках, вёрстку нужно переделывать.

· Отступы между блоками на сайте должны быть за счёт margin у блоков, а не margin у содержимого блоков.

· Плохо — отсутствие тайтлов.

· Плохо — отсутствие тайтлов.

· Плохо — отсутствие alt у картинок.

· Плохо — стили для IE внутри main. css без фильтров. Т. е. когда просто написано {zoom: 1;} — это очень плохо, т. к. будет применяться ко всем IE, а не только к тому, в котором проблема. Нужно фильтровать: HTML5 Boilerplate-стили (html. ie7, html. ie8,...), использовать Conditional Comments, ну или на крайний случай (* html, *+html и т. д.).

· Плохо – не проверять tabindex в формах.

· Плохо — писать стили, не думая о логике размещения элементов. Например, если элемент всегда находится сверху, у него должен быть большой z-index. Если элемент всегда должен находится на каком-то месте, в независимости от окружающих его элементов — это position: absolute; а не float и т. д.

· Блоки независящие друг от друга не должны быть внутри одного блока (например, телефон компании и поиск по сайту). Блоки независящие по расположению друг от друга должны быть position absolute, а не float.

· Очень плохо — презентационные классы (right, red).

· Плохо когда нет базовых стилей у стандартных элементов. Т. е. просто h1,h2,ul, table, etc без классов должны смотреться красиво и органично.

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

· Плохо – чересчур детализированные глобальные стили. Например, a {font: italic 10px Tahoma;}. В последствии приходится переопределять стиль ссылок для каждого блока.

· Размеры и позиционирование элемента должны указываться в одних единицах измерения. Для текстовых блоков это в 90% случаев — em. Line-height — как правило коэффициентом (1/1.2/1.4… т. е. без указания единицы измерения — это цифра на которую умножается font-size и получится межстрочный интервал). Т. е. задали font-size/height в em — значит задаём и margin/padding тоже в em. Классический пример: список dl-dt-dd, где dt и dd ставятся друг на против друга с помощью подтягивания dd отрицательным margin вверх. Или — выделили padding'ом место под position: absolute какого-то текстового блока. Задаём padding и height в em (чтоб корректно увеличивать размер шрифта).

· Плохо вешать стили на стандартные тэги, без классов. Т. е. допустим, пишем что-то типа h2 a span {какая-то картинка с графикой, которая закрывает текст}, а потом клиент в визуальном редакторе нечаянно вбивает такое сочетаниеклавиш - получается невероятный баг. Все стили элементов внутри #content обязательно должны навешиваться на элементы с классом.

· Плохо — напрямую задавать визуальное отображение элементов через js:$(“elementid”).css(styleName,"something"). Это должно делаться через установку/смену классов.

2.  Примеры хорошего:

· Хорошо — структурировать код в блоки описывающие логику документа. Т. е. создавать div даже там, где он для презентационных целей не нужен. И наоборот — стараться не ставить лишний div там, где структура этого не требует, а это нужно лишь для визуальных эффектов.

· Для текстовых блоков, что редактируются в админке, должна обеспечиваться атомарность текстовых стилей. Т. е. есть страничка с каким-то текстовым блоком, примерно такой структуры:

body. contacts #content #content-text h1

body. contacts #content #content-text. entry

body. contacts #content #content-text. entry. somenamedblock


div. somenamedblock должен получать текстовые стили непосредственно — div. somenamedblock {font: ...; color: ...;}, т. к. иначе в визуальном редакторе CMS мы не сможем задать им стиль.

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

XI.  Правильная структура заголовков (H1,H2,… и т. д. и TITLE)

Заголовки структурируют сайт, делают его корректным документом. Корректный Document Outline важен для SEO.

Как проверяется: в FF через плагин Web Developer→Information→View Document Outline. Красных строк быть не должно.

XII.  Работоспособность при выключенном JavaScript

JS может быть выключен согласно корпоративных требований безопастности. В Opera Mini он работает только методом перезагрузки страницы. 


А также — сайт должен сохранять нормальный вид, пока он грузится на медленном 3G и js-скрипты ещё не выполнились.

Весь критически важный функционал сайта должен быть доступен без JS. Дополнительные «фишки» (например, ссылки на увеличение шрифта или распечатку) – при выключенном JS не должны отображаться.

Если нет возможности реализовывать функционал без JS, нужно хотя-бы выводить уведомление о необходимости его включить (реализовывается через <noscript>).

Как проверяется: в FF через плагин Web Developer→Disable→Disable JavaScript→All JavaScript.

XIII.  Работоспособность при выключенном Flash

В идеале весь критически важный функционал сайта был доступен без Flash. Нужно:

· выводить фоновую графику в блок, где должен отображаться презентационный flash;

· выводить хотя-бы просто тестовую информацию в блок где через flash выводится какая-то информация;

· выводить кнопку “Get Adobe Flash Player” и предлагать Express Install если без флеша никак не обойтись.


Как проверяется: в FF отключением flash-плагина: Tools→Add→Plugins→Shockwave Flash→disable.

XIV.  Отсутствие багов при увеличенном шрифте

Как проверяется: в FF

·  Шрифты – включением View→Zoom→Zoom Text Only и последовательным нажатие клавиш Ctrl + — (или View→Zoom→Zoom In).

·  120 dpi – настраивается отдельным приложением в Control Panel (Vista/Seven) или в свойствах драйвера видеокарты в XP.

Для проектов, где это оговорено, проверяется:

·  Версия для печати (она должна быть реализована через css)

·  Мобильная версия (таки тоже должна быть через css)

XV.  Дополнительная информация

При получении вёрстки желательно получить также описание, какие CSS/JS фреймворки будут использованы и пожелания по использованию jquery

XVI.  Мелкие проверки

· Лого на внутренних страницах должно вести на главную страницу сайта. На главной странице logo = h1, на внутренних H1=заголовок контента, а Logo=div

· У каждой страницы должен быть свой уникальный TITLE формата <title>About Us - %CompanyName%</title>

· Все страницы должны быть слинкованы и проверены на наличие битых ссылок.

· Все ссылки должны реагировать на :hover, :active и :focus — показыванием/убиранием подчёркивания, сменой цвета,. У всех ссылок, кроме пунктов меню, должна быть реакция на :visited.

· «Контент в начале страницы» — содержимое страницы должно идти в начале кода, до сайдбаров и прочего.

· Расширение страниц на сайте должно быть ".html" а не ".php", а все созданные странички изначально должны быть порезаны на шаблоны и работать через mod_rewrite.

· Должны быть favicon. ico (желательно с включенными внутрь неё 32x32, 48x48 и 64×64 вариациями) и apple-touch-icon

· В вёрстке не должны оставаться закомментированные «на всякий случай» куски кода, лишние неиспользуемые файлы, старые версии файлов и т. п.

· Размеры для блоков, чьи размеры зависят от содержащегося в них текста, нужно задавать в em, а не px.

· Если url ссылки неизвестен, то он должен быть равен её анкору, написанному латиницей с заменой пробелов/спецсимволов на тире.

· Skype-плагин не должен ломать вёрстку

· Изменение размера textarea не должен ломать вёрстку

· При проверке frontend в целом — 404-страница должна отдаваться с кодом 404 а не 200.

· Нужно подстраховываться фиксируя в css размеры картинок, выводящихся программно.

· Ссылки на чужие сайты должны быть с target=«blank», желательно выделять их иконкой «внешняя ссылка».

· Картинки должны быть в отдельной папке, css — в отдельной и js — в отдельной.