我如何在 html5 aria-label 中部分使用另一种语言?
How can i use partly another language in html5 aria-label?
屏幕阅读器的重音由 <html lang="[language]">
元素控制。当 lang 属性设置为 "de" 时,某些英语单词如 "email" 发音为 "Emil"(德语名字)。有没有办法将 aria-label 中单个单词的重音切换为另一种语言或其他众所周知的解决方法来实现这一点?
类似
<button aria-label="(lang=en:E-Mail) schreiben">
对于您关于 dividual words in an 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" class 的信息,请参阅 What is sr-only in Bootstrap 3?),但可用于屏幕 reader。
2019 年 1 月 14 日更新
如果屏幕 reader(无论是 VoiceOver,如 OP 中所要求的,还是 JAWS 或 NVDA)不使用 aria-labelledby
更改语言,那么您必须嵌入 "hidden"
<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 工作正常,可以读出英语中的第一个单词和德语中的第二个单词。
屏幕阅读器的重音由 <html lang="[language]">
元素控制。当 lang 属性设置为 "de" 时,某些英语单词如 "email" 发音为 "Emil"(德语名字)。有没有办法将 aria-label 中单个单词的重音切换为另一种语言或其他众所周知的解决方法来实现这一点?
类似
<button aria-label="(lang=en:E-Mail) schreiben">
对于您关于 dividual words in an 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" class 的信息,请参阅 What is sr-only in Bootstrap 3?),但可用于屏幕 reader。
2019 年 1 月 14 日更新
如果屏幕 reader(无论是 VoiceOver,如 OP 中所要求的,还是 JAWS 或 NVDA)不使用 aria-labelledby
更改语言,那么您必须嵌入 "hidden"
<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 工作正常,可以读出英语中的第一个单词和德语中的第二个单词。