Как я могу использовать частично другой язык в html5 aria-label? - PullRequest
0 голосов
/ 10 января 2019

акцент программы чтения с экрана управляется элементом <html lang="[language]">. Когда для атрибута lang установлено значение «de», некоторые английские слова, такие как «email», произносятся как «Emil» (немецкое имя). Есть ли способ поменять акцент для отдельных слов в ярлыке арии на другой язык или другие известные обходные пути для достижения этой цели?

что-то вроде

<button aria-label="(lang=en:E-Mail) schreiben">

1 Ответ

0 голосов
/ 10 января 2019

Для вашего конкретного вопроса относительно отдельных слов в aria-label ответ - нет.

Однако, если вы используете aria-labelledby, чтобы указать метку на другой элемент (или несколько других элементов), то вы можете разделить слова и использовать атрибут lang для любых слов, которые вы хотите .

<div class="sr-only" id="mylabel">
  <span lang="en">email</span>
  <span lang="de">schreiben</span>
</div>

<button aria-labelledby="mylabel"></button>

визуально скрыт (см. Что такое sr-only в Bootstrap 3? для получения информации о классе "sr-only"), но доступно для программ чтения с экрана.

Обновление 14 января 2019

Если программа чтения с экрана (будь то VoiceOver, как указано в OP, или JAWS или NVDA) не меняет языки с aria-labelledby, то вам придется встроить «скрытый» текст (class="sr-only") внутрь

<button>
  <div class="sr-only">
    <span lang="en">email</span>
    <span lang="de">schreiben</span>
  </div>
</button>

Хотя я только что попробовал простой пример и VO не сменил языки. Это звучит как ошибка Apple. Я также попытался поменять местами слова, если VO просматривал первый языковой атрибут и использовал его для всей кнопки:

<button>
  <div class="sr-only">
    <span lang="de">schreiben</span>
    <span lang="en">email</span>
  </div>
</button>

Но это имело тот же результат. Вся кнопка была прочитана на английском языке.

Если я поставлю метку как обычный текст,

<div>
  <span lang="en">email</span>
  <span lang="de">schreiben</span>
</div>

VO работает правильно и читает первое слово на английском, а второе на немецком.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...