Несколько часов назад я прочитал об атрибуте aria-label , который:
Определяет строковое значение, которое маркирует текущий элемент.
Но, по моему мнению, это то, что title
атрибут должен был делать. Я посмотрел дальше в Mozilla Developer Network, чтобы получить некоторые примеры и объяснения, но единственное, что я нашел, было
<button aria-label="Close" onclick="myDialog.close()">X</button>
Который не дает мне никакого ярлыка (поэтому я предполагаю, что неправильно понял идею). Я попробовал это здесь, в jsfiddle .
Итак, мой вопрос: зачем мне это aria-label
и как мне его использовать?
html
assistive-technology
Сальвадор Дали
источник
источник
aria-label
его можно использовать, если вы не хотите показывать всплывающую подсказку, предоставляемую атрибутом title: В тех случаях, когда видимая метка или видимая подсказка нежелательны, авторы МОГУТ установить доступное имя элемент с использованием aria-labelОтветы:
Это атрибут, разработанный, чтобы помочь вспомогательным технологиям (например, программам чтения с экрана) прикрепить ярлык к анонимному HTML-элементу.
Итак, есть
<label>
элемент:<label>
Явно указывает пользователю ввести свое имя вinput
поле гдеid="fmUserName"
.aria-label
делает то же самое, но это для тех случаев, когда это не практично или нежелательно иметьlabel
на экране. Возьмите пример MDN :Большинство людей смогут визуально сделать вывод, что эта кнопка закроет диалог. Слепой человек, использующий вспомогательные технологии, может просто услышать, как «Х» читается вслух, что мало что значит без визуальных подсказок.
aria-label
явно говорит им, что будет делать кнопка.источник
h1
следует подчеркнуть больше, чем ap
,a
ясно, что,
форма ссылки` указывает где-то для ввода информации,aria-*
атрибуты дают дополнительные ключи к тому, что делают элементы и т. Д.) ,attribute
. Нет вреда в отображении всплывающей подсказки, чтобы «видеть» пользователей, когда ониВ приведенном вами примере вы совершенно правы, вам нужно установить атрибут 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
, в этой конкретной ситуации можно использовать больше контекста для действия:Например, слепые люди не воспринимают всплывающие окна, как у нас с хорошим зрением, это как изменение контекста. «Назад на страницу» будет более удобной альтернативой для программы чтения с экрана, когда «Закрыть» более важно для тех, у кого нет программы чтения с экрана.
источник
Если вы хотите узнать, как это
aria-label
помогает вам практически ... тогда следуйте инструкциям ... вы получите это самостоятельно ...Создайте HTML-страницу с кодом ниже
Теперь вам нужен эмулятор чтения с виртуального экрана, который будет запускаться в браузере, чтобы увидеть разницу. Таким образом, хромовые пользователи браузера могут установить ChromeVox расширение и пользователи Mozilla может идти с клыками экраном читателя AddIn
Закончив установку, вставьте наушники в уши, откройте html-страницу и сфокусируйтесь на обеих кнопках (нажимая клавишу Tab) по очереди ... и вы услышите, что ... фокусировка на
first x button
... скажет вам толькоx button
... но в случаеsecond x button
.. вы услышитеback to the page button
только ..Я надеюсь, что вы получили это хорошо сейчас !!
источник
title
атрибут игнорируется даже на первой кнопке. Больше информации: silktide.com/…title
иaria-label
?chromevox
работает как очарование и будет читать поля, помеченные арией. Спасибо.Необходимое условие:
Aria используется для улучшения работы пользователей с нарушениями зрения. Пользователи с нарушениями зрения перемещаются по приложению, используя программное обеспечение для чтения с экрана, такое как JAWS, NVDA, ... Во время навигации по приложению программное обеспечение для чтения с экрана объявляет контент пользователям. Aria может использоваться для добавления контента в код, который помогает пользователям программы чтения с экрана понимать роль, состояние, метку и назначение элемента управления.
Ария ничего не меняет визуально. (Ария тоже боится дизайнеров).
ария-этикетка
Атрибут aria-label используется для передачи метки пользователям программы чтения с экрана. Обычно в поле ввода поиска отсутствует визуальная метка (спасибо дизайнерам). aria-label может использоваться для передачи метки управления пользователям программы чтения с экрана
Как пользоваться:
В приложении нет визуальных изменений. Но программы чтения с экрана могут понять цель управления
ария-labelledby
Как aria-label, так и aria-labelledby используются для передачи метки. Но aria-labelledby может использоваться для ссылки на любой ярлык, уже присутствующий на странице, тогда как aria-label используется для обозначения ярлыка, который я не отображал визуально.
Подход 1:
Подход 2:
aria-labelledby также может использоваться для объединения двух меток для пользователей программ чтения с экрана
источник
title
Атрибут отображает всплывающую подсказку , когда мышь парит элемент. Хотя это отличное дополнение, оно не помогает людям, которые не могут использовать мышь (из-за ограничений мобильности), или людям, которые не видят эту подсказку (например, людям с нарушениями зрения или людям, которые используют программу чтения с экрана).Таким образом, внимательный подход здесь будет обслуживать всех пользователей. Я бы добавил
title
иaria-label
атрибуты (обслуживающие разные типы пользователей и разные виды использования сети).Вот хорошая статья, которая подробно объясняет
aria-label
источник