Каким образом, в соответствии с БЭМ, реализовать кнопку имеющую два состояния: нажата и не нажата? Использовать псевдо-классы или создать модификаторы? Но ведь если создавать модификаторы управлять состояниями придется через JavaScript, а это немного убого.
Как оказалось, лучше использовать всё-таки классы, по нескольким причинам:
Возможность эмулировать состояния блоков, через JS (с hover или active такое не пройдет (click() - это не выход)).
Даже если использовать псевдо-классы, часть (большую) компонентов придется написать на JS
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости