2016-06-29 48 views
1

我想添加輔助功能到一個動態頁面,我有一個div,所有的內容被取代,其標記爲有禮貌的唱腔。輔助功能詠歎調閱讀順序更改ios

<div id="replace-content" aria-live="polite" aria-relevant="additions"></div> 

當內容被替換的一切得到讀不如預期,但是當我更換了內容

<p id="p1"> A Title </p> 
<p id="p2"> Some text </p> 
<table id="table"> 
a Table with multiple rows and 2 columns 
</table> 
<p id="p3"> More Text </p> 

IOS VoiceOver的順序P1讀取,P2,P3,P1的表這一翻譯,P2 ,表格,p3。

這隻發生在ios VoiceOver上,使用chrome的ChromeVox按預期工作。

有誰知道如何改變ios中的閱讀順序?

+0

我看到一個類似的問題。你有沒有想過這個? –

+0

出於好奇,我嘗試使用setTimeout按照我希望讀取的順序插入內容。正如預期的那樣,這樣做效果不佳。即使設置了「aria-relevant =」添加內容,iOS VoiceOver在添加新內容時會再次讀取整個內容。 –

+0

此外,使用setTimeout延遲依次在每個子元素上設置「aria-live」不起作用; VoiceOver只能讀取第一個。 –

回答

0

我對解決方法並不滿意,但是您可以在將子項添加到DOM時將每個子元素應用aria-live,並且iOS VoiceOver會按照正確的順序讀取它。但是,這導致MacOS VoiceOver根本無法讀取內容。嗯。