2016-01-07 44 views
2

我有一個Web應用程序,我使用卡布局。我不是加載網頁,而是修改每個頁面的DOM。關於配音Safari瀏覽器的問題是,在視圖更改時,VO光標停留在點擊此頁面鏈接的相同位置。因此,按下CMD + Option + A,而不是從頂部讀取屏幕,VO從相同的位置讀取。這在Windows上的JAWS中也很明顯。 我試着通過在頂部創建一個空Div並在頁面更改上將焦點(Javascript element.focus())設置爲div來修復它。這解決了JAWS的問題,但不適用於Mac Safari VO。旁白遊標不跟隨鍵盤焦點。 See Image 請注意所有默認設置已在VO Utility中設置。 VO光標被設置爲對焦鍵盤焦點複選框。Mac Safari瀏覽器語音遊標光標不遵循鍵盤焦點

藍線是隱藏的div,由於鍵盤焦點顯示爲藍色。黑色矩形是VO遊標。

回答

0

我得到了這個解決方案使用延遲500至1000毫秒。 ** Window.setTimeout(moveFocus logic,1000)** 延遲確保在將鍵盤焦點移動到元素之前dom已被完全追加。如果你的網站很重,那甚至可能需要更多的延遲。 我在Windows 7上通過Ipad,Iphone ios8,mac os x 10和jaws 17.0對其進行了驗證。

另請注意,將焦點移至隱藏div會導致不同屏幕閱讀器出現意外結果。因此,請將焦點轉移到頁面頂部可調焦的元素上。如標題。 如果你一直在使用'aria-live:assertive',在這個被聚焦的元素上,移除這個標籤,因爲這會讓屏幕閱讀器讀你的元素內容兩次。