2011-07-11 28 views
0

Flex應用程序正在使可訪問性兼容。當基於某些條件使自定義組件可見時,組件內的第一項(text或formitem或textarea)會被Jaws跳過。它從第二個項目讀取。按下向上箭頭,然後讀取第一個項目。 有沒有辦法讓第一個項目不需要按下向上箭頭?Flex自定義組件第一個項目未被JAWS讀取

+1

顯示,增​​加了組件的代碼。 –

+0

只需在這裏添加僞代碼即可。 在這裏,CustomComp2首先會變成visible = false。基於Application中滿足的一些條件,使用comp2.visible = true在腳本中使CustomComp2可見。在這種情況下,屏幕閱讀器JAWS會跳過CustomComp2中的第一個控件。當JAWS軟件運行時,還按Tab鍵也跳過第一個控制。如果我關閉JAWS,然後Tab鍵按下工作就好 - 不會跳過自定義組件的第一個控件。任何幫助? – user839631

+0

用代碼編輯你的問題... –

回答

0

這很可能與集中管理有關。

當視圖狀態發生變化時,您可能希望將componentId.setFocus()分配給當前視圖中的第一個組件。

當顯示器的狀態發生變化時,您需要重新評估焦點。如果您發佈瞭如何管理顯示狀態,我可以建議如何通過事件或在您的自定義狀態方法中觸發該事件。

而且,如果還是不行,請嘗試以下一旦你的屏幕已準備就緒/狀態改變:

focusManager.moveFocus(mx.events.FocusRequestDirection.TOP); 
+0

我試過setFocus()。 setFocus沒有幫助移動屏幕閱讀器的焦點。 – user839631

+0

只是爲了澄清,setFocus()確實如預期的那樣正確地將焦點設置到字段中,只是屏幕閱讀器仍在閱讀錯誤的字段? – Nate

+0

使用另一種將焦點管理器設置爲絕對頂部的方法進行更新。這可能會訣竅。 – Nate