Фокус html форми за замовчуванням без JavaScript


159

Чи можна встановити фокус введення за замовчуванням на формі HTML без використання JavaScript, наприклад:

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

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

Відповіді:


292

Ви можете це зробити в HTML5, але в іншому випадку потрібно використовувати JavaScript.

HTML5 дозволяє додавати autofocusдо елемента форми, наприклад:

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

Це працює у веб-переглядачах, які підтримують HTML5 (точніше, браузерах, які підтримують цю частину HTML5), але, як відомо, ще не всі можуть використовувати її.


22

Що слід пам’ятати… якщо ви встановите цілеспрямований елемент форми, то будь-хто, хто використовує допоміжну технологію (АТ), як зчитувач екрана, повинен створити резервну копію, щоб побачити меню та будь-який інший вміст, що знаходиться перед зосередженим полем.

Переважним методом, на мою думку, є не фокусування на будь-якому полі, крім пропускної посилання, якщо вона є в наявності. Це дає їм можливість перейти до вмісту сторінок або прочитати сторінку зверху вниз.


Додавання пропускного посилання, яке також візуально приховано, але доступне за допомогою читачів екрана було б чудово!
Джеймс Казетта

Мені стільки потрібно дізнатися про доступність. Дякуємо, що додали цю відповідь, щоб допомогти решті нас вчитися!
Ендрю

3

Як говорили інші, без Javascript ви не можете гарантувати поле за замовчуванням. Альтернативний варіант, який ви можете спробувати, якщо у вас є кілька полів, до яких користувач може звернутися, використовує accesskeyатрибут. Це, по суті, означає, що користувач може повернутися до будь-якого з полів миттєво пізніше під час перегляду, що може стати в нагоді користувачам читачів екрану тощо.

Стаття Wikipedias з цього приводу є досить корисною - http://en.wikipedia.org/wiki/Access_key


0

Це неможливо без якоїсь форми сценаріїв. Навіть на домашній сторінці Google потрібен Javascript для фокусування поля пошуку.


1
Це є. Google просто додає JavaScript для тих браузерів, які не підтримують HTML5. Щось варто врахувати в будь-якому додатку.
mvbrakel

-8

Можливо, ви зможете використовувати атрибут tabindex і використовувати найменше значення у текстовому полі за замовчуванням. Ознайомтесь із підтримкою браузера:

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

Сайт пропонує це

(майже у всіх інших випадках - а саме елементи управління та посилання - tabindex має чудову підтримку)


3
Атрибут "tabindex" не дає автоматичного фокусування жодним елементам, навіть елементу з "tabindex = 1". Натискання кнопки <tab> (або клацання) потрібно, щоб зосередити увагу на першому елементі в послідовності вкладки.
Клінт Пахл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.