Тестируем всё

Как проверить, что вы всё сделали правильно? Что в разметке и в стилях нет ошибок и что результат соответствует макету? Можно воспользоваться разными инструментами, каждый для своих целей.

  1. Проверить HTML

    Используйте валидатор разметки.

    Он проверит ваш HTML на соответствие спецификациям, а так же поможет найти простые ошибки, вроде незакрытых тегов.

    Подсказка: если валидатор говорит, что в section и article обязательно должны быть заголовки, добавьте их в разметку. Если в макете нет текста, подходящего по смыслу, можно сделать скрытые заголовки используя способ с классом .visuallyhidden, это важно для доступности.

  2. Проверить БЭМ-разметку

    Используйте Html tree.

    Инструмент построит структуру страницы, проверит БЭМ-разметку на самые простые ошибки и покажет иерархию заголовков.

  3. Проверить CSS

    Валидация

    Используйте CSS syntax validator.

    Форматирование

    Используйте The stylelint CLI.

    Установка:

    npm install -g stylelint
    

    Также нужен файл с правилами проверки стилей. Можно взять мой набор правил, или накликать свой используя Stylelint Config Generator.

    Список правил сохраните в корне проекта в файл с названием .stylelintrc (расширение не нужно).

    Файл с правилами можно редактировать под ваши нужды, узнать больше о правилах можно здесь.

    Использование:

    SASS:
    stylelint "sass/**/*.scss"
    
    LESS:
    stylelint "less/**/*.less"
    

    Команда запускается в папке проекта.

  4. Проверить страницу на разных размерах экрана

    Используйте эмулятор мобильных устройств, который есть в Хроме. Кнопка включения находится в панели разработчиков, вторая иконка в верхнем ряду:

    Кнопка включения эмулятора мобильных устройств

    В эмуляторе в выпадающем меню можно просто выбрать устройство с подходящими размерами, а можно кликнуть «Edit» и добавить свои:

    Добавить устройство

    Справа на скриншоте есть выпадушка с выбором типа устройства (на скриншоте Mobile), эта опция влияет на наличие прокрутки на странице. Чтобы прокрутка не отъедала ширину страницы, между Mobile и Desktop всегда выбирайте Mobile.

    Там же можно скрыть устройства, которые вам не нужны.

    Мой список устройств выглядит так:

    Список устройств

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

    Не забывайте также проверять макеты на очень широких экранах (1400+), чтобы убедиться что и в этом случае страница не разваливается.

  5. Проверить страницу на соответствие макету

    Используйте Pixel Glass или расширение для Хрома PerfectPixel.

    Pixel Glass больше подходит для работы над проектом с адаптивной вёрсткой (макеты будут меняться сами при изменении размеров окна), PerfectPixel — для быстрой проверки страниц.

  6. Проверить шрифты

    Панель разработчика → Network → Fonts.

    Подсказка: проверьте, что в браузерах с поддержкой woff2 загрузится именно этот формат. Если грузится woff, проверьте порядок перечисления шрифтов. Браузер выбирает первый подходящий, а не оптимальный из перечисленных.

  7. Проверить изображения

    Панель разработчика → Network → Img.

    Плотность пикселей устройства можно выбрать в меню эмулятора:

    Меню выбора плотности пикселей

    Если там нет такой опции, нажмите на три точки в правой части панели устройств и включите её в выпадающем меню:

    Включить меню выбора плотности пикселей

    Если все адаптивные изображения содержат в своём адресе @, этот спецсимвол можно использовать для фильтрации, чтобы в панели показывались только те картинки, которые нужно проверить:

    Панель сетевых загрузок, картинки

    В панели устройств меняйте размеры экрана и плотность пикселей и смотрите какие изображения загрузились.

  8. Проверить страницу на переполнение контентом

    Введите в консоль браузера команду:

    document.body.contentEditable = true
    

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

    При добавлении текста элементы должны тянуться по вертикали, текст не должен упираться в края элемента или обрезаться.

    Статья по теме: Краш-тест вёрстки.