marked 6.1 Keyboard Input as informative
authorschepers
Thu, 10 Sep 2009 15:19:15 +0900
changeset 182 68039c375b3a
parent 181 d579a07f11de
child 183 c9eb58b9e33e
marked 6.1 Keyboard Input as informative
html/DOM3-Events.html
--- a/html/DOM3-Events.html	Thu Sep 10 15:04:43 2009 +0900
+++ b/html/DOM3-Events.html	Thu Sep 10 15:19:15 2009 +0900
@@ -139,11 +139,11 @@
       </p>
       <h1 id="Overview-title">Document Object Model (DOM) Level 3 Events Specification</h1>
 <!-- @@@ -->
-      <h2 id="Overview-W3C-doctype">W3C Editor's Draft <span class="date">9 September 2009</span></h2>
+      <h2 id="Overview-W3C-doctype">W3C Editor's Draft <span class="date">10 September 2009</span></h2>
       <dl>
         <dt>This version:</dt>
         <dd>
-          <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.71">http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.71</a>
+          <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.72">http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.72</a>
         </dd>
         <dt>Latest stable version:</dt>
         <dd>
@@ -151,7 +151,7 @@
         </dd>
         <dt>Previous version:</dt>
         <dd>
-          <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.70">http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.70</a>
+          <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.71">http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.71</a>
         </dd>
         <dt>Editor's Draft:</dt>
         <dd>
@@ -189,7 +189,7 @@
         knowledge of a patent which the individual believes contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
         Claim(s)</a> must disclose the information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
         6 of the W3C Patent Policy</a>.</p>
-      <p id="working-draft">This is the <span class="date">9 September 2009</span> Editor's Draft version of the "Document Object Model (DOM) Level 3 Events" specification.  This document was previously published as a W3C Note, pending further feedback from implementers, and is now being revised to reflect the current state of implementation.  It is expected that this specification will progress to Recommendation status.</p>
+      <p id="working-draft">This is the <span class="date">10 September 2009</span> Editor's Draft version of the "Document Object Model (DOM) Level 3 Events" specification.  This document was previously published as a W3C Note, pending further feedback from implementers, and is now being revised to reflect the current state of implementation.  It is expected that this specification will progress to Recommendation status.</p>
       <p id="this-document-is-produced-by-the-web-app">This document is produced
         by the <a href="http://www.w3.org/2008/webapps/">Web Applications WG</a>,
         part of the <a href="http://www.w3.org/2006/rwc/Activity">Rich Web
@@ -3572,6 +3572,7 @@
         </dl>
         <p>The mutation event types are listed below.</p>
 
+<!-- DOMSubtreeModified -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-DOMSubtreeModified">
@@ -3582,6 +3583,7 @@
           </dl>
         </div>
 
+<!-- DOMNodeInserted -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-DOMNodeInserted">
@@ -3592,6 +3594,7 @@
           </dl>
         </div>
 
+<!-- DOMNodeRemoved -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-DOMNodeRemoved">
@@ -3602,6 +3605,7 @@
           </dl>
         </div>
 
+<!-- DOMNodeRemovedFromDocument -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-DOMNodeRemovedFromDocument">
@@ -3612,6 +3616,7 @@
           </dl>
         </div>
 
+<!-- DOMNodeInsertedIntoDocument -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-DOMNodeInsertedIntoDocument">
@@ -3622,6 +3627,7 @@
           </dl>
         </div>
 
+<!-- DOMAttrModified -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-DOMAttrModified">
@@ -3632,6 +3638,7 @@
           </dl>
         </div>
 
+<!-- DOMCharacterDataModified -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-DOMCharacterDataModified">
@@ -3642,6 +3649,8 @@
           </dl>
         </div>
       </div>
+      
+      
 <!-- div3 Events-eventgroupings-mutationevents -->
       <div class="div3">
         <h3 class="div3"><a id="events-mutationnameevents" href="#events-mutationnameevents">5.2.10 Mutation Name Event Types</a></h3>
@@ -3727,6 +3736,7 @@
         </dl>
         <p>The mutation name event types are listed below.</p>
 
+<!-- DOMElementNameChanged -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-DOMElementNameChanged">
@@ -3737,6 +3747,7 @@
           </dl>
         </div>
 
+<!-- DOMAttributeNameChanged -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-DOMAttributeNameChanged">
@@ -3754,69 +3765,72 @@
 
 
 
-          <div class="div1">
-            <h2 class="adiv1"><a id="keyset" href="#keyset">6. Keyboard events and key identifiers</a></h2>
-            <p>This section contains necessary information regarding keyboard events:</p>
-            <ul>
-            <li>Relations between keys, such as dead keys or modifiers keys.</li>
-            <li>Relations between keyboard events, their default actions, and text events.</li>
-            <li>The set of key identifiers, and guidelines on how to extend this set.</li>
-          </ul>
-          <p class="note"><strong>Note:</strong> This section uses serbian and kanji characters which are not always available (or are misrepresented) in the alternative versions or printed versions of this specification.</p>
-
-
-          <div class="div2">
-            <h3 class="adiv2"><a id="keyboard-input" href="#keyboard-input">6.1 Keyboard Input</a></h3>
-            <p>The relationship of each key to the complete keyboard has three separate aspects, each of which vary among different models and configurations of keyboards, particularly for locale-specific reasons:</p>
-            <ul>
-              <li><strong>Mechanical layout:</strong> the dimensions, size, and placement of the physical keys on the keyboard</li>
-              <li><strong>Visual markings:</strong> the labels (or <em>legends</em>) that mark each key</li>
-              <li><strong>Functional mapping:</strong> the abstract key-identifier association of each key.</li>
-            </ul>
-
-            <p>This specification only defines the functional mapping, in terms of key identifiers.  The visual marking has no bearing on the digital representation of the keys, and in many configurations may be completely inaccurate.</p>
-
-            <h4 class="adiv2"><a id="keyboard-layout" href="#keyboard-layout">6.1.1 Keyboard Layout</a></h4>
-            <p>As with the key labels, the physical layout of the keys on the keyboard does not not affect the digital identifier for any given key.  It is outside the scope of this specification to provide key identifiers based on keyboard layout, particularly since there are so many possible layouts for a keyboard, and since users can change the mapping of keys in their operating system, e.g. selecting a Dvorak key mapping.</p>
-            <p>However, the physical layout of the keys may be of interest to authors developing games or other applications wherein the location of the keys has an ergonomic relationship as the desired user interface controls, with little or no attention paid to the representational value of the key itself.  For example, many games may use the keys <code class="value">'A'</code>, <code class="value">'S'</code>, <code class="value">'D'</code>, and <code class="value">'W'</code> for <code class="value">'left'</code>, <code class="value">'down'</code>, <code class="value">'right'</code>, and <code class="value">'up'</code> respectively.  Authors should provide a means for the user to assign the controller keys to a custom setting appropriate to their keyboard configurations.</p>
-
-            <h5 class="adiv2"><a id="keyboard-desktop" href="#keyboard-desktop">6.1.1.1 Desktop and Laptop Keyboards</a></h5>
-            <p>In the case where an author wishes to rely on the mechanical layout of a desktop or laptop keyboard, this specification suggests the keyboard configuration specified in ISO/IEC 9995-3-FCD:2009A [<cite><a class="noxref informative" href="#references-ISO-9995-3">ISO-9995-3</a></cite>] as a common layout appropriate to some international uses.</p>
-
-            <p class="note"><strong>Note:</strong> This keyboard layout is still, in essence, a QWERTY keyboard, and will not match the keyboards or configurations of many users.  Authors cannot rely upon any particular configuration, and should create content in an internationalized and localizable manner.</p>
-
-            <div class="figure" style="text-align: center">
-              <object type="image/svg+xml" data="images/ISOIEC-9995-3-FCD-2009A.svg" width="900" height="300">
-                <img src="images/ISOIEC-9995-3-FCD-2009A.png" alt="A graphical depiction of an ISO standard defining layouts of computer keyboards, ISO/IEC 9995-3:2009A"/>
-              </object>
-              <p style="text-align:left"><em>Figure: A graphical depiction of an ISO standard defining layouts of computer keyboards, ISO/IEC 9995-3:2009A</em></p>
-            </div>
-
-            <h5 class="adiv2"><a id="keyboard-mobile" href="#keyboard-mobile">6.1.1.2 Mobile Keypads</a></h5>
-            <p>In the case where an author wishes to rely on the mechanical layout of a mobile keypad, this specification suggests the keyboard configuration specified in ISO/IEC 9995-8:2006 [<cite><a class="noxref informative" href="#references-ISO-9995-8">ISO-9995-8</a></cite>] as a common layout appropriate to some international uses.</p>
-
-            <p class="note"><strong>Note:</strong> This keypad layout, and in particular the distribution of letters is for Western devices, and will not match the keypads or configurations of many users.  Authors cannot rely upon any particular configuration, and should create content in an internationalized and localizable manner.</p>
-
-            <div class="figure" style="text-align: center">
-              <object type="image/svg+xml" data="images/ISOIEC-9995-8-2006.svg" width="180" height="240">
-                <img src="images/ISOIEC-9995-8-2006.png" alt="A graphical depiction of an ISO standard defining layouts of numeric keypads, with distribution of letters on the keys, ISO/IEC 9995-8:2006"/>
-              </object>
-              <p style="text-align:left"><em>Figure: A graphical depiction of an ISO standard defining layouts of numeric keypads, with distribution of letters on the keys, ISO/IEC 9995-8:2006</em></p>
-            </div>
-
-
-
-            <h3 class="adiv2"><a id="keyset-comp-input" href="#keyset-comp-input">6.2 Compositional Keyboard Input</a></h3>
-
-            <p class="1st">Each keyboard event references a key using a <code>DOMString</code> key identifier. The set contained in this appendix is based on the sets of keycodes from:</p>
-            <ul>
-              <li>the interface <code>java.awt.event.KeyEvent</code> of the Java 2 Platform v1.4 [<cite><a class="noxref informative" href="#references-KeyEvent">KeyEvent for Java</a></cite>];</li>
-              <li>the enumeration <code>System.Windows.Forms.Keys</code> of the Microsoft .NET Framework 1.0 [<cite><a class="noxref informative" href="#references-Keys">Keys enumeration for .Net</a></cite>].</li>
-            </ul>
-
-    		    <p>Key identifiers are strings used for uniquely addressing keyboard buttons, and intended for use in two primary scenarios:  as attributes for a keyboard event; or as string values for markup attributes, such as so-called "hotkeys" (or keyboard shortcuts).  As attributes on an event, the key identifier shall be a single canonical value.  As author-generated content, the key identifier may be one of three equivalent string values, which all evaluate to the same key identifier; the string may be a character string (a single character, such as a letter or symbol), a key name (a multi-character string, such as <code>enter</code> or <code>tab</code>, for control or dead keys, or certain symbols), or a Unicode codepoint ("U+" followed by a hexadecimal character index).  The event attribute must always be the most author-friendly of these, in the following order: character string, key name, or Unicode codepoint.</p>
-
-    		<p>There are several use cases for keyboard events.  The first use case is to retrieve the value of the key itself, in whichever mode that key currently represents (i.e. the value of a key as an upper- or lower-case letter, or a symbol or number, depending upon the current modifier keys, or as a key name); this may be used for monitoring particular input strings, or for modifier key input, or for author-generated virtual keyboards, and does not not depend upon the location of the key in the physical layout of the device, which may be mapped to different configurations based on user or system preference.  The second use case is for keyboard shortcuts, where the string itself may be of secondary importance, and where they key used should default to the most appropriate key for the function, language, operating system, device, and other environmental factors (such as <code>ctrl+c</code> for copy operations).  The final use case is completely independent of the value of the key identifier, and relies solely on the physical layout of the input device itself (such as for game controls); this is highly variable device-dependent functionality, and is not within the scope of this specification.  Implementations should provide an option for users to establish their own preferential mapping for keyboard layout, and may rely upon ISO 9995-3, which defines a common layout for primary and secondary key mappings on a typical alphanumeric keyboard, or on ISO 9995-8, which defines a numeric keypad layout and secondary assignment of Unicode characters in the range <abbr title="a-z">U+0061..U+007A</abbr> to the number keys <code>2</code> through <code>9</code>.</p>
+    <div class="div1">
+      <h2 class="adiv1"><a id="keyset" href="#keyset">6. Keyboard events and key identifiers</a></h2>
+      <p>This section contains necessary information regarding keyboard events:</p>
+      <ul>
+      <li>Relations between keys, such as dead keys or modifiers keys.</li>
+      <li>Relations between keyboard events, their default actions, and text events.</li>
+      <li>The set of key identifiers, and guidelines on how to extend this set.</li>
+    </ul>
+    <p class="note"><strong>Note:</strong> This section uses serbian and kanji characters which are not always available (or are misrepresented) in the alternative versions or printed versions of this specification.</p>
+
+
+    <div class="div2">
+      <h3 class="adiv2"><a id="keyboard-input" href="#keyboard-input">6.1 Keyboard Input</a></h3>
+      
+      <p><em>This section is informative</em></p>
+      
+      <p>The relationship of each key to the complete keyboard has three separate aspects, each of which vary among different models and configurations of keyboards, particularly for locale-specific reasons:</p>
+      <ul>
+        <li><strong>Mechanical layout:</strong> the dimensions, size, and placement of the physical keys on the keyboard</li>
+        <li><strong>Visual markings:</strong> the labels (or <em>legends</em>) that mark each key</li>
+        <li><strong>Functional mapping:</strong> the abstract key-identifier association of each key.</li>
+      </ul>
+
+      <p>This specification only defines the functional mapping, in terms of key identifiers.  The visual marking has no bearing on the digital representation of the keys, and in many configurations may be completely inaccurate.</p>
+
+      <h4 class="adiv2"><a id="keyboard-layout" href="#keyboard-layout">6.1.1 Keyboard Layout</a></h4>
+      <p>As with the key labels, the physical layout of the keys on the keyboard does not not affect the digital identifier for any given key.  It is outside the scope of this specification to provide key identifiers based on keyboard layout, particularly since there are so many possible layouts for a keyboard, and since users can change the mapping of keys in their operating system, e.g. selecting a Dvorak key mapping.</p>
+      <p>However, the physical layout of the keys may be of interest to authors developing games or other applications wherein the location of the keys has an ergonomic relationship as the desired user interface controls, with little or no attention paid to the representational value of the key itself.  For example, many games may use the keys <code class="value">'A'</code>, <code class="value">'S'</code>, <code class="value">'D'</code>, and <code class="value">'W'</code> for <code class="value">'left'</code>, <code class="value">'down'</code>, <code class="value">'right'</code>, and <code class="value">'up'</code> respectively.  Authors should provide a means for the user to assign the controller keys to a custom setting appropriate to their keyboard configurations.</p>
+
+      <h5 class="adiv2"><a id="keyboard-desktop" href="#keyboard-desktop">6.1.1.1 Desktop and Laptop Keyboards</a></h5>
+      <p>In the case where an author wishes to rely on the mechanical layout of a desktop or laptop keyboard, this specification suggests the keyboard configuration specified in ISO/IEC 9995-3-FCD:2009A [<cite><a class="noxref informative" href="#references-ISO-9995-3">ISO-9995-3</a></cite>] as a common layout appropriate to some international uses.</p>
+
+      <p class="note"><strong>Note:</strong> This keyboard layout is still, in essence, a QWERTY keyboard, and will not match the keyboards or configurations of many users.  Authors cannot rely upon any particular configuration, and should create content in an internationalized and localizable manner.</p>
+
+      <div class="figure" style="text-align: center">
+        <object type="image/svg+xml" data="images/ISOIEC-9995-3-FCD-2009A.svg" width="900" height="300">
+          <img src="images/ISOIEC-9995-3-FCD-2009A.png" alt="A graphical depiction of an ISO standard defining layouts of computer keyboards, ISO/IEC 9995-3:2009A"/>
+        </object>
+        <p style="text-align:left"><em>Figure: A graphical depiction of an ISO standard defining layouts of computer keyboards, ISO/IEC 9995-3:2009A</em></p>
+      </div>
+
+      <h5 class="adiv2"><a id="keyboard-mobile" href="#keyboard-mobile">6.1.1.2 Mobile Keypads</a></h5>
+      <p>In the case where an author wishes to rely on the mechanical layout of a mobile keypad, this specification suggests the keyboard configuration specified in ISO/IEC 9995-8:2006 [<cite><a class="noxref informative" href="#references-ISO-9995-8">ISO-9995-8</a></cite>] as a common layout appropriate to some international uses.</p>
+
+      <p class="note"><strong>Note:</strong> This keypad layout, and in particular the distribution of letters is for Western devices, and will not match the keypads or configurations of many users.  Authors cannot rely upon any particular configuration, and should create content in an internationalized and localizable manner.</p>
+
+      <div class="figure" style="text-align: center">
+        <object type="image/svg+xml" data="images/ISOIEC-9995-8-2006.svg" width="180" height="240">
+          <img src="images/ISOIEC-9995-8-2006.png" alt="A graphical depiction of an ISO standard defining layouts of numeric keypads, with distribution of letters on the keys, ISO/IEC 9995-8:2006"/>
+        </object>
+        <p style="text-align:left"><em>Figure: A graphical depiction of an ISO standard defining layouts of numeric keypads, with distribution of letters on the keys, ISO/IEC 9995-8:2006</em></p>
+      </div>
+
+
+
+      <h3 class="adiv2"><a id="keyset-comp-input" href="#keyset-comp-input">6.2 Compositional Keyboard Input</a></h3>
+
+      <p class="1st">Each keyboard event references a key using a <code>DOMString</code> key identifier. The set contained in this appendix is based on the sets of keycodes from:</p>
+      <ul>
+        <li>the interface <code>java.awt.event.KeyEvent</code> of the Java 2 Platform v1.4 [<cite><a class="noxref informative" href="#references-KeyEvent">KeyEvent for Java</a></cite>];</li>
+        <li>the enumeration <code>System.Windows.Forms.Keys</code> of the Microsoft .NET Framework 1.0 [<cite><a class="noxref informative" href="#references-Keys">Keys enumeration for .Net</a></cite>].</li>
+      </ul>
+
+	    <p>Key identifiers are strings used for uniquely addressing keyboard buttons, and intended for use in two primary scenarios:  as attributes for a keyboard event; or as string values for markup attributes, such as so-called "hotkeys" (or keyboard shortcuts).  As attributes on an event, the key identifier shall be a single canonical value.  As author-generated content, the key identifier may be one of three equivalent string values, which all evaluate to the same key identifier; the string may be a character string (a single character, such as a letter or symbol), a key name (a multi-character string, such as <code>enter</code> or <code>tab</code>, for control or dead keys, or certain symbols), or a Unicode codepoint ("U+" followed by a hexadecimal character index).  The event attribute must always be the most author-friendly of these, in the following order: character string, key name, or Unicode codepoint.</p>
+
+    <p>There are several use cases for keyboard events.  The first use case is to retrieve the value of the key itself, in whichever mode that key currently represents (i.e. the value of a key as an upper- or lower-case letter, or a symbol or number, depending upon the current modifier keys, or as a key name); this may be used for monitoring particular input strings, or for modifier key input, or for author-generated virtual keyboards, and does not not depend upon the location of the key in the physical layout of the device, which may be mapped to different configurations based on user or system preference.  The second use case is for keyboard shortcuts, where the string itself may be of secondary importance, and where they key used should default to the most appropriate key for the function, language, operating system, device, and other environmental factors (such as <code>ctrl+c</code> for copy operations).  The final use case is completely independent of the value of the key identifier, and relies solely on the physical layout of the input device itself (such as for game controls); this is highly variable device-dependent functionality, and is not within the scope of this specification.  Implementations should provide an option for users to establish their own preferential mapping for keyboard layout, and may rely upon ISO 9995-3, which defines a common layout for primary and secondary key mappings on a typical alphanumeric keyboard, or on ISO 9995-8, which defines a numeric keypad layout and secondary assignment of Unicode characters in the range <abbr title="a-z">U+0061..U+007A</abbr> to the number keys <code>2</code> through <code>9</code>.</p>
 
     <!--
     <p>There are several primary use cases for Key Identifiers, roughly divided into cases for output and input.  For output,