По умолчанию html фокус формы без JavaScript

Можно ли задать фокус ввода по умолчанию для HTML-формы без использования JavaScript, например:

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

Я хочу установить фокус по умолчанию для любого из текстовых полей, когда форма загружается без использования JavaScript (так как я хочу, чтобы поведение возникало, когда пользователь отключил js).

Ответ 1

Вы можете сделать это в HTML5, но в противном случае вы должны использовать JavaScript.

HTML5 позволяет добавить autofocus к элементу формы, например:

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

Это работает в браузерах, которые поддерживают HTML5 (или, скорее, браузеры, которые поддерживают эту часть HTML5), но, как вы знаете, не все могут использовать его еще.

Ответ 2

Что-то, о чем нужно знать... если вы установите сфокусированный элемент формы, то любому, кто использует Assisted Technology (AT), например, программу чтения с экрана, нужно будет выполнить резервное копирование, чтобы увидеть меню и любой другой контент, который находится перед сфокусированным полем.

Предпочтительный метод, на мой взгляд, состоит в том, чтобы не фокусировать внимание на каком-либо поле, за исключением пропущенной ссылки, если она доступна. Это дает им возможность пропустить содержимое страницы или прочитать страницу сверху вниз.

Ответ 3

Как говорили другие, без Javascript вы не можете гарантировать поле по умолчанию. Альтернативный вариант, который вы можете попробовать, если у вас есть несколько полей, которые пользователь может захотеть получить, использует атрибут accesskey. Это, по сути, означает, что пользователь может вернуться в любой из полей мгновенно позже во время просмотра, что может пригодиться пользователям устройств чтения с экрана и т.д.

Статья Википедии по этому вопросу весьма полезна - http://en.wikipedia.org/wiki/Access_key

Ответ 4

Это невозможно без какой-либо формы скриптинга. Даже домашняя страница Google требует, чтобы Javascript фокусировал поле поиска.

Ответ 5

Возможно, вы сможете использовать атрибут tabindex и использовать минимальное значение в текстовом поле по умолчанию. Проверьте поддержку браузера:

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

Сайт предполагает, что

(почти во всех других случаях, а именно, в элементах управления и связей - талиндекс имеет отличную поддержку)