В приведенном вами примере вы совершенно правы, вам нужно установить атрибут title.
Если aria-label
это инструмент, используемый вспомогательными технологиями (например, программами чтения с экрана), он не поддерживается в браузерах и не оказывает на них никакого влияния. Это не окажет никакой помощи большинству людей, на которых ориентируется WCAG (кроме пользователей программ чтения с экрана), например, людям с ограниченными интеллектуальными возможностями.
Буква «Х» не является достаточной для предоставления информации о действии, выполняемом кнопкой (подумайте о человеке, не имеющем компьютерных знаний). Это может означать «закрыть», «удалить», «отменить», «уменьшить», странный крест, каракули, ничего.
Несмотря на то, что W3C, кажется, продвигает aria-label
скорее этот title
атрибут здесь: http://www.w3.org/TR/2014/NOTE-WCAG20-TECHS-20140916/ARIA14 в аналогичном примере, вы можете видеть, что технология поддержка не включает стандартные браузеры: http://www.w3.org/WAI/WCAG20/Techniques/ua-notes/aria#ARIA14
На самом деле aria-label
, в этой конкретной ситуации можно использовать больше контекста для действия:
Например, слепые люди не воспринимают всплывающие окна, как у нас с хорошим зрением, это как изменение контекста. «Назад на страницу» будет более удобной альтернативой для программы чтения с экрана, когда «Закрыть» более важно для тех, у кого нет программы чтения с экрана.
<button
aria-label="Back to the page"
title="Close" onclick="myDialog.close()">X</button>
aria-label
его можно использовать, если вы не хотите показывать всплывающую подсказку, предоставляемую атрибутом title: В тех случаях, когда видимая метка или видимая подсказка нежелательны, авторы МОГУТ установить доступное имя элемент с использованием aria-label