如果我有一個表單是頁面內容的主要部分,那麼在頁面加載時通過JavaScript將焦點分配給第一個表單字段會對可訪問性產生任何負面影響?是否自動將焦點分配給可訪問性?
回答
簡短的回答是不,它不會使事情難以接近,但是它可以使混亂。較長的答案如下。你的用戶是否知道有一個帶有表單的頁面,並且在填寫表單之前是否需要閱讀任何描述性文字?我是一名屏幕閱讀器用戶,可能會將注意力放在隨機字段中,令人煩惱。很明顯,爲什麼你的注意力集中在Google搜索框中,以免打擾我。如果我每次在Stackoverflow上查看問題時都將焦點自動放置在答案編輯字段中,我會感到惱火,因爲我不得不強制屏幕閱讀器從表單字段導航到頁面頂部。
謝謝Jared。這是一個很好的答案。不過,我希望能夠接近社區的一些共識。 我們這個掙扎在這裏爲Drupal 8 - https://drupal.org/node/2096347 這裏還有其他鏈接: https://dequeuniversity.com/assets/html/jquery-summit/ html5/slides/form-attributes.html – 2014-06-17 13:04:02
也值得添加: http://webaim.org/blog/future-web-accessibility-html5-input-extensions/ 因此,使用HTML5的自動對焦比使用JavaScript更好或tabindex,因爲它可以被用戶代理禁用。但是,使用前必須仔細考慮。 – 2014-06-17 13:10:43
如果這是一個選項,它可能更容易使用HTML5自動對焦屬性http://webaim.org/blog/future-web-accessibility-html5-input-extensions/ – 2014-06-17 17:35:31
將在頁面加載通過JavaScript分配焦點的第一個窗體域對無障礙事宜有任何負面影響?
我想不出任何。在字段之間可能會刺激用戶可能運行的任何輔助軟件,但是第一個字段很難。我沒有盲文和類似客戶的經驗。
即使谷歌在他們的頭版上這樣做,我認爲這不可能是一個很大的交易。
僅僅因爲有人使用屏幕閱讀器,這意味着他們不使用JavaScript。該頁面在瀏覽器中用JavaScript完成呈現,然後頁面的模型被傳遞給屏幕閱讀器。當使用JavaScript更新頁面時,這些更新將發送到屏幕閱讀器使用的頁面模型。 – Jared 2010-02-01 23:05:13
我不會這麼說。屏幕閱讀器可能不會注意到這一點,因爲它不解釋頁面上的JavaScript。
具有「普通」瀏覽器的另一個用戶將獲得使光標已經位於正確位置的優勢,從而便於通過使用鍵盤進行導航。
作爲屏幕閱讀器用戶,這是不正確的。瀏覽器運行JavaScript,然後將頁面的模型返回給屏幕閱讀器。這意味着你可以很容易地放置在一個表單域中,而不需要關於它是什麼或爲什麼在那裏。 – Jared 2010-02-01 23:02:24
非常有趣! - 只是去展示這是一個有用的社區。我已經做了12年左右的網頁開發人員,我會給出與Juri完全相同的答案。我不知道屏幕閱讀器現在幾天以這種方式工作。在不久的將來,我將重新審視可訪問性。你能檢測一個屏幕閱讀器,也許可以集中頁面中不同的,更有用的部分嗎? – meouw 2010-02-01 23:25:24
沒有辦法檢測屏幕閱讀器在我知道的瀏覽器中運行的天氣。如果您想了解通過提供額外信息來幫助屏幕閱讀器用戶的方法,請查看http://www.w3.org/TR/2008/WD-wai-aria-20080204/不知道這是否是最新的版本,但它是谷歌宣佈他們已經將ARIA支持納入Google閱讀器時的版本。 – Jared 2010-02-02 04:21:16
很多網站都會這樣做,google是一個很好的例子,唯一的問題是當你在地址欄中輸入內容時,或者在瀏覽器中輸入搜索內容時,聚焦表單域的操作傾向於從你打字的地方竊取焦點。這是一個小麻煩。
如果我們有一個鍵盤用戶(或者使用屏幕閱讀器,或者只是一個慣用的鍵盤用戶),他們希望在第一個Tab按鈕上導航頁面頂部的鏈接時,可能會有點不妥。對於屏幕閱讀器,如果用戶不希望被轉儲到表單的中間,您也可以考慮添加WAI-ARIA來添加指示。
如果用戶想要直接輸入字段的可能性更大,那麼我認爲自動對焦是值得的。但由於上述原因,我不會使用它在每頁與輸入字段。
如果您進行自動對焦,請確保立即執行,在腳本中儘快跟隨輸入元素,或者將來使用HTML5自動對焦屬性。不要遲到window.onload
。令人討厭的是,在其他地方點擊焦點只是讓文檔遲到完成加載,並在您鍵入時將焦點偷到另一個元素上。
關於何時實現自動對焦的絕佳觀點。 – 2010-02-02 15:23:02
- 1. iOS更改可訪問性焦點。
- 2. 是否可以將默認值分配給NAnt屬性?
- 3. 對象是否可以自動分配給第二代GC?
- 4. 可訪問性自動化屬性「名稱」是否需要可本地化?
- 5. 是否可以分配給$!在Perl中?
- 6. 執行來自web可訪問端點的exec()是否可以訪問$ _POST?
- 7. 如果沒有分配給任何變量,對象是否可訪問?
- 8. 是否保證自動頂點屬性分配的順序是正確的?
- 9. ipoib:檢查是否可以訪問給定iboip的infiniband節點
- 10. 確定是否可以爲給定值分配反射屬性
- 11. 堆上的分配是否會影響訪問性能?
- 12. Dynatree:訪問被丟棄節點的自動分配密鑰
- 13. 如何自動將節點分配給環境?
- 14. RoR with simple_form:自動將nil分配給'空'屬性?
- 15. 將自動釋放對象分配給保留屬性
- 16. 將彈性IP分配給VPC中的自動縮放EC2 - AWS
- 17. 自動將值分配給瞬態屬性
- 18. 原型時,是否可以將方法的結果分配給屬性?
- 19. Angular.js:是否不可能將已解決的承諾的屬性分配給$ scope?
- 20. Swift:將自定義類分配給所有UINavigationControllers是否正確?
- 21. Android可訪問性焦點 - 單擊視圖將焦點更改爲以前的視圖
- 22. 是否可以將多個變量分配給單個主機?
- 23. 是否可以將多個規則流組分配給規則?
- 24. 是否可以將sql表值分配給php中的變量?
- 25. 是否可以在運行時將接口分配給對象?
- 26. 是否可以將MultiIndex分配給空的DataFrame?
- 27. 是否可以將整數分配給Python中的單詞?
- 28. 是否可以將一個Id分配給一個asp:MenuItem?
- 29. 是否有可能將CssClass分配給CheckBoxList中的CheckBox
- 30. 是否可以將對象分配給int?
另請參閱http://ui.stackexchange.com/questions/2861/drawbacks-of-auto-focusing-on-a-web-pages-text-field-javascript – Day 2011-01-13 03:23:29