Я протестировал ваш код в NVDA, используя Chrome и Firefox в Windows, и атрибут aria-label
читался правильно каждый раз.Кажется, что VoiceOver обладает уникальным поведением по сравнению с другими программами чтения с экрана, поэтому я бы не стал слишком сильно беспокоиться об этом.
Некоторые параметры:
Вы можете просто добавить содержимое атрибута aria-label
в div в виде простого текста.Это определенно было бы прочитано.
Если вы действительно не хотите, чтобы этот текст был видимым, вы также можете воспользоваться подходом для размещения текста вне экрана с помощью CSS вместо использования aria-label
.
В любом случае, я бы не стал слишком зацикливаться на том, как работает одна программа чтения с экрана.Каждая комбинация программ чтения с экрана и браузера будет давать немного разные результаты, и эти результаты будут меняться с течением времени при обновлении программного обеспечения.Лучшее, что вы можете сделать как разработчик - это кодировать в соответствии с установленными стандартами.
Некоторые люди будут кодировать хакерские «обходные пути», чтобы смягчить слабые места технологии (как это).Идти по этому пути хорошо, если у вас есть ресурсы для постоянного обновления вашего кода.Когда производители программ чтения с экрана или браузеров решают проблемы, введенные обходные пути могут вызвать больше проблем, чем решат.