簡體   English   中英

aria-live =“禮讓”不會宣布選中的表單控件(如單選按鈕/復選框)

[英]aria-live=“polite” doesn't announce selected form controls like radio button/checkbox

如果加載的內容具有表單控件(如單選按鈕或復選框),則aria-live="polite"遇到一個奇怪的問題。

NVDA只會讀取單選按鈕的文本,但不會宣布有關已選擇或選中哪個按鈕的任何信息。

<a aria-label="Click Me" href="#">Click Me</a>
<div id="myForm" aria-live="polite"></div>

這是the

抱歉,您還沒有得到一個好的答案。 歡迎來到無障礙環境。

您的問題與aria-live=“polite”無關,它只是NVDA工作的方式。 所以我想這是個好消息,您做對了。 在下面的示例中,我將默認選項更改為“兩天”,因此我可以確認正在讀取的內容不僅是第一個選項。

通過您的代碼,我聽到:

點擊我鏈接

然后,我按SPACE鍵激活鏈接,然后聽到:

選擇運送方式:

過夜

兩天<-您要說“已選擇/已檢查/已選中”

地面

如果我進入該群組,則會聽到:

選擇運送方式:

單選按鈕未選中兩天

為了獲得所需的行為,我更新了HTML以生成不可見的<span> ,其中包含文本Default is "Two day" 現在我聽到的是:

點擊我鏈接

然后,我按SPACE鍵激活鏈接,然后聽到:

選擇一種送貨方式,默認值為“兩天”:

過夜

2天

地面

外觀如下所示(注意圖例中的跨度):

<fieldset role="radiogroup" aria-labelledby="shipMethod" id="myFieldSet">
    <legend id="shipMethod">Choose a shipping method<span style="display:none;"> Default is "Two day"</span>:</legend>
    <input name="shipping" id="overnight" type="radio" value="overnight">
    <label for="overnight">Overnight</label>
    <br>
    <input name="shipping" id="twoday" type="radio" value="twoday" checked="checked">
    <label for="twoday">Two day</label>
    <br>
    <input name="shipping" id="ground" type="radio" value="ground">
    <label for="ground">Ground</label>
</fieldset>

您還可以通過更改控件焦點來獲得類似的效果,但這對於使用屏幕閱讀器的用戶來說有點不酷。

這並不難實現,並且某種程度上是一種優雅,因為需要額外幫助的用戶可以在不為其他用戶更改的情況下獲得它。

暫無
暫無

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

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