2017-08-01 91 views

回答

0

有很多輔助技術的用戶中非常不同的現實:各種軟件和/或硬件,用於各種殘疾。 因此你的問題是模糊的:你想檢測屏幕閱讀器?屏幕放大鏡?指向不能用手的人(用聲音和/或他們的眼睛驅動)?閱讀有助於解決dys問題?別的東西?正如你所看到的,輔助技術的範圍非常廣泛,並且通常有很多方法來定製他們,因爲有用戶。

但是,無論您試圖檢測什麼,答案總是基本相同:沒有100%的證明解決方案,大多數解決方案只適用於某些特定情況。 例如,如果您在stackoverflow或其他任何地方搜索如何檢測用戶是否有鍵盤,鼠標,觸摸屏等,您將看到有不同的答案,但在所有情況下,它們都不是100%確切或完美的。 你可能會得到或多或少明顯的線索,他有或沒有這個或那個,但你永遠不會100%確定;有時候,你只有在一段時間後才能確定一部分。

爲了檢測屏幕閱讀器或放大鏡,難度難度更大。什麼是典型的scren閱讀器用戶?鍵盤,沒有鼠標,沒有觸摸?也許不是。如果我有足夠的視力區分主要區域,但是不足以精確點擊具有小圖標的按鈕,該怎麼辦? 如果我正在使用聽寫軟件,出於某種原因無法使用鍵盤,或者因爲現在我的雙手很忙,該怎麼辦? 在iOS上有VoiceOver,所以屏幕閱讀器可能有觸摸屏。等等。

而且有與檢測另一個問題:我有一個鼠標,但它並不意味着我一定會使用它。那些可以在筆記本電腦模式和平板電腦模式之間切換的電腦呢?相反,我可以成爲屏幕閱讀器用戶,並且可能由於誤會而使鼠標移動一點。 你的網站只會對我的內容做出錯誤的結論,並會給我一個不適當的界面。

啊,和另一個決賽之一:如果我是盲人,試圖使用你的網站,不設法做到這一點,最後調用一個有遠見的人來幫助我嗎?該人將無法幫助我,因爲您的網站採用了屏幕閱讀器界面?

這裏是一個道理:不要認爲什麼用戶已經或沒有他/她是誰,或者是沒有什麼。 認爲用戶可以同時使用所有輸入手段,或者他可以隨時更改它們。

闖到大是faoul:給替代文本,讓您的組件訪問所有的時間,不僅當你知道用戶正在使用屏幕閱讀器。

設計你的東西,而你並不需要的設備檢測,因爲大多數,你可以一個方式。

1

使用屏幕閱讀器的用戶使用標準瀏覽器(Firefox,Chrome,Internet Explorer/Edge,...)。他們通過可訪問性API向屏幕閱讀器提供關於頁面結構的信息。但是不可能知道用戶是否使用可訪問性API。

當然,您可以跟蹤簡單的事情,比如用戶是否通過跟蹤onmousemove事件來使用鼠標,或者用戶是否使用鍵盤(例如通過onkeyup事件)。屏幕閱讀器將模擬某些操作,如focus(),click()但不是所有標準鍵盤/鼠標事件。你還必須考慮觸摸事件。