Я читал, что это плохая практика - стилизовать контент на основе данных HTML5-атрибутов.
Цитата из html5doctor.com:
Наличие / отсутствие определенного атрибута данных не должно использоваться
как хук CSS для любого стиля. Это предполагает, что данные
Вы храните, имеет непосредственное значение для пользователя и должно быть
размечены более семантически и доступно.
Может ли кто-то пролить свет на это утверждение или привести несколько примеров того, почему это может негативно повлиять на восприятие пользователя?
В качестве базового примера, скажем, я использую data-attribute-error="404"
для элементов, чтобы дать обратную связь скрипту, вместо того, чтобы добавлять классы error-404
, error-500
и т. Д. К каждому элементу для некоторого дополнительного стиля, Разве я не могу просто оформить их так:
.error { color: red; }
.error[data-attribute-error]:after { content: attr(data-attribute-error); }
.error[data-attribute-error=404] { color: grey; }
.error[data-attribute-error=404]:after { color: red; }
/* etc */
Вероятно, это не лучший пример, и я не беспокоюсь о поддержке браузера. Я просто пытаюсь лучше понять общую концепцию.
Кажется, было бы много классных вещей, которые мы могли бы сделать с помощью CSS3 и пользовательских атрибутов, чтобы стилизовать вещи, основанные на контенте, сохраняя наши «настоящие» классы более общими для обработки чистого стиля, не основанного на контенте.
Это просто общее руководство, которое можно игнорировать в определенных ситуациях, или это ужасный грех на стороне клиента?
Спасибо!