Ed. Clarifying event receiver a bit more (Dominic's request) prior to FPWD, and general clean-up of glossary markup.
--- a/src/include/terms.html Thu Jan 10 11:01:56 2013 -0800
+++ b/src/include/terms.html Fri Jan 11 15:19:15 2013 -0800
@@ -2,27 +2,40 @@
<dl>
<dt id="def_assistive_technology">Assistive Technology</dt>
- <dd class="placeholder">TBD</dd>
+ <dd>
+ <p class="placeholder">TBD</p>
+ </dd>
<dt id="def_marked_element">Marked Element(s)</dt>
- <dd class="placeholder">TBD. Defined by markrequest, which is covered by ACTION-25.</dd>
+ <dd>
+ <p class="placeholder">TBD. Will be defined in conjunction with markrequest, which is covered by ACTION-25, and not yet in the spec.</p>
+ </dd>
<dt id="def_point_of_regard">Point-of-Regard</dt>
- <dd class="placeholder">
+ <dd>
<p>UIRequestEvents initiate from the element representing the point-of-regard, and are referenced in the Event object's <code>target</code> property.</p>
<p>For mainstream user agents, the point-of-regard will likely be the element under a pointer (e.g. mouse cursor) or, in the case of keyboard events, the currently focused element (e.g. document.activeElement). Assistive technologies or other alternative inputs may determine another element to be the subject of the user's attention, and initiate events from this new point-of-regard.</p>
</dd>
<dt id="def_reflected_attribute">Reflected Attribute</dt>
- <dd>Attributes whose DOM property and content attribute values remain in sync. Identical to <a href="http://dev.w3.org/html5/spec-preview/common-dom-interfaces.html#reflect" class="todo">reflected attributes in HTML</a>.</dd>
+ <dd>
+ <p>Attributes whose DOM property and content attribute values remain in sync. Identical to <a href="http://dev.w3.org/html5/spec-preview/common-dom-interfaces.html#reflect" class="todo">reflected attributes in HTML</a>.</p>
+ </dd>
<dt id="def_request_event_receiver">Request Event Receiver</dt>
- <dd class="placeholder">
- TBD
- <p class="ednote">Need to explain difference between the event.target, the element handling the event (addEventListener), and the "receiver" of the UIRequestEvent. The event "receiver" will be author-defined with an attribute (potentially @actions or @ui-actions) that describes the type of UI actions that can be performed on the element (the UIRequestEvent "receiver") as is a contract declaration of the types of UIRequestEvents that will be received and handled by the web application.</p>
+ <dd>
+ <p>The closest DOM ancestor to the user's <a href="#def_point_of_regard">point-of-regard</a> that declares the current event type via the @ui-actions content attribute or uiActions DOM attribute. The Request Event Receiver is referenced in the Event object's <code>receiver</code> property.</p>
+ <p>UI Request Events are not initiated by the user agent unless the following are true:</p>
+ <ol>
+ <li>The user's point of regard is on the current or descendant node of an element that declares the event receiver via <code>@ui-actions</code></li>
+ <li>The event receiver node (or any ancestor node of the receiver) also registered as the event listener via <code>element.addEventListener()</code></li>
+ </ol>
+ <p class="ednote">Some of this definition will need to be massaged and move into the normative sections above defining @ui-actions.</p>
</dd>
<dt id="def_user_agent">User Agent</dt>
- <dd class="placeholder">TBD</dd>
+ <dd>
+ <p class="placeholder">TBD</p>
+ </dd>
</dl>
\ No newline at end of file
--- a/src/indie-ui-events.html Thu Jan 10 11:01:56 2013 -0800
+++ b/src/indie-ui-events.html Fri Jan 11 15:19:15 2013 -0800
@@ -236,7 +236,7 @@
<section id="ui-actions">
<h3>The <code>ui-actions</code> Content Attribute</h3>
- <p>Every element may have a <code>ui-actions</code> attribute specified, which is used to specify the event <a href="#def_request_event_receiver">receiver</a>. The attribute, if specified, must have a value that is a set of whitespace-separated tokens representing the various actions to which the web application responds on behalf of this element. The actions that an element has assigned to it consists of all the tokens returned when the value of the <code>ui-actions</code> attribute is split on whitespace. (Duplicates are ignored.)</p>
+ <p>Every element may have a <code>ui-actions</code> attribute specified, which is necessary to define the <a href="#def_request_event_receiver">receiver</a> of each type of request event. The attribute, if specified, must have a value that is a set of whitespace-separated tokens representing the various actions to which the web application responds on behalf of this element. The actions that an element has assigned to it consists of all the tokens returned when the value of the <code>ui-actions</code> attribute is split on whitespace. (Duplicates are ignored.)</p>
<p>User agents MUST <a href="#def_reflected_attribute">reflect</a> the <code>ui-actions</code> content attribute in the <a href="#uiActions"><code>uiActions</code></a> IDL attribute.</p>
<div data-transform="listActions"><!-- dynamically generates event list --></div>
<p class="ednote">We could probably combine the 'manipulation' events into a single 'manipulation' action value. I don't foresee a case where an author would want to receive some, but not all of them, and even if that case exists, the author could just not listen for those specific events.</p>