- Кроссбраузерность. Браузеры 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 тега не рекомендуется.
Основная часть взята от сюда.