Стилизация контента на основе данных-атрибутов HTML5 - PullRequest
1 голос
/ 16 марта 2012

Я читал, что это плохая практика - стилизовать контент на основе данных 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 и пользовательских атрибутов, чтобы стилизовать вещи, основанные на контенте, сохраняя наши «настоящие» классы более общими для обработки чистого стиля, не основанного на контенте.

Это просто общее руководство, которое можно игнорировать в определенных ситуациях, или это ужасный грех на стороне клиента?

Спасибо!

1 Ответ

0 голосов
/ 16 марта 2012

По сути, они предполагают, что если сообщение об ошибке, статус или номер достаточно важны для представления пользователям, то оно должно быть представлено в доступной форме. WCAG Guideline 1.4.1 гласит:

Использование цвета : Цвет не используется в качестве единственного визуального средства передачи информации, указывающего действие, подсказкуответ или различение визуального элемента.(Уровень A)

Еще один момент, на который следует обратить внимание, это то, что контент, созданный CSS, недоступен для программ чтения с экрана и других вспомогательных технологий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...