如果我有一个表单是页面内容的主要部分,那么在页面加载时通过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. 是否可以分配给$!在Perl中?
- 4. 执行来自web可访问端点的exec()是否可以访问$ _POST?
- 5. 是否保证自动顶点属性分配的顺序是正确的?
- 6. 如果没有分配给任何变量,对象是否可访问?
- 7. ipoib:检查是否可以访问给定iboip的infiniband节点
- 8. 确定是否可以为给定值分配反射属性
- 9. 如何自动将节点分配给环境?
- 10. 自动将值分配给瞬态属性
- 11. 将自动释放对象分配给保留属性
- 12. 我们是否可以将自定义查询提示分配给JPA NamedQueries
- 13. 是否可以将对象分配给int?
- 14. 是否可以在运行时将接口分配给对象?
- 15. 是否可以将整数分配给Python中的单词?
- 16. 是否有可能将CssClass分配给CheckBoxList中的CheckBox
- 17. 是否可以将MultiIndex分配给空的DataFrame?
- 18. 是否可以将一个Id分配给一个asp:MenuItem?
- 19. 共享点可访问性
- 20. 检查是否可以分配问题
- 21. 是否将智能指针分配给_variant_t需要手动AddRef()?
- 22. HTML5:是自动对焦=“自动对焦”或自动对焦
- 23. 将动画分配给UIButton
- 24. Chrome自动移动焦点
- 25. 如何将属性分配给属性
- 26. 访问自动属性 - C#
- 27. 将属性属性作为实例属性访问 - 是否有可能?
- 28. 不能分配给属性.... setter在访问swift 3
- 29. 是否可以动画变焦css属性
- 30. 是否有可能访问
另请参阅http://ui.stackexchange.com/questions/2861/drawbacks-of-auto-focusing-on-a-web-pages-text-field-javascript – Day 2011-01-13 03:23:29