Подготовка и проверка проектов Акселератора проводится по критериям качества, которые отвечают требованиям рынка.
Они базируются на критериях, которые были разобраны и освоены во время обучения на профессиональных курсах входящих в состав профессии и дополнены требованиями «Лиги А.»
Выполнена HTML-разметка всех страниц проекта и всех элементов на этих страницах.
К страницам подключён один стилевой файл.
Критерий говорит о том, что все стили страниц должны находиться в едином файле. Это необходимо для того, чтобы оптимизировать работу сайта: 1 таблица стилей это 1 запрос к сервису, а чем меньше запросов, тем быстрее грузится страница
Стилевой файл подключён внутри <head>
.
Все скрипты (если есть) подключены непосредственно перед </body>
.
Исключение: В реальной разработке есть исключения, но в рамках Акселератора они не предусмотрены.
Кроссбраузерность и кроссплатформенность
Документ проходит проверку на валидность http://validator.w3.org/nu/
Смотрим Доступность и SEO Lighthouse. Все ошибки Accessibility и SEO должны быть устранены.
Отсутствуют типовые ошибки в разметке по методологии.
Отсутствуют следующие ошибки методологии БЭМ:
Создание элемента без родительского блока. Это означает, что не может быть элемента block__element, если выше по дереву нет DOM-элемента с именем block.
Создание элемента для элемента.
Создание модификатора для модификатора.
Использование модификатора без блока или элемента, который он модифицирует (при использовании модификатора у тега должно быть как минимум два класса: класс блока/элемента и класс модификатора).
Названия модификаторов понятные, отражают суть и назначение модификации.
Допустимые стили именования БЭМ-сущностей:
block__elem--mod
Единообразное написание и форматирование кода в HTML.
Отсутствует транслит в названиях классов и атрибутах. Для названий классов и файлов используются подходящие слова английского языка. Названия классов должны быть универсальными, чтобы их можно было использовать на разных страницах и для разного содержимого.
На body
не должно быть классов.
Грубые ошибки в разметке отсутствуют
href
должна быть заглушка, если они никуда не ведут.
<label>
. Если лейбла нет в дизайне, то допустимо использовать aria-label
.