Предпочтительный метод использования элементов HTML5/ролей ARIA

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

Наиболее частая техника, которую я вижу — использование таких элементов, как заголовок, нижний колонтитул, раздел, помимо классов и ролей ARIA на них. Используйте html5shiv.js для старых браузеров.

Это больше соответствует плавной деградации, чем прогрессивному улучшению. Если JS не включен или вообще недоступен в старых мобильных/настольных браузерах, мы теряем возможность стилизовать макет, созданный исключительно с элементами HTML5.

Другой подход, который я видел, больше соответствует прогрессивному улучшению и не полагается на включение JS в старых браузерах для правильной работы макета. Я кратко поговорил об этом с Джошем Кларком [Global Moxie]. Такой подход они использовали в m. версия журнала People. http://www.people.com/people/mobile/home/ Они использовали Элементы HTML5, помогающие определить семантику документа, и элементы div с классами для стилизации. Никакие стили не зависели от элементов HTML5, таких как заголовок, нижний колонтитул, сторона, раздел.

Один из моих вопросов: если роли ARIA уже установлены для элементов div, полезно ли накладывать элементы HTML5 на элементы div/span, чтобы придать разметке документа более четкое представление? Что это дает, кроме «семантики»?

При добавлении элементов HTML5 вокруг элементов div, используемых для стилизации, будет ли полезно перенести роли ARIA из элементов div в элементы HTML5? Я предполагаю, что так и будет, но хотел бы получить больше отзывов об этой технике.


person hybrid    schedule 04.02.2013    source источник


Ответы (1)


Спецификация HTML5 значительно улучшила автоматизацию алгоритма структурирования, и поэтому браузеры и программы чтения с экрана определенно выиграют от включения тегов html5 и ролей ARIA.

Mozilla подготовила отличный документ по этой теме, в котором рассматривается включение элементов html5 в документ html4. Это должно послужить отличным примером того, как вы можете заменить некоторые элементы div на более семантические элементы. Найдено здесь: https://developer.mozilla.org/en-US/docs/HTML/Sections_and_Outlines_of_an_HTML5_document

С учетом сказанного, новые семантические элементы HTML5 действительно захватывают большую часть территории div, но div по-прежнему следует использовать, когда нет другого семантически подходящего элемента, который соответствует вашей цели. Это также было значительно расширено html5 Doctor. Найдено здесь: http://html5doctor.com/you-can-still-use-div/

person kevin-zerosleep    schedule 06.03.2013
comment
При этом новые семантические элементы HTML5 захватывают большую часть территории div. Вся документация по этому поводу говорит об обратном. Элементы секционирования HTML5 используются исключительно для секционирования страниц. Да, технически вы МОЖЕТЕ стилизовать, например, раздел ‹nav›, но рекомендуется использовать для него элементы ‹div›. См. html5doctor.com/avoiding-common-html5-mistakes. - person Athoxx; 10.08.2013