辅助功能 - 没有JavaScript的默认html表单焦点

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

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

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

Adam Jenkin asked 2019-05-07T22:56:42Z
5个解决方案
254 votes

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

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

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

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

Jake Lucas answered 2019-05-07T22:57:08Z
18 votes

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

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

Greg answered 2019-05-07T22:57:39Z
3 votes

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

Wikipedias关于这个主题的文章非常有用 - [http://en.wikipedia.org/wiki/Access_key]

answered 2019-05-07T22:58:10Z
0 votes

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

Evan Mulawski answered 2019-05-07T22:58:34Z
-8 votes

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

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

该网站暗示

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

Cahit answered 2019-05-07T22:59:18Z
translate from https://stackoverflow.com:/questions/4166423/default-html-form-focus-without-javascript