Ария ориентировочные роли, только для контейнеров?

Я реализую ориентировочные роли ARIA в существующем HTML-макете. Чем меньше кода мне нужно изменить, тем лучше. Все примеры, которые я нашел, используют ориентир для всего контейнера. Например.

<div id="content" role="main">
<p>....</p>
<ul>...</ul>
</div>

В моих шаблонах не всегда есть контейнер, окружающий контент, который я не хочу помечать как ориентир ARIA. Иногда для реализации было бы проще не отмечать весь контейнер, а только устанавливать отметку в начале соответствующего содержимого.

Так это будет выглядеть так:

<div role="main"></div>
<p>....<p>
<ul>...</ul>

С семантической точки зрения программа чтения с экрана или другое программное обеспечение не знает точно, когда заканчивается содержимое, или, возможно, считает, что содержимое пусто. Может ли это быть проблемой?

Я протестировал его с помощью программы чтения с экрана JAWS, похоже, он ведет себя так же. JAWAS ищет только начало ориентира. Это запрет? Или я мог бы использовать его таким образом?


person yvess    schedule 26.07.2011    source источник


Ответы (3)


Ну, здесь происходит пара вещей.

Во-первых, хотя было бы хорошо, если бы все скринридеры вели себя одинаково и действовали одинаково, по моему опыту, это больше похоже на войны браузеров, поэтому использование role="main" будет отличаться для разных ридеров и не обязательно все, что полезно для вас.

Между прочим, вы правы — со стороны какого-либо атрибута роли нет распознавания того, когда заканчивается контент, и это касается всех, кого я видел, поддерживающих ARIA до сих пор (а таких только несколько).

Итак, наконец, мой совет - я думаю, вам следует использовать другую роль. Роль региона гораздо более общая, но все равно помогает пользователю определить, где находится важный контент. С другой стороны, если вы хотите, чтобы он был действительно универсальным и доступным для чтения с разных экранов, полностью откажитесь от концепции роли и добавьте скрытый тег заголовка h2, в котором говорится, как вы хотите его назвать. Хотя это и не причудливо, но гарантированно работает, и никто в сообществе a11y вообще не собирается кричать об этом.

Итак, вот оно, используйте общую роль, такую ​​как регион, чтобы разметить ее, или, что еще лучше, полностью откажитесь от идеи роли и вернитесь к шаблонному тегу h2 для единообразной совместимости.

person Ryan Hemphill    schedule 27.07.2011
comment
Неужели поддержка арии настолько плоха, что ее нельзя использовать? Здесь все выглядело не так уж плохо accessibleculture.org/research/html5-aria-2011 - person yvess; 29.07.2011
comment
Я хотел бы добавить, что такие роли, как main и banner, предназначены для определения только один раз. Но, по моему опыту, средство чтения с экрана все равно будет их циклически перебирать. Звучит так, будто нужен другой подход. Также помните о новых конструкциях HTML5, таких как article, header и т. д. Трудно помочь без дополнительной информации о том, какой контент находится на ваших страницах. Может оказаться полезной следующая ссылка на роль ARIA: paciellogroup. .com/blog/2010/10/using-wai-aria-landmark-roles - person Courtney Christensen; 03.08.2011

Согласен, это только начало содержания. В таком случае, вместо того, чтобы создавать пустой div, почему бы просто не добавить role="main" к первому элементу, который, по вашему мнению, должен запускать основной контент? В приведенном выше примере это будет тег <p>.

Другой способ использования role="main" — предоставить якорь для ссылки "перейти к основному содержанию". Это также поддерживает подход размещения роли в теге <p>.

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

person ryankeairns    schedule 24.01.2012

Я никоим образом не являюсь экспертом по WAI-ARIA (хотя узнал об этом позже), но, насколько я понимаю, читатели на самом деле понимают, что контент содержится в ролевой области, а не только в том, где начинается отмеченная область.

Кроме того, цитата из здесь:

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

Для этого вам может потребоваться изменить шаблоны больше, чем вы надеялись.

person enigment    schedule 15.04.2013