Строго говоря, лучшим подходом является использование видимой метки с элементом label
, поскольку это облегчает использование ввода с голосовым управлением.(Голосовое управление - вот почему WCAG 2.1 представил SC 2.5.3 : «Для компонентов пользовательского интерфейса с метками, которые содержат текст или изображения текста, имя содержит текст, который представлен визуально». Однако этот SC делаетне требует видимых меток.)
Если вам не нужна видимая метка, вам необходимо знать о правилах приоритета для "вычисления доступного имени". WAI-ARIA 1.1 содержит некоторую основную информацию об этом:
имя происходит из значений, предоставленных автором в явных функциях разметки, таких как aria-label атрибут aria-labelledby или механизм маркировки основного языка, такой как атрибуты alt
или title
в HTML, с атрибутом заголовка HTML, имеющим наименьший приоритет для указания текстовой альтернативы.
Это означает, что вы должны ожидать, что программа чтения с экрана будет считывать значение aria-label
атрибута вместо (не в дополнение к ) значенияатрибута title
.Всплывающая подсказка будет просто отображать содержимое атрибута title
, как и ожидалось (но программы чтения с экрана не используют мышь, если у них нет остаточного видения).
Поскольку доступный алгоритм вычисления имени в WAI-ARIA1.1 немного короче, W3C работает над более подробным алгоритмом в проекте спецификации, который в настоящее время доступен на GitHub.См. параграф 5.1.1 в HTML Accessibility API Mappings 1.0
Однако официальные спецификации, относящиеся к этому вопросу, в настоящее время представляют собой WAI-ARIA 1.1 (цитируется выше) и Доступное имяи описание вычисления 1.1 с декабря 2018 года.