ИНФОРМАЦИЯ,    ДИЗАЙН,    ПЕРЕВОДЫ,    РЕКЛАМА   .   .   .
w a p - с а й т
Информационный портал
Сегодня:  
admin@aranea.ru
+79068922256

  aranea.ru || WML - Введение | 9.8 Элемент Anchor

9.8 Элемент Anchor

<!ELEMENT anchor ( #PCDATA | br | img | go | prev | refresh )*>
<!ATTLIST anchor
title %vdata; #IMPLIED
accesskey %vdata; #IMPLIED
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>

Элемент anchor определяет «активную точку» ("hot spot") в содержании, которая связана с задачами go, prev или refresh, которую он содержит. Ожидается, что устройство вывода представляет элемент anchor, как элемент ссылки; например, как «гипертекст». Когда пользователь выбирает элемент, выполняется ассоциированная задача.

Элементы anchor могут представляться в любом текстовом потоке, исключая текст в элементах option (т.е. везде отформатированный текст является корректным, за исключением элементов option). Является ошибкой определять не один элемент задач (например, go, prev или refresh) в элементе anchor.

Атрибуты
title= vdata

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

accesskey=vdata

Этот атрибут назначает клавишу доступа для элемента. Клавиша доступа – это один символ из набора символов документа. Ее цель состоит в разрешении пользователю активировать частный элемент с использованием одной клавиши. Доступные клавиши варьируют в зависимости от типа используемого мобильного устройства (например, телефоны обычно имеют клавиши: "0"-"9", "*" и "#").

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

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

Активизация атрибута accesskey, присвоенного элементу, выполняет фокусирование на элементе. Действие, которое происходит, когда элемент получает фокус, зависит от элемента. Например, когда пользователь активизирует ссылку, определяемую элементом A, устройство вывода обычно следует по этой ссылке. Когда пользователь активирует селективную кнопку (radio button), устройство вывода меняет значение селективной кнопки. Когда пользователь активирует текстовое поле, то оно позволяет ввод, и т.д.

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

<a accesskey=" 1" href="http://someplace.com/specification/contents.html"> Table of Contents</a>

Вызов accesskey может зависеть от устройства вывода и от устройства, на котором она вызывается. Например, атрибут accesskey может распознаваться прямо, или необходимо нажать на нее вместе с управляющей клавишей ("command" key). Распознавание атрибута accesskey может наследоваться контекстом. Например, устройство, которое распознает accesskey прямо, может наследовать свои распознавания, когда элемент ввода является активным.

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

Атрибуты, определенные в другом месте
  • xml:lang (смотрите раздел 8.8)
  • id (смотрите раздел 8.9)
  • class (смотрите раздел 8.9)

9.9 Элемент A

<!ELEMENT a ( #PCDATA | br | img )*> 
<!ATTLIST a
hre f	%HREF;	#REQUIRE D
title	%vdata;	#IMPLIED
accesskey	%vdata;	#IMPLIED
xml : lang	NMTOKEN	#IMPLIED %coreattrs;
>

Элемент a является сокращенной формой элемента anchor, связанного с задачей go без присваивания переменных. Например, следующая разметка:

<anchor>follow me
<go href="destination"/> 
</anchor>

является идентичной по поведению и семантике:

<a href="destination">follow me</a>

Вкладывание в элемент a является некорректным. Авторам советуется использовать элемент a вместо anchor, когда это возможно, для более эффективного размещения меток.

Атрибуты, определенные в другом месте
  • xml:lang (смотрите раздел 8.8)
  • id (смотрите раздел 8.9)
  • class (смотрите раздел 8.9)
  • accesskey (смотрите раздел 9.8)

9.10 Встроенные события

Несколько элементов языка WML способны генерировать события, когда пользователь взаимодействует с ними. Так называемые «встроенные события» указывают на передачу состояния внутри устройства вывода. Индивидуальные элементы определяют события, которые они генерируют. Язык WML определяет следующие встроенные события:

Таблица 2. Встроенные события языка WML
Событие Элемент(ы) Описание
ontimer card, template Событие ontimer происходит тогда, когда завершает работу таймер. Таймер определяется элементом timer (смотрите раздел 11.7).
onenterforward card, template Событие onenterforward происходит тогда, когда устройство вывода входит в карту через задачу go или любой метод с идентичной семантикой. Это включает вход на карту, с помощью функции сценария или особого механизма, специфичного для устройства вывода, таким как средства для прямого входа и навигации по адресу URL. Встроенное событие onenterforward может определяться на обоих уровнях – карта и дека. Связи событий, определенных в элементе template применяются ко всем картам в деке, и могут преодолеваться как определено в разделе 9.6.
onenterbackward card, template Событие onenterbackward происходит тогда, когда устройство вывода входит на карту через задачу prev или любой метод с идентичной семантикой. Другими словами, событие onenterbackward происходит тогда, когда пользователь вынуждает устройство вывода осуществлять навигацию по карте с использованием адреса URL, извлекаемого из стека истории. Это включает навигацию с помощью функции сценария или механизмов, специфичных для устройства вывода. Встроенное событие onenterbackward может быть определено на обоих уровнях – карта и дека. Связи событий, определенных в элементе template, применяются ко всем картам в деке, и могут преодолеваться, как определено в разделе 9.6.
onpick option Событие onpick происходит тогда, когда пользователь выбирает или отменяет выбор этого пункта.

Автор может определить, чтобы особые задачи выполнялись тогда, когда происходит встроенное событие. Эта спецификация может принимать одну из двух форм. Первая форма определяет URI для навигации, когда происходит событие. Эта связь с событием определяется в правильно оформленном атрибуте, специфичным для элемента, и является эквивалентом для задачи go. Например:

<card onenterforward="/url"> 
<p> Hello </p> 
</card> 

Это значение атрибута может определять только URL.

Вторая форма – это расширенная версия предыдущего, позволяющая авторам больше контроля над поведением устройства вывода. Элемент onevent объявляется внутри родительского элемента, устанавливающего полную связь с событием для частного встроенного события. Например, следующее является идентичным предыдущему примеру:

<card>
<onevent type="onenterforward">
<go href="/url"/>
</onevent>
<p>
Hello
</p> 
</card>

Устройство вывода должно обращаться с синтаксисом атрибута как сокращенная форма элемента onevent, когда имя атрибута преобразуется к типу onevent.

Связь встроенного события включено в пределах элемента, в котором оно объявляется, например, связь события, объявленного в карте, локальная в этой карте. Любая связь события, объявляемая в элементе, активна только внутри такого элемента. Если элемент, связанный с событием, определяет тип встроенного события, которое не применяется к родительскому элементу, оно должно игнорироваться устройством вывода. Конфликт связей событий внутри элемента является ошибкой.

9.10.1 Элемент Onevent

<!ENTITY % task	"go | prev | noop | refresh"> 
<!ELEMENT onevent (%task;)>
<!ATTLIST onevent
type	CDATA	#REQUIRED
%coreattrs;
>

Элемент onevent связывает задачу с частным встроенным событием для непосредственно вложенного элемента, т.е. определение элемента onevent внутри элемента "XYZ" связывает встроенное событие с элементом "XYZ".

Устройство вывода должно игнорировать любой элемент onevent, определяющий type, который не соответствует корректному встроенному событию для непосредственного вложения элемента.

Атрибуты
type=cdata

Атрибут type указывает имя встроенного события.

Атрибуты, определенные в другом месте
  • id (смотреть раздел 8.9)
  • class (смотреть раздел 8.9)

9.10.2 Встроенные события карта/дека

Обработчики встроенных событий в onenterforward, onenterbackward и ontimer могут определяться на обоих уровнях – карты и деки, и имеют экранирующую семантику, определенную в разделе 9.6. Обработчики для этих событий определяются с использованием соответствующего атрибута либо в элементе template, либо в элемента card, или включением элемента onevent внутри элементов template или card. Обработчик на уровне карты всегда преодолевает обработчик на уровне деки того же типа, не смотря на то, какой синтаксис используется.

Например, в следующем обработчике событий в карте преодолевает обработчик, установленный в template, хотя оба определяются с использованием различных синтаксисов:

<wml>
<template>
<onevent type="onenterbackward"> 
<go href="aaa"/>
</onevent>
</template>
<card onenterbackward="bbb"> 
<p>xyz</p>
</card>
</wml>

← Назад | Вперед →
Copyright © 2006 -  aranea.ru