содержимое

Обратите внимание, что

  1. данный документ является переводом документа «Forms in HTML documents» и на данный момент находится на стадии перевода;
  2. данный документ может содержать неточности, опечатки и ошибки перевода;
  3. официальным документом по данной тематике является оригинальный документ на английском языке, расположенный на сайте W3C.

17 Формы

Содержимое

  1. Передача фокуса элементу
    1. Tab навигация
    2. Клавиши быстрого доступа


* * *

17.11.1 Tab навигация

Определения атрибутов

tabindex = число [CN]
Этот атрибут задаёт позицию элемента в последовательности перехода между элементами в текущем документе. В качестве значения данного атрибута должно выступать число в диапазоне от 0 до 32767. Агенты пользователей должны игнорировать элементы с нулевыми значениями.

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

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

  1. Элементы, которые имеют атрибут tabindex с положительным значением, используются в процессе навигации в первую очередь. Навигация происходит от элемента с наименьшим значением tabindex к элементу с наибольшим значением. Значения не обязательно должны быть последовательными и могут начинаться с любого конкретного значения. Переход между элементами, которые имеют одинаковые значения tabindex должен осуществляться в порядке появления этих элементов в потоке документа.
  2. Элементы, которые не поддерживают атрибут tabindex или поддерживают, но этим элементам в качестве значения данного атрибута присваивается значение "0" при переходе между элементами должны игнорироваться. Переход между данными элементами осуществляется в порядке их появления в потоке документа.
  3. Элементы имеющие атрибут disabled не участвуют в навигации.

Следующие элементы поддерживают атрибут tabindex: A, AREA, BUTTON, INPUT, OBJECT, SELECT и TEXTAREA.

В приведённом ниже примере, представлен порядок перехода между BUTTON и INPUT элементами (обратите внимание, что элемент с именем «field1» и кнопка имеют одинаковое значение tabindex, но элемент с именем «field1» в потоке документа появляется позже) и, наконец, в навигацию включается элемент A.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>Документ с формой</TITLE>
</HEAD>
<BODY>
...некий текст...
<P>Перейдите к 
<A tabindex="10" href="http://www.w3.org/">W3C Web site.</A>
...ещё что-то...
<BUTTON type="button" name="get-database"
           tabindex="1" onclick="get-database">
Получить текущую базу данных.
</BUTTON>
...ещё что-то...
<FORM action="..." method="post">
<P>
<INPUT tabindex="1" type="text" name="field1">
<INPUT tabindex="2" type="text" name="field2">
<INPUT tabindex="3" type="submit" name="submit">
</P>
</FORM>
</BODY>
</HTML>

Клавиши навигации. Фактически используемые клавиши, которые осуществляют переход между элементами навигации или активацию этих элементов зависят от настроек агента пользователя (например, клавиша «tab» используется для навигации и клавиша «enter» используется для активации выбранного элемента).

Агенты пользователей могут также определить клавишу обратной последовательности перехода между элементами навигации. Когда пользователь переходит к последнему (или к первому) элементу навигации, при переходе к следующему элементу агенты пользователей могут перевести пользователя в начало (в конец) навигации на первый (на последний) элемент.

17.11.2 Клавиши быстрого доступа

Определения атрибутов

accesskey = character [CN]
Этот атрибут присваивает элементу клавишу быстрого доступа. Клавиша быстрого доступа представляет собой одиночный символ из набора символов документа. Примечание. Авторы должны учесть метод ввода ожидаемый читателем при указании accesskey.

Нажатие клавиши доступа, присвоенной элементу, приводит к получению фокуса данным элементом. Действие, которое происходит, когда элемент получает фокус, зависит от элемента. Например, когда пользователь активизирует ссылку, определённую элементом A, агент пользователя, как правило, следует по ссылке. Когда пользователь активирует radio переключатель, агент пользователя изменяет значение переключателя. Когда пользователь активирует текстовое поле, оно становится доступным для ввода текста и прочее.

Следующие элементы поддерживают атрибут accesskey: A, AREA, BUTTON, INPUT, LABEL, LEGEND и TEXTAREA.

Например, назначим клавишу быстрого доступа "U" для метки связанной с элементом INPUT. Нажатие назначенной клавиши устанавливает фокус на метке, которая в свою очередь передаёт его соответствующему элементу. Пользователь может вводить текст в поле INPUT.

<FORM action="..." method="post">
<P>
<LABEL for="fuser" accesskey="U">
User Name
</LABEL>
<INPUT type="text" name="user" id="fuser">
</P>
</FORM>

В этом примере мы гиперссылке определяемой элементом A, назначаем клавишу доступа. Нажатие этой клавиши перенаправляет пользователя на другой документ, в данном случае в раздел содержимого.

<P><A accesskey="C" 
      rel="contents"
      href="http://someplace.com/specification/contents.html">
    Оглавление</A>

Вызов клавиш быстрого доступа зависит от используемой операционной системы. Например, на компьютерах под управлением MS Windows, как правило, необходимо нажать клавишу «alt» в дополнение клавиши быстрого доступа. В операционных системах Apple, как правило, необходимо нажать на «cmd» клавишу, в дополнение клавиши быстрого доступа.

Сочетание клавиш быстрого доступа так же зависит от агента пользователя. Мы рекомендуем авторам указывать клавишу быстрого доступа в текстовой метке или там где она используется. Агенты пользователей должны предоставить особое значение клавише быстрого доступа для того, чтобы подчеркнуть её роль, а так же чтобы отличать её от других символов (например, с помощью подчёркивания).


* * *