簡體   English   中英

使屏幕閱讀器將“ 16”讀為“十六”

[英]Make screen reader read “16” as “sixteen”

我目前有一個帶有標簽的表單元素:

<label for="number">16-digit number</label>

這是由OS X El Capitan的VoiceOver Utility讀出的,是“ 1 6位數”,但我想讀為“ 16位數” 這可能嗎? 如果是這樣,怎么辦?

我嘗試了以下方法:

<label for="number"><span>16</span>-digit number</label>
<label for="number"><span style="speak-numeral: continuous !important;">16</span>-digit number</label>
<label for="number"><span style="speak-as: normal !important;">16</span>-digit number</label>
<label for="number"><span style="speak-numeral: continuous !important; speak-as: normal !important;">16</span>-digit number</label>

可能還有其他我不記得的選擇。 任何建議將不勝感激。


如果有人在奮斗后發現此問題,請用一些失敗的搜索詞發表評論,以幫助其他人找到此有用信息。 謝謝。

也許:

<label for="number">
  <span class="sr-only">sixteen</span>
  <span aria-hidden="true">16-</span>
  digit number
</label>

其中sr-only是:

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}

計算完標簽的替代文本(“ 16位數字 ”)后,它會盡可能考慮將16位作為單個單詞(以及某種字母數字首字母縮寫詞)進行讀取。

因此,放入label標簽中的不同CSS指令不會產生任何效果,因為已經計算出了替代文本。

您可以使用aria-label

<label for="number" aria-label="16 digit number">16-digit number</label>

您也可以嘗試添加一個不可見的暫停,或某種形式的字符代替/補充連字符。 根據Voiceover計算文本的方式,以下操作可能會起作用。

<label for="number">16-&shy;digit number</label>
<label for="number">16&dash;digit number</label>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM