[html5] r2218 - [] (0) WF2: Define the autofocus='' attribute. Define generic task sources.

whatwg at whatwg.org whatwg at whatwg.org
Thu Sep 18 18:02:52 PDT 2008


Author: ianh
Date: 2008-09-18 18:02:51 -0700 (Thu, 18 Sep 2008)
New Revision: 2218

Modified:
   index
   source
Log:
[] (0) WF2: Define the autofocus='' attribute. Define generic task sources.

Modified: index
===================================================================
--- index	2008-09-19 00:17:48 UTC (rev 2217)
+++ index	2008-09-19 01:02:51 UTC (rev 2218)
@@ -1416,6 +1416,10 @@
         contexts</a>
 
        <li><a href="#event0"><span class=secno>5.4.2 </span>Event loops</a>
+        <ul class=toc>
+         <li><a href="#generic"><span class=secno>5.4.2.1. </span>Generic
+          task sources</a>
+        </ul>
 
        <li><a href="#security4"><span class=secno>5.4.3 </span>Security
         exceptions</a>
@@ -5689,7 +5693,7 @@
      incrementally, as, for instance, with a progressively interlaced JPEG or
      an HTML file, multiple tasks may be queued to process the data as it is
      downloaded. The <a href="#task-source">task source</a> for these tasks
-     is the <dfn id=networking>networking task source</dfn>.</p>
+     is the <a href="#networking">networking task source</a>.</p>
     <!-- XXX make sure each use of 'fetch' defines what the appropriate
    task is -->
     
@@ -7288,7 +7292,7 @@
   void <a href="#document.write" title=dom-document-write>write</a>([Variadic] in DOMString text);
   void <a href="#document.writeln..." title=dom-document-writeln>writeln</a>([Variadic] in DOMString text);
 
-  // <a href="#user-interaction">user interaction</a>
+  // <a href="#user-interaction0">user interaction</a>
   <a href="#selection1">Selection</a> <a href="#getselection0" title=dom-document-getSelection>getSelection</a>();
   readonly attribute <span>Element</span> <a href="#activeelement" title=dom-document-activeElement>activeElement</a>;
   boolean <a href="#hasfocus" title=dom-document-hasFocus>hasFocus</a>();
@@ -7874,7 +7878,7 @@
   readonly attribute <a href="#domtokenlist0">DOMTokenList</a> <a href="#classlist" title=dom-classList>classList</a>;
   readonly attribute <a href="#domstringmap0">DOMStringMap</a> <a href="#dataset" title=dom-dataset>dataset</a>;
 
-  // <a href="#user-interaction">user interaction</a>
+  // <a href="#user-interaction0">user interaction</a>
            attribute boolean <a href="#hidden5" title=dom-hidden>hidden</a>;
   void <a href="#click1" title=dom-click>click</a>();
   void <a href="#scrollintoview" title=dom-scrollIntoView>scrollIntoView</a>();
@@ -30827,13 +30831,50 @@
   <h5 id=autofocusing><span class=secno>4.10.13.4. </span>Autofocusing a form
    control</h5>
 
-  <p class=big-issue>... <dfn id=autofocus
-   title=attr-fe-autofocus>autofocus</dfn> content attribute
+  <p>The <dfn id=autofocus
+   title=attr-fe-autofocus><code>autofocus</code></dfn> content attribute
+   allows the user to indicate that a control is to be focused as soon as the
+   page is loaded, allowing the user to just start typing without having to
+   manually focus the main control.
 
-  <p class=big-issue>... <dfn id=autofocus0
-   title=dom-fe-autofocus>autofocus</dfn> DOM attribute</p>
-  <!-- If the element is <span>focusable</span>, run the <span>focusing steps</step> for that element. -->
+  <p>The <code title=attr-fe-autofocus><a
+   href="#autofocus">autofocus</a></code> attribute is a <a
+   href="#boolean0">boolean attribute</a>.
 
+  <p>There must not be more than one element in the document with the <code
+   title=attr-fe-autofocus><a href="#autofocus">autofocus</a></code>
+   attribute specified.
+
+  <p>Whenever an element with the <code title=attr-fe-autofocus><a
+   href="#autofocus">autofocus</a></code> attribute specified is <a
+   href="#inserted" title="insert an element into a document">inserted into a
+   document</a>, the user agent should <a href="#queue">queue a task</a> that
+   checks to see if the element is <a href="#focusable">focusable</a>, and if
+   so, runs the <a href="#focusing">focusing steps</a> for that element. User
+   agents may also change the scrolling position of the document, or perform
+   some other action that brings the element to the user's attention. The <a
+   href="#task-source">task source</a> for this task is the <a
+   href="#dom-manipulation">DOM manipulation task source</a>.
+
+  <p>User agents may ignore this attribute if the user has indicated (for
+   example, by starting to type in a form control) that he does not wish
+   focus to be changed.
+
+  <p class=note>Focusing the control does not imply that the user agent must
+   focus the browser window if it has lost focus.
+
+  <p>The <dfn id=autofocus0
+   title=dom-fe-autofocus><code>autofocus</code></dfn> DOM attribute must <a
+   href="#reflect">reflect</a> the content attribute of the same name.
+
+  <div class=example>
+   <p>In the following snippet, the text control would be focused when the
+    document was loaded.</p>
+
+   <pre><input maxlength="256" name="q" value="" autofocus>
+<input type="submit" value="Search"></pre>
+  </div>
+
   <h4 id=attributes2><span class=secno>4.10.14 </span><dfn
    id=attributes5>Attributes for form submission</dfn></h4>
 
@@ -37423,13 +37464,13 @@
    different <a href="#task-queues" title="task queue">task queues</a>.
 
   <p class=example>For example, a user agent could have one <a
-   href="#task-queues">task queue</a> for mouse and key events (the
-   <span>user interaction task source</span>, not defined in this
-   specification<!-- XXX xref -->), and another for everything else. The user
-   agent could then give keyboard and mouse events preference over other
-   tasks three quarters of the time, keeping the interface responsive but not
-   starving other task queues, and never processing events from any one <a
-   href="#task-source">task source</a> out of order.
+   href="#task-queues">task queue</a> for mouse and key events (the <a
+   href="#user-interaction">user interaction task source</a>), and another
+   for everything else. The user agent could then give keyboard and mouse
+   events preference over other tasks three quarters of the time, keeping the
+   interface responsive but not starving other task queues, and never
+   processing events from any one <a href="#task-source">task source</a> out
+   of order.
 
   <p>An <a href="#event4">event loop</a> must continually run through the
    following steps for as long as it exists:
@@ -37452,6 +37493,46 @@
     <p>Return to the first step of the <a href="#event4">event loop</a>.
   </ol>
 
+  <h5 id=generic><span class=secno>5.4.2.1. </span>Generic task sources</h5>
+
+  <p>The following <a href="#task-source" title="task source">task
+   sources</a> are used by a number of mostly unrelated features in this and
+   other specifications.
+
+  <dl>
+   <dt>The <dfn id=dom-manipulation>DOM manipulation task source</dfn>
+
+   <dd>
+    <p>This <a href="#task-source">task source</a> is used for features that
+     react to DOM manipulations, such as things that happen asynchronously
+     when an element is <a href="#inserted" title="insert an element into a
+     document">inserted into the document</a>.</p>
+
+    <p>Asynchronous mutation events must be dispatched using <a href="#tasks"
+     title=concept-task>tasks</a> <a href="#queue" title="queue a
+     task">queued</a> with the <a href="#dom-manipulation">DOM manipulation
+     task source</a>. <a href="#refsDOMEVENTS">[DOMEVENTS]</a></p>
+
+   <dt>The <dfn id=user-interaction>user interaction task source</dfn>
+
+   <dd>
+    <p>This <a href="#task-source">task source</a> is used for features that
+     react to user interaction, for example keyboard or mouse input.</p>
+
+    <p>Asynchronous events sent in response to user input (e.g. <span
+     title=event-click>click</span> events) must be dispatched using <a
+     href="#tasks" title=concept-task>tasks</a> <a href="#queue" title="queue
+     a task">queued</a> with the <a href="#user-interaction">user interaction
+     task source</a>. <a href="#refsDOMEVENTS">[DOMEVENTS]</a></p>
+
+   <dt>The <dfn id=networking>networking task source</dfn>
+
+   <dd>
+    <p>This <a href="#task-source">task source</a> is used for features that
+     trigger in response to network activity.</p>
+    <!-- XHR should use this -->
+  </dl>
+
   <h4 id=security4><span class=secno>5.4.3 </span>Security exceptions</h4>
 
   <p class=big-issue>Define <dfn id=security10>security exception</dfn>.</p>
@@ -44424,7 +44505,7 @@
   <p>This specification does not define how new values will get approved. It
    is expected that the Wiki will have a community that addresses this.
 
-  <h2 id=editing><span class=secno>6. </span><dfn id=user-interaction>User
+  <h2 id=editing><span class=secno>6. </span><dfn id=user-interaction0>User
    Interaction</dfn></h2>
 
   <p>This section describes various features that allow authors to enable
@@ -53823,8 +53904,8 @@
 
   <hr>
 
-  <p>The <dfn id=generic>generic CDATA element parsing algorithm</dfn> and
-   the <dfn id=generic0>generic RCDATA element parsing algorithm</dfn>
+  <p>The <dfn id=generic0>generic CDATA element parsing algorithm</dfn> and
+   the <dfn id=generic1>generic RCDATA element parsing algorithm</dfn>
    consist of the following steps. These algorithms are always invoked in
    response to a start tag token.
 
@@ -53833,10 +53914,10 @@
     <p><a href="#insert0">Insert an HTML element</a> for the token.
 
    <li>
-    <p>If the algorithm that was invoked is the <a href="#generic">generic
+    <p>If the algorithm that was invoked is the <a href="#generic0">generic
      CDATA element parsing algorithm</a>, switch the tokeniser's <a
      href="#content4">content model flag</a> to the CDATA state; otherwise
-     the algorithm invoked was the <a href="#generic0">generic RCDATA element
+     the algorithm invoked was the <a href="#generic1">generic RCDATA element
      parsing algorithm</a>, switch the tokeniser's <a
      href="#content4">content model flag</a> to the RCDATA state.
 
@@ -54441,7 +54522,7 @@
    <dt>A start tag whose tag name is "title"
 
    <dd>
-    <p>Follow the <a href="#generic0">generic RCDATA element parsing
+    <p>Follow the <a href="#generic1">generic RCDATA element parsing
      algorithm</a>.</p>
 
    <dt>A start tag whose tag name is "noscript", if the <a
@@ -54450,7 +54531,7 @@
    <dt>A start tag whose tag name is one of: "noframes", "style"
 
    <dd>
-    <p>Follow the <a href="#generic">generic CDATA element parsing
+    <p>Follow the <a href="#generic0">generic CDATA element parsing
      algorithm</a>.</p>
 
    <dt>A start tag whose tag name is "noscript", if the <a
@@ -55468,7 +55549,7 @@
     <p><a href="#reconstruct">Reconstruct the active formatting elements</a>,
      if any.</p>
 
-    <p>Follow the <a href="#generic">generic CDATA element parsing
+    <p>Follow the <a href="#generic0">generic CDATA element parsing
      algorithm</a>.</p>
 
    <dt>A start tag whose tag name is "table"
@@ -55688,7 +55769,7 @@
     href="#scripting3">scripting flag</a> is enabled
 
    <dd>
-    <p>Follow the <a href="#generic">generic CDATA element parsing
+    <p>Follow the <a href="#generic0">generic CDATA element parsing
      algorithm</a>.</p>
 
    <dt>A start tag whose tag name is "select"

Modified: source
===================================================================
--- source	2008-09-19 00:17:48 UTC (rev 2217)
+++ source	2008-09-19 01:02:51 UTC (rev 2218)
@@ -3513,7 +3513,7 @@
    processed incrementally, as, for instance, with a progressively
    interlaced JPEG or an HTML file, multiple tasks may be queued to
    process the data as it is downloaded. The <span>task source</span>
-   for these tasks is the <dfn>networking task source</dfn>.</p>
+   for these tasks is the <span>networking task source</span>.</p>
    <!-- XXX make sure each use of 'fetch' defines what the appropriate
    task is -->
 
@@ -27177,14 +27177,49 @@
 
   <h5>Autofocusing a form control</h5>
 
-  <p class="big-issue">... <dfn title="attr-fe-autofocus">autofocus</dfn> content attribute</p>
+  <p>The <dfn title="attr-fe-autofocus"><code>autofocus</code></dfn>
+  content attribute allows the user to indicate that a control is to
+  be focused as soon as the page is loaded, allowing the user to just
+  start typing without having to manually focus the main control.</p>
 
-  <p class="big-issue">... <dfn title="dom-fe-autofocus">autofocus</dfn> DOM attribute</p>
+  <p>The <code title="attr-fe-autofocus">autofocus</code> attribute is
+  a <span>boolean attribute</span>.</p>
 
-  <!-- If the element is <span>focusable</span>, run the <span>focusing steps</step> for that element. -->
+  <p>There must not be more than one element in the document with the
+  <code title="attr-fe-autofocus">autofocus</code> attribute
+  specified.</p>
 
+  <p>Whenever an element with the <code
+  title="attr-fe-autofocus">autofocus</code> attribute specified is
+  <span title="insert an element into a document">inserted into a
+  document</span>, the user agent should <span>queue a task</span>
+  that checks to see if the element is <span>focusable</span>, and if
+  so, runs the <span>focusing steps</span> for that element. User
+  agents may also change the scrolling position of the document, or
+  perform some other action that brings the element to the user's
+  attention. The <span>task source</span> for this task is the
+  <span>DOM manipulation task source</span>.</p>
 
+  <p>User agents may ignore this attribute if the user has indicated
+  (for example, by starting to type in a form control) that he does
+  not wish focus to be changed.</p>
 
+  <p class="note">Focusing the control does not imply that the user
+  agent must focus the browser window if it has lost focus.</p>
+
+  <p>The <dfn title="dom-fe-autofocus"><code>autofocus</code></dfn>
+  DOM attribute must <span>reflect</span> the content attribute of the
+  same name.</p>
+
+  <div class="example">
+   <p>In the following snippet, the text control would be focused when
+   the document was loaded.</p>
+   <pre><input maxlength="256" name="q" value="" autofocus>
+<input type="submit" value="Search"></pre>
+  </div>
+
+
+
   <h4><dfn>Attributes for form submission</dfn></h4>
 
   <p class="big-issue">... <dfn title="attr-fs-action">action</dfn> content attribute</p>
@@ -33617,8 +33652,7 @@
 
   <p class="example">For example, a user agent could have one
   <span>task queue</span> for mouse and key events (the <span>user
-  interaction task source</span>, not defined in this
-  specification<!-- XXX xref -->), and another for everything
+  interaction task source</span>), and another for everything
   else. The user agent could then give keyboard and mouse events
   preference over other tasks three quarters of the time, keeping the
   interface responsive but not starving other task queues, and never
@@ -33647,6 +33681,59 @@
 
 
 
+  <h5>Generic task sources</h5>
+
+  <p>The following <span title="task source">task sources</span> are
+  used by a number of mostly unrelated features in this and other
+  specifications.</p>
+
+  <dl>
+
+   <dt>The <dfn>DOM manipulation task source</dfn></dt>
+
+   <dd>
+
+    <p>This <span>task source</span> is used for features that react
+    to DOM manipulations, such as things that happen asynchronously
+    when an element is <span title="insert an element into a
+    document">inserted into the document</span>.</p>
+
+    <p>Asynchronous mutation events must be dispatched using <span
+    title="concept-task">tasks</span> <span title="queue a
+    task">queued</span> with the <span>DOM manipulation task
+    source</span>. <a href="#refsDOMEVENTS">[DOMEVENTS]</a></p>
+
+   </dd>
+
+   <dt>The <dfn>user interaction task source</dfn></dt>
+
+   <dd>
+
+    <p>This <span>task source</span> is used for features that react
+    to user interaction, for example keyboard or mouse input.</p>
+
+    <p>Asynchronous events sent in response to user input (e.g. <span
+    title="event-click">click</span> events) must be dispatched using
+    <span title="concept-task">tasks</span> <span title="queue a
+    task">queued</span> with the <span>user interaction task
+    source</span>. <a href="#refsDOMEVENTS">[DOMEVENTS]</a></p>
+
+   </dd>
+
+   <dt>The <dfn>networking task source</dfn></dt>
+
+   <dd>
+
+    <p>This <span>task source</span> is used for features that trigger
+    in response to network activity.</p>
+
+    <!-- XHR should use this -->
+
+   </dd>
+
+  </dl>
+
+
   <h4>Security exceptions</h4>
 
   <p class="big-issue">Define <dfn>security exception</dfn>.</p>




More information about the Commit-Watchers mailing list