没有JavaScript的默认html表单焦点

时间:2010-11-12 15:54:58

标签: html accessibility

是否可以在不使用JavaScript的情况下在HTML表单上设置默认输入焦点,例如:

<html>
  <form>
    Input 1: <input type="text" name="textbox1"/>
    <br/>
    Input 2: <input type="text" name="textbox2"/>
  </form>
</html>

我希望在不使用JavaScript的情况下加载表单时将默认焦点设置为任一文本框(因为我希望在用户禁用js时发生这种行为)。

5 个答案:

答案 0 :(得分:266)

您可以在HTML5中执行此操作,但除此之外,您必须使用JavaScript。

HTML5允许您将autofocus添加到表单元素,例如:

<input type="text" name="myInput" autofocus />

这适用于支持HTML5的浏览器(或者更确切地说,支持HTML5这一特定部分的浏览器)但是如你所知,并非所有人都可以使用它。

答案 1 :(得分:20)

需要注意的事项......如果您设置了一个聚焦的表单元素,那么任何使用辅助技术(AT)的人都需要备份以查看菜单和聚焦字段之前的任何其他内容。

在我看来,首选方法是不将焦点设置为任何字段,除非跳过链接可用。这使他们可以选择跳过页面内容或从上到下阅读页面。

答案 2 :(得分:3)

正如其他人所说,没有Javascript你不能保证默认字段。如果您有多个用户可能想要访问的字段,则可能需要尝试的另一个选项是使用accesskey属性。这基本上意味着用户可以在浏览过程中稍后立即返回任何一个字段,这对于屏幕阅读器的用户来说可能会派上用场......等等。

维基百科关于这个主题的文章非常有用 - http://en.wikipedia.org/wiki/Access_key

答案 3 :(得分:0)

如果没有某种形式的脚本,这是不可能的。即使Google的主页也需要Javascript来关注搜索字段。

答案 4 :(得分:-8)

您可以使用 tabindex 属性并使用默认文本框中的最低值。点击此处查看浏览器支持:

http://reference.sitepoint.com/html/object/tabindex#compatibilitysection

该网站建议

  

(在几乎所有其他情况下 - 即表单控件和链接 - tabindex都有很好的支持)