我想檢測一個屏幕閱讀器是否在用戶的機器上運行,以避免聲音與html中的音頻標籤衝突。如果是這樣,請提供詳細信息,說明如何做到這一點。是否可以使用JavaScript檢測屏幕閱讀器是否在用戶計算機上運行?
回答
你可能不應該嘗試做什麼特別的事情,即使你可以檢測到一個屏幕閱讀器正在運行。即使您爲一組屏幕閱讀器用戶正確使用,您也可能會爲另一個組織錯誤。最好集中精力編寫好乾淨的HTML5。
請注意,並非所有屏幕閱讀器用戶都使用文本轉語音;許多使用盲文輸出。此外,其他類型的輔助功能工具(如內容熒光筆和語音輸入應用程序)使用屏幕閱讀器所使用的相同技術和API(例如DOM,MSAA),因此任何「檢測屏幕閱讀器」的技術都可能會檢測到這些 - 所以你不能認爲這意味着用戶完全失明,只能使用語音。
由於目前的情況,音頻標籤目前不能普遍訪問,不同的瀏覽器具有不同級別的可訪問性支持 - 請參閱HTML5 Accessibility並向下滾動至音頻以獲取有關當前支持的更多詳細信息。我已經看到了一些在音頻標籤之後添加了基於HTML5的控件和JavaScript的頁面,以便他們可以提供自己的UI以確保鍵盤或屏幕閱讀器用戶可以根據需要播放/停止音頻。 (最終,當瀏覽器趕上時,不應該需要這樣做。)
就一般可訪問性而言,WCAG 2.0(Web Content Accessibility Guidelines)建議任何自動播放超過3秒的音頻都應該有一種可訪問的方式來暫停或停止音頻。 (我會走得更遠,最好不要使用任何自動音頻 - 使用標籤式瀏覽的時候,它往往無法確定聲音來自哪個選項卡。)
Downvoter - 謹慎解釋爲什麼downvote?這個答案有什麼可以改進的嗎? – BrendanMcK
請點擊鏈接 http://northtemple.com/2008/10/07/javascript-and-screen-readers 您的問題得到明確解決。
thanx阿倫的信息:) – shuklendu
嗨,朋友......如果你的問題得到解決,我是新來的stackoverflow請投票給我的答案 – Untraceable
嗨Arun,你的鏈接確實提供了有助於屏幕閱讀器訪問Javascript的有用信息;但這不是OP要求的。他們想知道如何檢測來自JS的屏幕閱讀器*,您發佈的鏈接無法回答。 – BrendanMcK
使用JavaScript無法檢測屏幕閱讀器,你不能檢測屏幕讀者使用任何客戶端技術。您可以使用Flash檢測運行MSAA客戶端的軟件。關於它是如何工作的以及爲什麼它不是有用的,並且不應該用於檢測屏幕閱讀器的更多細節可以在這裏獲得:Developer Beware: Using Flash to Detect Screen Readers
@billthelizard,如果您提供刪除評論的理由,這將有所幫助。 –
儘管可能不是完全可靠的方式,但是可以通過使用焦點的javascript檢測屏幕閱讀器的進度事件,因爲用戶瀏覽內容。
一個隱藏的「跳過導航鏈接」(http://webaim.org/techniques/skipnav/),它應該被關注,是檢測是否有人在使用屏幕閱讀的一種方式。
即使它並沒有解決問題的音頻部分,我只是想提供這樣的部分解決方案,因爲我一直在尋找可能的方法來檢測屏幕閱讀自己。
- 1. 屏幕閱讀器是否可以閱讀由JavaScript動態創建的網頁?
- 2. 屏幕閱讀器是否可以在DIV元素中「鎖定」?
- 3. 是否可以檢測到我的應用程序是否正在運行並顯示在屏幕上?
- 4. 是否可以檢查Google Chrome是否安裝在客戶端計算機上?
- 5. 檢測對象是否在屏幕上
- 6. 是否可以更改屏幕閱讀器的整體語言?
- 7. 是否可以在本地計算機上運行.php文件?
- 8. 可以檢測用戶是否正在按iOS上的屏幕捕獲按鈕?
- 9. 如何檢測遠程計算機是否正在運行RDP?
- 10. 是否可以讀取存儲在計算機上的文件?
- 11. 檢測用戶是否有全屏運行的應用程序
- 12. JavaScript可以檢測用戶的瀏覽器是否支持gzip?
- 13. 檢測計算機是否可以正確支持3D轉換
- 14. 檢測Windows是否登錄屏幕是可見的用戶在VB.NET
- 15. javascript檢測是否在hta中運行
- 16. 是否可以使用Javascript(未在瀏覽器中運行)檢查磁盤上是否存在文件?
- 17. 如何檢測用戶是否在使用javascript的PC上
- 18. .htaccess是否可以檢測瀏覽器是否啓用或禁用javascript?
- 19. 使用Java來檢測設備是否插入到計算機
- 20. HTML5:檢測您是否在手機或電腦上使用JavaScript?
- 21. 檢測用戶是否繪製了整個屏幕
- 22. 檢查控制是否在屏幕上
- 23. 是否可以在本地計算機和遠程集羣上運行OpenMPI?
- 24. 檢測計算機在Windows上是否使用移動連接(3G/EDGE/GPRS)
- 25. 是否可以使用JavaScript
- 26. 是否可以在虛擬機上運行IPhone應用程序
- 27. 如何檢測用戶是否在主屏幕上觸摸設備小部件?
- 28. JavaScript是否可以在UIWebView中運行?
- 29. 確定iPhone用戶是否在Safari瀏覽器屏幕上
- 30. 是否可以使用CSS設計本機iOS用戶界面?
+1。我沒有這方面的經驗,但肯定支持'
通常無法檢測屏幕閱讀器是否正在運行。 (即使一些輔助功能技術正在運行,它可能不是一個基於音頻的屏幕閱讀器:它可能是一個基於盲文的屏幕閱讀器,或者是一個命令與控制語音控制應用程序,它使用與屏幕閱讀器相同的技術)。如果你可以確定屏幕閱讀器正在運行,你想要做什麼改變? – BrendanMcK