- Кроссбраузерность. Браузеры c долей более 5%. Верстаем на HTML 5 с семантическими тегами по ситуации.
- Не использовать Reset CSS, приемлем только Normalize.css.
- Верстка с помощью
<div>
и все стили вешаются на них. Семантические теги HTML 5 не должны быть стилизованы. - Весь CSS вешается на классы (
class=""
). Верстка не должна быть привязана кid
. - Кодировка должна быть UTF-8.
- Обязательное использование семантических тегов
<header role="banner">
,<nav role="navigation">
,<section role="main">
,<footer role="contentinfo">
и<article>
для текста страницы. - CSS и JavaScript должен быть в отдельных файлах.
- CSS и javaScript должны проверятся анализаторами качества кода: CSSLint и JSlint. Избежать всех ошибок этих анализаторов, за исключением предупреждений, если применение обосновано.
- Сайт должен нормально смотреться во всех стандартных разрешениях от 1024 и выше, не иметь горизонтального скролла.
- Верстка не должна ломаться при уменьшении-увеличении экрана.
- Корректная работа при вбивании реального текста, надёжность вёрстки.
- Правильная структура заголовков (
<h1>
,<h2>
, и т.д.). - Не должно быть JS-ошибок в консоли!
- Для мелких картинок связанных логически должны использоваться CSS-спрайты.
- CSS3: border-radius, gradient, box-shadow, text-shadow вместо использования графики.
- Должны быть объявлены стили для ссылок по умолчанию
:hover
,:active
и:focus
. - Размер текста в
em
и никак иначе. - Использовать последние стабильные версии библиотек (jquery, etc).
- Основные теги наполнения без классов не должны использовать вне основной части.
- Всплывающие/модальные окна делаем без прокрутки содержания страницы под ним.
- JS-обработчики должны вешаться на отдельные классы, за которыми не закреплены стили. К примеру,
js-popup-open
. - Медиа-запросы должны быть внутри css-файлов. Использование атрибута media тега не рекомендуется.
Основная часть взята от сюда.