2011-07-14 33 views
3

如何檢查(使用Java或JavaScript)瀏覽器是否支持盲人或視力不良的人?檢查瀏覽器是否支持盲人或視力不好的人?

+1

您對此有何種支持?你最終的目標是什麼? –

+1

但是爲什麼?據我所知,許多屏幕閱讀程序隱藏在普通用戶代理之後。您如何確定瀏覽器是否受支持?您想做什麼? –

+1

因爲如果它支持..我會改變我的網站的內容.. – newbie

回答

4

如果您正在尋找確定是否安裝了輔助技術(如JAWS或Window-Eyes),否則不能使用Javascript。這些技術使用操作系統級API,目前的瀏覽器不會做任何可能導致它們出現的東西。有基於閃存的黑客工具,可以檢測屏幕閱讀器的新版本看http://webaim.org/techniques/flash/techniques

也許你想,如果用戶使用屏幕閱讀器,以提供不同的閃存接口或選項。例如,當觀看電影的人使用屏幕閱讀器時,您可能需要提供其他按鈕或開啓自我清音功能。您可以使用ActionScript檢測屏幕閱讀器。如果檢測到能夠訪問Flash內容的屏幕閱讀器(目前只有Window-Eyes,JAWS和IBM Home Page Reader的最新版本),則Accessibility.isActive()函數將返回「true」。例如,您可以添加:

if (Accessibility.isActive()) { 
_root.selfVoicing.play(); 
} 

重要 因爲有當影片開始,並在檢測到屏幕閱讀器時,Accessibility.isActive()可能會錯誤地返回時的假之間有輕微的延遲你的電影正在播放的第一時刻。 Flash電影也必須具有焦點才能使其工作。這可以通過將ActionScript與Flash電影中的按鈕關聯來解決。最後,這種檢測屏幕閱讀器的方法不會檢測到所有的屏幕閱讀器。它只會檢測支持MSAA並安裝了Flash 6+播放器的最新版本的屏幕閱讀器。 此方法是自動檢測網頁屏幕閱讀器的唯一方法。如果您想爲屏幕閱讀器用戶提供替代內容,則可以使用Flash電影檢測屏幕閱讀器的存在並進行適當的重定向。但是,這也假設用戶安裝了Flash播放器(大多數用戶都這樣做)。如果用戶沒有Flash,那麼檢測將不起作用,用戶可能會遇到其他可訪問性問題。還必須注意爲屏幕閱讀器用戶提供替代內容。替代內容必須保持最新,並提供與非屏幕閱讀器內容相同的信息和功能。這裏是重定向基於屏幕閱讀器存在的代碼:

if (Accessibility.isActive()) { 
getURL(screenreaderpage.htm); 
} else { 
getURL(normalpage.htm); 
} 
2

簡短的回答是沒有防彈辦法做到這一點。雖然閃存解決方案可能在某些情況下工作,但這不是一個好的解決方案。我是一個完全盲目的程序員,並且由於Flash通常是完全無法訪問的,所以我沒有在瀏覽器中默認啓用它。許多盲人使用iPhone,並且由於顯而易見的原因,Flash解決方案也不適用於他們。即使瀏覽器確實支持輔助技術,但這並不意味着您的網站可以訪問。如果您的整個站點是JavaScript或WebGL,它們將圖片繪製到畫布上,那麼無論瀏覽器中的屏幕閱讀器支持程序有多好,都無法提供有關動態創建的圖形的信息,除非作者提供了繪製內容的文字說明到屏幕上。理想情況下,您希望以這樣的方式對您的網站進行編碼,以便雙方都可以在沒有變化的情況下使用它。如果這不起作用,您可以將隱形鏈接指向您網站的替代版本或其他特定於屏幕閱讀器的不可見內容,而這些內容不會顯示給選定的用戶。有關創建僅供屏幕閱讀器用戶可見的內容的討論,請參閱this link有關網頁輔助功能的一般介紹,請參閱http://webaim.org/intro/

相關問題