Доступность: для чего можно использовать aria-haspopup?

У меня есть хорошие полномочия, что aria-haspopup подходит для подменю (например, контекстное меню всплывающих окон или меню подуровня). Он использовался в jQuery UI Selectmenu и также использовался в этом отличном примере.

То, что я не смог выяснить, является ли aria-haspopup применимым в следующих двух примерах:

  • Информационные popovers, такие как Bootstrap's - используются для контекстной информации, но не содержат ссылок
  • Всплывающие окна браузера - например. ссылки с target="_blank"

Является ли aria-haspopup подходящим в этих ситуациях? Если нет, есть ли атрибуты ARIA, которые следует использовать вместо этого?

Ответ 1

Официально он должен использоваться только для меню или подменю, из ARIA spec 1.0:

Указывает, что элемент имеет контекстное меню всплывающих окон или меню подуровня.

Руководство по стилю Whatsock охватывает это в разделе "модалы":

Может показаться хорошей идеей уведомить пользователей программы чтения с экрана, что "всплывающее окно" добавлено добавлением атрибута aria-haspopup = "true" к элементу запуска, но это не очень хорошая идея.... Короче говоря, не используйте aria-haspopup, если вы не запускаете меню.

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

Я дал ответ о подсказках Bootstrap, который должен помочь.

Для всплывающих окон браузера они все равно будут анонсированы программами чтения с экрана, не требуется дополнительная разметка. (NB: Это помогает включить визуальный индикатор нового окна для пользователей экранной лупы.)