2012-10-12 75 views
0

我開始一個項目的研究,涉及用SAPI的語音反饋導航網絡。這個應用程序將被盲人和視障人士使用,以當前選定對象的完整語音反饋瀏覽網頁,並能夠閱讀整個頁面並填寫表格。我在SAPI和可訪問性詞彙方面擁有豐富的經驗,但是我不太瞭解HTML和開展此項目的最佳方法,我想要徵詢可能在這方面有經驗的人員的指導。我已經解釋了一些基本概念,讓盲人用戶可以在沒有屏幕閱讀器的情況下使用此獨立產品,並且能夠使用鍵盤瀏覽網頁並從我創建的合成器接收語音反饋。我可以使用Windows內置的Accessibility API來顯示低視力用戶的位置。網絡瀏覽器掛接和自動化

謝謝!

+0

備註:不需要添加「謝謝你的備註」 - upvote/comment/accept取而代之。您沒有放置有用的標籤(您的問題看起來像「如何使用瀏覽器使用可訪問性」,而標籤包含「webbrowser」和「sapi」)。這個問題的範圍可能有點太寬(感覺就像「如何設計JAWS克隆」)。 –

+0

我並沒有將自己限制爲IAccessible,因爲我知道有很多其他方法可以通過內部掛鉤來處理IWebBrowser2。這個問題留在了更廣泛的範圍內,我希望獲得任何信息,而不會將自己限制爲任何一種方法。我確信有人在那裏讚賞我的「謝謝你的筆記」...我試圖表現出一點點讚賞的幫助/支持... – devHead

+0

僅供參考,JAWS是可怕的IE瀏覽器.... – devHead

回答

0

我得出的結論,以獲得一個說話的Web瀏覽器其實我有鉤與設置和SetWindowsHookEx WebBrowser控件的一個實例。在我的setwindowshookex回調中,監視事件:OB_FOCUS(焦點已更改,可能是鍵盤或鼠標),然後將具有焦點的對象實例傳遞給AccessibleObjectFromEvent API。接下來,我得到此對象的IAccessible接口,然後枚舉任何子類(如果存在),並將它們與已知的與HTML/Web對象相關的對象列表進行比較,以使用適當的類來解析此字段並通知文本(如果可用)用戶處於可編輯字段,焦點按鈕等......我還使用IAccessible類通過在當前聚焦的對象上繪製矩形來獲取對象位置和當前位置給用戶。我還創建了一個只提取鏈接,文本,刪除圖像等的課程,爲視覺障礙患者提供更輕鬆,更愉快的網絡體驗。我仍然有一些夸克可以解決,但進展正在向前發展!

1

IE支持所有的輔助功能界面(我相信所有其他瀏覽器也是如此 - sample on SO)。

有兩部分 - 使用IAccessible和相關接口以及良好的HTML代碼訪問(即正確使用像UL/LI這樣的語義標籤),並可能使用額外的CSS可訪問性aria-XXXX屬性(即aria擴展)

可能起始環節 - What's New for Accessibility in IE8

+0

是的,非常熟悉IAccessible。我用它來自動化Windows應用程序,但從來沒有用過IE。我知道我可以使用AccessibleObjectFromPoint()獲取光標下方的文本以及對象/文本框的名稱。我的挑戰主要是在焦點改變時做到這一點,獲取當前關注的對象並解密它與預定義控件列表的對照,然後找出獲取控件信息和屬性的正確方法。我正在潛入一個我不熟悉的領域,而且還沒有進行過測試,只是有許多理論我沒有應用。 – devHead

+0

理想情況下,我想掛鉤瀏覽器,我可能不得不使用AccessibleObjectFromEvent() – devHead