Fixup internal links for KeyboardEvent (and attributes)
authorGary Kacmarcik <garykac@google.com>
Sat, 17 Aug 2013 15:11:41 -0700
changeset 452 40213e201d37
parent 451 010b786c9de2
child 453 a7936b6a4d3f
Fixup internal links for KeyboardEvent (and attributes)
html/DOM3-Events.html
--- a/html/DOM3-Events.html	Sat Aug 17 13:37:21 2013 -0700
+++ b/html/DOM3-Events.html	Sat Aug 17 15:11:41 2013 -0700
@@ -231,7 +231,7 @@
 
 				<dt>Key and character values</dt>
 				<dd>
-					This is a key name: <code class="key">'Spacebar'</code> (e.g., the value of <a href="#events-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>); this is the equivalent character
+					This is a key name: <code class="key">'Spacebar'</code> (e.g., the value of <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>); this is the equivalent character
 					value: <code class="char">'\u0020'</code>. This is a glyph that represents that same
 					character value: <code class="glyph">' '</code>.
 				</dd>
@@ -485,7 +485,7 @@
 			<dt id="glossary-modifier-key"><dfn>modifier key</dfn></dt>
 			<dd>A modifier key changes the normal behavior of a key, such as to produce a character of a different case (as with the <a href="#key-Shift"><code class="key">
 				'Shift'</code></a> key), or to alter what functionality the key triggers (as with the <a href="#key-Fn"><code class="key">'Fn'</code></a> or <a href="#key-Alt">
-				<code class="key">'Alt'</code></a> keys).  Refer to the <a href="#events-KeyboardEvent-getModifierState"><code>KeyboardEvent.getModifierState()</code></a>
+				<code class="key">'Alt'</code></a> keys).  Refer to the <a href="#widl-KeyboardEvent-getModifierState"><code>KeyboardEvent.getModifierState()</code></a>
 				method for a list of modifier keys defined in this specification.  See also <a href="#keys-Modifiers">Modifier keys</a>.</dd>
 
 			<dt id="glossary-namespaceURI"><dfn>namespace URI</dfn></dt>
@@ -842,7 +842,7 @@
 				<p>Both HTML and SVG have an <code>&lt;a&gt;</code> element which indicates a link.  Relevant <a
 				class="def" href="#glossary-activation-trigger">activation triggers</a> for an <code>&lt;a&gt;</code> element are a <a class="eventtype" href="#event-type-click"><code>
 				click</code></a> event on the text or image  content of the <code>&lt;a&gt;</code> element, or a <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>
-				event with a <a href="#events-KeyboardEvent-key">key</a> attribute value of <a href="#key-Enter"><code class="key">'Enter'</code></a> key when the <code>&lt;a&gt;</code>
+				event with a <a href="#widl-KeyboardEvent-key">key</a> attribute value of <a href="#key-Enter"><code class="key">'Enter'</code></a> key when the <code>&lt;a&gt;</code>
 				element has focus.  The activation behavior for an <code>&lt;a&gt;</code> element is normally to change the content of the window to the content of the new document,
 				in the case of external links, or to reposition the current document relative to the new anchor, in the case of internal links.</p>
 			</div>
@@ -1374,7 +1374,8 @@
 						<dd>
 							<p>The event to be dispatched.</p>
 							<p class="note"><strong>Note: </strong>This parameter receives an <code>Event</code> object, or any object that inherits from <code>Event</code>, e.g., <code>MouseEvent</code>,
-								<code>KeyboardEvent</code>, <code>MutationEvent</code>, etc.</p>
+								<a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a>,
+								<code>MutationEvent</code>, etc.</p>
 						</dd>
 					</dl>
 
@@ -1641,7 +1642,7 @@
 						<td>Sync</td>
 						<td>Yes</td>
 						<td><code>Document</code>, <code>Element</code></td>
-						<td><a href="#events-KeyboardEvent"><code>KeyboardEvent</code></a></td>
+						<td><a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a></td>
 						<td>Yes</td>
 						<td>Varies:
 							<a class="eventtype" href="#event-type-beforeinput"><code>beforeinput</code></a> and <a class="eventtype" href="#event-type-input"><code>input</code></a> events;
@@ -1656,7 +1657,7 @@
 						<td>Sync</td>
 						<td>Yes</td>
 						<td><code>Document</code>, <code>Element</code></td>
-						<td><a href="#events-KeyboardEvent"><code>KeyboardEvent</code></a></td>
+						<td><a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a></td>
 						<td>Yes</td>
 						<td>none</td>
 					</tr>
@@ -1892,7 +1893,7 @@
 						<td>Sync</td>
 						<td>Yes</td>
 						<td><code>Document</code>, <code>Element</code></td>
-						<td><a href="#events-KeyboardEvent"><code>KeyboardEvent</code></a></td>
+						<td><a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a></td>
 						<td>Yes</td>
 						<td>Varies:
 							launch <a class="def" href="#glossary-text-composition-system">text composition system</a>;
@@ -2994,24 +2995,24 @@
 
 						<dt>readonly attribute boolean ctrlKey</dt>
 						<dd>
-							<p>Refer to the <a href="#events-KeyboardEvent-ctrlKey"><code>KeyboardEvent.ctrlKey</code></a> attribute.</p>
+							<p>Refer to the <a href="#widl-KeyboardEvent-ctrlKey"><code>KeyboardEvent.ctrlKey</code></a> attribute.</p>
 
 							<p>The <a class="def" href="#glossary-un-initialized-value">un-initialized value</a> of this attribute MUST be <code>false</code>.</p>
 						</dd>
 
 						<dt>readonly attribute boolean shiftKey</dt>
 						<dd>
-							<p>Refer to the <a href="#events-KeyboardEvent-shiftKey"><code>KeyboardEvent.shiftKey</code></a> attribute.</p>
+							<p>Refer to the <a href="#widl-KeyboardEvent-shiftKey"><code>KeyboardEvent.shiftKey</code></a> attribute.</p>
 						</dd>
 
 						<dt>readonly attribute boolean altKey</dt>
 						<dd>
-							<p>Refer to the <a href="#events-KeyboardEvent-altKey"><code>KeyboardEvent.altKey</code></a> attribute.</p>
+							<p>Refer to the <a href="#widl-KeyboardEvent-altKey"><code>KeyboardEvent.altKey</code></a> attribute.</p>
 						</dd>
 
 						<dt>readonly attribute boolean metaKey</dt>
 						<dd>
-							<p>Refer to the <a href="#events-KeyboardEvent-metaKey"><code>KeyboardEvent.metaKey</code></a> attribute.</p>
+							<p>Refer to the <a href="#widl-KeyboardEvent-metaKey"><code>KeyboardEvent.metaKey</code></a> attribute.</p>
 
 							<p>The <a class="def" href="#glossary-un-initialized-value">un-initialized value</a> of this attribute MUST be <code>false</code>.</p>
 						</dd>
@@ -3181,7 +3182,7 @@
 							<dl class="parameters">
 								<dt>DOMString keyArg</dt>
 								<dd>
-									<p>Refer to the <a href="#events-KeyboardEvent-getModifierState"><code>KeyboardEvent.getModifierState()</code></a> method for a description of this parameter.</p>
+									<p>Refer to the <a href="#widl-KeyboardEvent-getModifierState"><code>KeyboardEvent.getModifierState()</code></a> method for a description of this parameter.</p>
 								</dd>
 							</dl>
 						</dd>
@@ -4263,20 +4264,20 @@
 
 					<p class="intro-dom">Introduced in DOM Level 3</p>
 
-					<p>The <code>KeyboardEvent</code> interface provides specific contextual information associated with keyboard devices. Each keyboard event references a key using a
+					<p>The <a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a> interface provides specific contextual information associated with keyboard devices. Each keyboard event references a key using a
 						value. Keyboard events are commonly directed at the element that has the focus.</p>
 
-					<p>The <code>KeyboardEvent</code> interface provides convenient attributes for some common modifiers keys: <a href="#events-KeyboardEvent-ctrlKey"><code>KeyboardEvent.ctrlKey</code></a>,
-						<a href="#events-KeyboardEvent-shiftKey"><code>KeyboardEvent.shiftKey</code></a>, <a href="#events-KeyboardEvent-altKey"><code>KeyboardEvent.altKey</code></a>,
-						<a href="#events-KeyboardEvent-metaKey"><code>KeyboardEvent.metaKey</code></a>. These attributes are equivalent to using the method <a href="#events-KeyboardEvent-getModifierState">
+					<p>The <a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a> interface provides convenient attributes for some common modifiers keys: <a href="#widl-KeyboardEvent-ctrlKey"><code>KeyboardEvent.ctrlKey</code></a>,
+						<a href="#widl-KeyboardEvent-shiftKey"><code>KeyboardEvent.shiftKey</code></a>, <a href="#widl-KeyboardEvent-altKey"><code>KeyboardEvent.altKey</code></a>,
+						<a href="#widl-KeyboardEvent-metaKey"><code>KeyboardEvent.metaKey</code></a>. These attributes are equivalent to using the method <a href="#widl-KeyboardEvent-getModifierState">
 						<code>KeyboardEvent.getModifierState(keyArg)</code></a> with <code class="key">'Control'</code>, <code class="key">'Shift'</code>, <code class="key">'Alt'</code>,
 						or <code class="key">'Meta'</code> respectively.</p>
 
-					<p>To create an instance of the <code>KeyboardEvent</code> interface, use the <a href="#events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("KeyboardEvent")</code></a>
+					<p>To create an instance of the <a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a> interface, use the <a href="#events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("KeyboardEvent")</code></a>
 						method call.</p>
 
 					<p class="note"><strong>Authoring Note: </strong>See [<a href="#references-UIEvents">UI Events</a>] for information about programmatically initializing
-						KeyboardEvent objects.</p>
+						<a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a> objects.</p>
 
 					<dl class="idl" title="interface KeyboardEvent : UIEvent">
 						<dt>// KeyLocationCode</dt>
@@ -4404,7 +4405,7 @@
 								<a class="eventtype" href="#event-type-beforeinput"><code>beforeinput</code></a>,
 								<a class="eventtype" href="#event-type-input"><code>input</code></a>
 								in this order, at a rate determined by the system configuration. For mobile devices which have <em>long-key-press</em>
-								behavior, the first key event with a <a href="#events-KeyboardEvent-repeat">repeat</a> attribute value of <code>'true'</code> MUST serve as an
+								behavior, the first key event with a <a href="#widl-KeyboardEvent-repeat">repeat</a> attribute value of <code>'true'</code> MUST serve as an
 								indication of a <em>long-key-press</em>. The length of time that the key MUST be pressed in order to begin repeating is configuration-dependent.</p>
 
 							<p>The <a class="def" href="#glossary-un-initialized-value">un-initialized value</a> of this attribute MUST be <code>false</code>.</p>
@@ -4448,7 +4449,7 @@
 									<p>Returns <code>true</code> if it is a modifier key and the modifier is activated, <code>false</code> otherwise.</p>
 
 									<p class="note"><strong>Note:</strong> If an application wishes to distinguish between right and left modifiers, this information could be
-										deduced using keyboard events and <a href="#events-KeyboardEvent-location"><code>KeyboardEvent.location</code></a>.</p>
+										deduced using keyboard events and <a href="#widl-KeyboardEvent-location"><code>KeyboardEvent.location</code></a>.</p>
 								</dd>
 
 							</dl>
@@ -4463,7 +4464,7 @@
 					associated with that key (which might be the same as the <code>keyCode</code> value) and is applicable only to keys that produce a
 					<a class="def" href="#glossary-character-value">character value</a>.  In practice, <code>keyCode</code> and <code>charCode</code> are inconsistent across platforms
 					and even the same implementation on different operating systems or using different localizations.  DOM Level 3 Events  does not define values for either
-					<code>keyCode</code> or <code>charCode</code>, or behavior for <code>charCode</code>; content authors can use <a href="#events-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>
+					<code>keyCode</code> or <code>charCode</code>, or behavior for <code>charCode</code>; content authors can use <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>
 					instead, in conforming DOM Level 3 Events implementations. <em>For more information, see
 					the informative appendix on <a href="#legacy-key-attributes-events">Legacy key attributes and events</a>.</em></p>
 
@@ -4513,7 +4514,7 @@
 							<tr>
 								<td class="cell-right">1.</td>
 								<td><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a></td>
-								<td><em>(with <a href="#events-KeyboardEvent-repeat">repeat</a> attribute set to <code> true</code>)</em></td>
+								<td><em>(with <a href="#widl-KeyboardEvent-repeat">repeat</a> attribute set to <code> true</code>)</em></td>
 							</tr>
 							<tr>
 								<td class="cell-right">2.</td>
@@ -4562,7 +4563,7 @@
 								</tr>
 								<tr>
 									<th>Interface</th>
-									<td><a href="#events-KeyboardEvent"><code>KeyboardEvent</code></a></td>
+									<td><a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a></td>
 								</tr>
 								<tr>
 									<th>Sync / Async</th>
@@ -4598,19 +4599,19 @@
 												input element focused</li>
 											<li><a href="#events-UIEvent-view"><code class="attribute-name">UIEvent.view</code></a>: <a class="def" href="#glossary-defaultView"><code>defaultView</code></a></li>
 											<li><a href="#events-UIEvent-detail"><code class="attribute-name">UIEvent.detail</code></a>: <code>0</code></li>
-											<li><a href="#events-KeyboardEvent-key"><code class="attribute-name">KeyboardEvent.key</code></a>: the key value of the key pressed.</li>
-											<li><a href="#events-KeyboardEvent-location"><code class="attribute-name">KeyboardEvent.location</code></a>: the location of the key on the device.</li>
-											<li><a href="#events-KeyboardEvent-altKey"><code class="attribute-name">KeyboardEvent.altKey</code></a>: <code>true</code> if <a href="#key-Alt"><code class="key">
+											<li><a href="#widl-KeyboardEvent-key"><code class="attribute-name">KeyboardEvent.key</code></a>: the key value of the key pressed.</li>
+											<li><a href="#widl-KeyboardEvent-location"><code class="attribute-name">KeyboardEvent.location</code></a>: the location of the key on the device.</li>
+											<li><a href="#widl-KeyboardEvent-altKey"><code class="attribute-name">KeyboardEvent.altKey</code></a>: <code>true</code> if <a href="#key-Alt"><code class="key">
 												'Alt'</code></a> modifier was active, otherwise <code>false</code></li>
-											<li><a href="#events-KeyboardEvent-shiftKey"><code class="attribute-name">KeyboardEvent.shiftKey</code></a>:  <code>true</code> if <a href="#key-Shift"><code class="key">
+											<li><a href="#widl-KeyboardEvent-shiftKey"><code class="attribute-name">KeyboardEvent.shiftKey</code></a>:  <code>true</code> if <a href="#key-Shift"><code class="key">
 												'Shift'</code></a> modifier was active, otherwise <code>false</code></li>
-											<li><a href="#events-KeyboardEvent-ctrlKey"><code class="attribute-name">KeyboardEvent.ctrlKey</code></a>:  <code>true</code> if <a href="#key-Control"><code class="key">
+											<li><a href="#widl-KeyboardEvent-ctrlKey"><code class="attribute-name">KeyboardEvent.ctrlKey</code></a>:  <code>true</code> if <a href="#key-Control"><code class="key">
 												'Control'</code></a> modifier was active, otherwise <code>false</code></li>
-											<li><a href="#events-KeyboardEvent-metaKey"><code class="attribute-name">KeyboardEvent.metaKey</code></a>:  <code>true</code> if <a href="#key-Meta"><code class="key">
+											<li><a href="#widl-KeyboardEvent-metaKey"><code class="attribute-name">KeyboardEvent.metaKey</code></a>:  <code>true</code> if <a href="#key-Meta"><code class="key">
 												'Meta'</code></a> modifier was active, otherwise <code>false</code></li>
-											<li><a href="#events-KeyboardEvent-repeat"><code class="attribute-name">KeyboardEvent.repeat</code></a>:  <code>true</code> if a key has been depressed long enough
+											<li><a href="#widl-KeyboardEvent-repeat"><code class="attribute-name">KeyboardEvent.repeat</code></a>:  <code>true</code> if a key has been depressed long enough
 												to trigger key repetition, otherwise <code>false</code></li>
-											<li><a href="#events-KeyboardEvent-locale"><code class="attribute-name">KeyboardEvent.locale</code></a>: the language code for the key event, if available; otherwise,
+											<li><a href="#widl-KeyboardEvent-locale"><code class="attribute-name">KeyboardEvent.locale</code></a>: the language code for the key event, if available; otherwise,
 												the <a class="def" href="#glossary-empty-string">empty string</a></li>
 										</ul>
 									</td>
@@ -4672,7 +4673,7 @@
 								</tr>
 								<tr>
 									<th>Interface</th>
-									<td><a href="#events-KeyboardEvent"><code>KeyboardEvent</code></a></td>
+									<td><a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a></td>
 								</tr>
 								<tr>
 									<th>Sync / Async</th>
@@ -4702,18 +4703,18 @@
 												input element focused</li>
 											<li><a href="#events-UIEvent-view"><code class="attribute-name">UIEvent.view</code></a>: <a class="def" href="#glossary-defaultView"><code>defaultView</code></a></li>
 											<li><a href="#events-UIEvent-detail"><code class="attribute-name">UIEvent.detail</code></a>: <code>0</code></li>
-											<li><a href="#events-KeyboardEvent-key"><code class="attribute-name">KeyboardEvent.key</code></a>: the key value of the key pressed.</li>
-											<li><a href="#events-KeyboardEvent-location"><code class="attribute-name">KeyboardEvent.location</code></a>: the location of the key on the device.</li>
-											<li><a href="#events-KeyboardEvent-altKey"><code class="attribute-name">KeyboardEvent.altKey</code></a>: <code>true</code> if <a href="#key-Alt"><code class="key">
+											<li><a href="#widl-KeyboardEvent-key"><code class="attribute-name">KeyboardEvent.key</code></a>: the key value of the key pressed.</li>
+											<li><a href="#widl-KeyboardEvent-location"><code class="attribute-name">KeyboardEvent.location</code></a>: the location of the key on the device.</li>
+											<li><a href="#widl-KeyboardEvent-altKey"><code class="attribute-name">KeyboardEvent.altKey</code></a>: <code>true</code> if <a href="#key-Alt"><code class="key">
 												'Alt'</code></a> modifier was active, otherwise <code>false</code></li>
-											<li><a href="#events-KeyboardEvent-shiftKey"><code class="attribute-name">KeyboardEvent.shiftKey</code></a>:  <code>true</code> if <a href="#key-Shift"><code class="key">
+											<li><a href="#widl-KeyboardEvent-shiftKey"><code class="attribute-name">KeyboardEvent.shiftKey</code></a>:  <code>true</code> if <a href="#key-Shift"><code class="key">
 												'Shift'</code></a> modifier was active, otherwise <code>false</code></li>
-											<li><a href="#events-KeyboardEvent-ctrlKey"><code class="attribute-name">KeyboardEvent.ctrlKey</code></a>:  <code>true</code> if <a href="#key-Control"><code class="key">
+											<li><a href="#widl-KeyboardEvent-ctrlKey"><code class="attribute-name">KeyboardEvent.ctrlKey</code></a>:  <code>true</code> if <a href="#key-Control"><code class="key">
 												'Control'</code></a> modifier was active, otherwise <code>false</code></li>
-											<li><a href="#events-KeyboardEvent-metaKey"><code class="attribute-name">KeyboardEvent.metaKey</code></a>:  <code>true</code> if <a href="#key-Meta"><code class="key">
+											<li><a href="#widl-KeyboardEvent-metaKey"><code class="attribute-name">KeyboardEvent.metaKey</code></a>:  <code>true</code> if <a href="#key-Meta"><code class="key">
 												'Meta'</code></a> modifier was active, otherwise <code>false</code></li>
-											<li><a href="#events-KeyboardEvent-repeat"><code class="attribute-name">KeyboardEvent.repeat</code></a>: <code>false</code></li>
-											<li><a href="#events-KeyboardEvent-locale"><code class="attribute-name">KeyboardEvent.locale</code></a>: the language code for the key event, if available; otherwise,
+											<li><a href="#widl-KeyboardEvent-repeat"><code class="attribute-name">KeyboardEvent.repeat</code></a>: <code>false</code></li>
+											<li><a href="#widl-KeyboardEvent-locale"><code class="attribute-name">KeyboardEvent.locale</code></a>: the language code for the key event, if available; otherwise,
 												the <a class="def" href="#glossary-empty-string">empty string</a></li>
 										</ul>
 									</td>
@@ -5811,7 +5812,7 @@
 				as for keyboard shortcuts).  This specification defines a set of common key values (called the <a href="#key-values">Key Values Set</a>), and rules for production
 				of new key values.</p>
 
-			<p>Key values can be used to detect the value of a key which has been pressed, using the <a href="#events-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>
+			<p>Key values can be used to detect the value of a key which has been pressed, using the <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>
 				attribute.  Content authors can retrieve the <a class="def" href="#glossary-character-value">
 				character value</a> of upper- or lower-case letters, number, symbols, or other character-producing keys, and also the <a class="def" href="#glossary-key-value">key
 				value</a> of control keys, modifier keys, function keys, or other keys that do not generate characters; these values can be used for monitoring particular
@@ -5835,18 +5836,18 @@
 				state, <code class="key">'O'</code> in a shifted state, <code class="key">'&#xF6;'</code> in an unshifted state during a dead-key operation to add an umlaut diacritic, and <code class="key">'&#xD6;'</code>
 				in a shifted state during a dead-key operation to add an umlaut diacritic.  Because a user can map their keyboard to an arbitrary custom configuration, the content
 				author is encouraged not to assume that a relationship exists between the shifted and unshifted states of a key and the majuscule form (uppercase or capital letters)
-				and minuscule form (lowercase or small letters) of a character representation, but is encouraged instead to use the value of the <a href="#events-KeyboardEvent-key">
+				and minuscule form (lowercase or small letters) of a character representation, but is encouraged instead to use the value of the <a href="#widl-KeyboardEvent-key">
 				<code>KeyboardEvent.key</code></a> attribute.  The keyboard depicted in <a href="#figure-keyboard">
 				Figure 4</a> illustrates one possible set of <a class="def" href="#glossary-key-mapping">key mappings</a> on one possible keyboard layout; many others exist,
 				both standard and idiosyncratic.</p>
 
 			<p>It is also important to note that there is not a one-to-one relationship between key event states and key values.  A particular key value might be associated with
 				multiple keys; for example, many standard keyboards contain more than one key with the <code class="key">'Shift'</code> key value (normally distinguished by the
-				<a href="#events-KeyboardEvent-location"><code>KeyboardEvent.location</code></a> values <a href="#events-DOM_KEY_LOCATION_LEFT"><code class="constant-name">DOM_KEY_LOCATION_LEFT</code></a>
+				<a href="#widl-KeyboardEvent-location"><code>KeyboardEvent.location</code></a> values <a href="#events-DOM_KEY_LOCATION_LEFT"><code class="constant-name">DOM_KEY_LOCATION_LEFT</code></a>
 				and <a href="#events-DOM_KEY_LOCATION_RIGHT"><code class="constant-name">DOM_KEY_LOCATION_RIGHT</code></a>) or <code class="key">'8'</code> key value (normally
-				distinguished by the <a href="#events-KeyboardEvent-location"><code>KeyboardEvent.location</code></a> values <a href="#events-DOM_KEY_LOCATION_STANDARD"><code class="constant-name">
+				distinguished by the <a href="#widl-KeyboardEvent-location"><code>KeyboardEvent.location</code></a> values <a href="#events-DOM_KEY_LOCATION_STANDARD"><code class="constant-name">
 				DOM_KEY_LOCATION_STANDARD</code></a> and <a href="#events-DOM_KEY_LOCATION_NUMPAD"><code class="constant-name">DOM_KEY_LOCATION_NUMPAD</code></a>), and user-configured
-				custom keyboard layouts MAY duplicate any key value in multiple key-state scenarios (note that <a href="#events-KeyboardEvent-location"><code>KeyboardEvent.location</code></a>
+				custom keyboard layouts MAY duplicate any key value in multiple key-state scenarios (note that <a href="#widl-KeyboardEvent-location"><code>KeyboardEvent.location</code></a>
 				is intended for standard keyboard layouts, and cannot always indicate a meaningful distinction).</p>
 
 			<p>Finally, the meaning of any given character representation is context-dependent and complex.  For example, in some contexts, the asterisk (star) glyph (<code
@@ -5930,10 +5931,10 @@
 					<code>keydown</code></a> and <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a> events, as shown in the example below. Some modifiers are activated
 					while the key is being pressed down or maintained pressed such as <code class="key">'Alt'</code>, <code class="key">'Control'</code>, <code class="key">'Shift'</code>,
 					<code class="key">'AltGraph'</code>, or <code class="key">'Meta'</code>. Others modifiers are activated depending on their state such as <code class="key">'CapsLock'</code>,
-					<code class="key">'NumLock'</code>, or <code class="key">'ScrollLock'</code>. Change in the state happens when the modifier key is being pressed down. The <a href="#events-KeyboardEvent">
-					<code>KeyboardEvent</code></a> interface provides convenient attributes for some common modifiers keys: <a href="#events-KeyboardEvent-ctrlKey"><code>KeyboardEvent.ctrlKey</code></a>,
-					<a href="#events-KeyboardEvent-shiftKey"><code>KeyboardEvent.shiftKey</code></a>, <a href="#events-KeyboardEvent-altKey"><code>KeyboardEvent.altKey</code></a>,
-					<a href="#events-KeyboardEvent-metaKey"><code>KeyboardEvent.metaKey</code></a>. Some operating systems simulate the <code class="key">'AltGraph'</code> modifier
+					<code class="key">'NumLock'</code>, or <code class="key">'ScrollLock'</code>. Change in the state happens when the modifier key is being pressed down. The <a href="#widl-KeyboardEvent">
+					<code>KeyboardEvent</code></a> interface provides convenient attributes for some common modifiers keys: <a href="#widl-KeyboardEvent-ctrlKey"><code>KeyboardEvent.ctrlKey</code></a>,
+					<a href="#widl-KeyboardEvent-shiftKey"><code>KeyboardEvent.shiftKey</code></a>, <a href="#widl-KeyboardEvent-altKey"><code>KeyboardEvent.altKey</code></a>,
+					<a href="#widl-KeyboardEvent-metaKey"><code>KeyboardEvent.metaKey</code></a>. Some operating systems simulate the <code class="key">'AltGraph'</code> modifier
 					key with the combination of the <code class="key">'Alt'</code> and <code class="key">'Control'</code> modifier keys. Implementations are encouraged to use the
 					<code class="key">'AltGraph'</code> modifier key.</p>
 
@@ -6077,7 +6078,7 @@
 						<tr>
 							<td class="cell-right"></td>
 							<th>Event Name</th>
-							<th class="cell-center">KeyboardEvent<br/><code>key</code></th>
+							<th class="cell-center"><a href="#widl-KeyboardEvent-key"><code>KeyboardEvent<br/>key</code></th>
 							<th class="cell-center">CompositionEvent<br/><code>data</code></th>
 							<th>Notes</th>
 						</tr>
@@ -6152,7 +6153,7 @@
 						<tr>
 							<td class="cell-right"></td>
 							<th>Event Name</th>
-							<th class="cell-center">KeyboardEvent<br/><code>key</code></th>
+							<th class="cell-center"><a href="#widl-KeyboardEvent-key"><code>KeyboardEvent<br/>key</code></a></th>
 							<th class="cell-center">CompositionEvent<br/><code>data</code></th>
 							<th>Notes</th>
 						</tr>
@@ -6247,7 +6248,7 @@
 						<tr>
 							<td class="cell-right"></td>
 							<th>Event Name</th>
-							<th class="cell-center">KeyboardEvent<br/><code>key</code></th>
+							<th class="cell-center"><a href="#widl-KeyboardEvent-key"><code>KeyboardEvent<br/>key</code></a></th>
 							<th class="cell-center">CompositionEvent<br/><code>data</code></th>
 							<th>Notes</th>
 						</tr>
@@ -6376,7 +6377,7 @@
 						<tr>
 							<td class="cell-right"></td>
 							<th>Event Name</th>
-							<th class="cell-center">KeyboardEvent<br/><code>key</code></th>
+							<th class="cell-center"><a href="#widl-KeyboardEvent-key"><code>KeyboardEvent<br/>key</code></a></th>
 							<th class="cell-center">CompositionEvent<br/><code>data</code></th>
 							<th>Notes</th>
 						</tr>
@@ -6544,7 +6545,7 @@
 						<tr>
 							<td class="cell-right"></td>
 							<th>Event Name</th>
-							<th class="cell-center">KeyboardEvent<br/><code>key</code></th>
+							<th class="cell-center"><a href="#widl-KeyboardEvent-key"><code>KeyboardEvent<br/>key</code></a></th>
 							<th class="cell-center">Event<br/><code>data</code></th>
 							<th class="cell-center">Modifiers</th>
 							<th>Notes</th>
@@ -6602,7 +6603,7 @@
 						<tr>
 							<td class="cell-right"></td>
 							<th>Event Name</th>
-							<th class="cell-center">KeyboardEvent<br/><code>key</code></th>
+							<th class="cell-center"><a href="#widl-KeyboardEvent-key"><code>KeyboardEvent<br/>key</code></a></th>
 							<th class="cell-center">Event<br/><code>data</code></th>
 							<th class="cell-center">Modifiers</th>
 							<th>Notes</th>
@@ -6676,7 +6677,7 @@
 						<tr>
 							<td class="cell-right"></td>
 							<th>Event Name</th>
-							<th class="cell-center">KeyboardEvent<br/><code>key</code></th>
+							<th class="cell-center"><a href="#widl-KeyboardEvent-key"><code>KeyboardEvent<br/>key</code></a></th>
 							<th class="cell-center">Event<br/><code>data</code></th>
 							<th>Notes</th>
 						</tr>
@@ -6742,18 +6743,18 @@
 					<li>If the primary current function of the key is to generate a character, then:
 						<ol class="algo">
 							<li>If there exists an appropriate character in the <a href="#keys-keyvalues">key values set</a>, then
-								the <a href="#events-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute MUST be a string consisting
+								the <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute MUST be a string consisting
 								of the <em>key value</em> of that character.</li>
 							<li>If there is no appropriate key value in the <a href="#keys-keyvalues">key values set</a>, and there exists an appropriate <a class="def" href="#glossary-unicode-code-point">
 								Unicode code point</a>, then
-								the <a href="#events-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute MUST be a string consisting
+								the <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute MUST be a string consisting
 								of the <em>char value</em> of that character.</li>
 						</ol>
 					</li>
 					<li>If the primary current function of the key is to serve as a function key, then:
 						<ol class="algo">
 							<li>If there exists an appropriate key value in the <a href="#keys-keyvalues">key values set</a>, then:
-								the <a href="#events-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute MUST be a string consisting
+								the <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute MUST be a string consisting
 								of the <em>key value</em> of that character.</li>
 						</ol>
 					</li>
@@ -6765,7 +6766,7 @@
 						<li>On a PC/AT US keyboard with a right-handed single-hand Dvorak <a class="def" href="#glossary-key-mapping">key mapping</a>, the key labeled <code class="key">
 							'Q'</code> maps to the key values <code class="key">'5'</code> (unmodified) and <code class="key">'%'</code> (shifted).  The primary function of this key
 							is to generate the character <code class="key">'5'</code> (<code class="char">'\u0035'</code>).  Since this character is a character (in Unicode general category
-							<abbr title="Number, Decimal Digit">Nd</abbr>), the <a href="#events-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>
+							<abbr title="Number, Decimal Digit">Nd</abbr>), the <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>
 							attribute value for the unmodified key will be <code class="key">'5'</code>.</li>
 						<li>On a French PC keyboard with a standard French mapping, the primary function of the <code class="key">'^'</code> key is as a <a class="def" href="#glossary-dead-key">
 							dead key</a> for the circumflex diacritical mark. While the Unicode value <code class="char">'\u0302'</code> exists for this character, there is
@@ -6785,9 +6786,9 @@
 
 				<p>This section defines a list of key values which implementations MUST support, at a minimum, in addition to support for the full range of Unicode [<a href="#references-Unicode">Unicode</a>]
 					codepoints.  Implementations MAY support additional key values, in a manner conforming to the <a href="#keys-Guide">guidelines for selecting and defining key values</a>.
-					The <a href="#events-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute of an event MUST always contain one of these control key
+					The <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute of an event MUST always contain one of these control key
 					or character values (even if the value is <a href="#key-Unidentified"><code class="key">'Unidentified'</code></a>). If the key represents one of the set of printable
-					control characters which has a Unicode character entry, such as the tab key, the <a href="#events-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute
+					control characters which has a Unicode character entry, such as the tab key, the <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute
 					MUST have the key value (e.g., <a href="#key-Tab"><code class="key">'Tab'</code></a>).</p>
 
 				<p>Implementations that are unable to identify a key MUST use the key value <a href="#key-Unidentified"><code class="key">'Unidentified'</code></a>.</p>
@@ -6810,7 +6811,7 @@
 				<p class="note"><strong>Note:</strong> The key names <code class="key">'NumPad0'</code>, <code class="key">'NumPad1'</code>, <code class="key">
 					'NumPad2'</code>, <code class="key">'NumPad3'</code>, <code class="key">'NumPad4'</code>, <code class="key">'NumPad5'</code>, <code class="key">'NumPad6'</code>,
 					<code class="key">'NumPad7'</code>, <code class="key">'NumPad8'</code>, and <code class="key">'NumPad9'</code>, found in some keyboard enumeration sets,
-					are not distinguished from other numerical key values in this set; a content author could use the <a href="#events-KeyboardEvent-location"><code>KeyboardEvent.location</code></a>
+					are not distinguished from other numerical key values in this set; a content author could use the <a href="#widl-KeyboardEvent-location"><code>KeyboardEvent.location</code></a>
 					attribute to discover if a key originated from the numeric keypad.</p>
 
 				<p>Future versions of this specification MAY include key values not included here, which have become common since the publication of this specification.</p>
@@ -6834,8 +6835,8 @@
 				<section id="key-values-list">
 					<h4>Key Values List</h4>
 					<p>The following list contains the normative list of case-sensitive key values, their character values (where applicable), an informative description of typical usage,
-						and an informative categorization.  A conforming implementation of the <a href="#events-KeyboardEvent">KeyboardEvent</a> interface MUST support at least this set
-						of values for use in the <a href="#events-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>
+						and an informative categorization.  A conforming implementation of the <a href="#widl-KeyboardEvent">KeyboardEvent</a> interface MUST support at least this set
+						of values for use in the <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>
 						attributes, though not all values MAY be available on all platforms or devices.</p>
 
 					<!-- Key tables. Note that all keys must be defined within a <div class="key-table"> -->
@@ -7135,7 +7136,7 @@
 			<li><a href="#events-CustomEvent"><code>CustomEvent</code></a></li>
 			<li><a href="#events-FocusEvent"><code>FocusEvent</code></a></li>
 			<li><a href="#events-WheelEvent"><code>WheelEvent</code></a></li>
-			<li><a href="#events-KeyboardEvent"><code>KeyboardEvent</code></a></li>
+			<li><a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a></li>
 			<li><a href="#events-CompositionEvent"><code>CompositionEvent</code></a></li>
 		</ul>
 
@@ -7442,11 +7443,11 @@
 					<dd></dd>
 					<dt>void initKeyboardEvent()</dt>
 					<dd>
-						<p>Initializes attributes of a <code>KeyboardEvent</code> object. This method has the same behavior as <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a>.
+						<p>Initializes attributes of a <a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a> object. This method has the same behavior as <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a>.
 							The value of <a href="#events-UIEvent-detail"><code>UIEvent.detail</code></a> remains undefined.</p>
 
 						<p class="warning"><strong>Warning!</strong> The <code>initKeyboardEvent</code> method is deprecated. Event constructor syntax, introduced in [<a href="#references-UIEvents">UI Events</a>], is the expected
-							future syntax for initializing a <code>KeyboardEvent</code>.</p>
+							future syntax for initializing a <a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a>.</p>
 
 						<dl class="parameters">
 							<dt>DOMString typeArg</dt>
@@ -7465,10 +7466,10 @@
 							<dd><p>Refer to the <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.</p></dd>
 
 							<dt>DOMString keyArg</dt>
-							<dd><p>Specifies <a href="#events-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>.</p></dd>
+							<dd><p>Specifies <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>.</p></dd>
 
 							<dt>unsigned long locationArg</dt>
-							<dd><p>Specifies <a href="#events-KeyboardEvent-location"><code>KeyboardEvent.location</code></a>.</p></dd>
+							<dd><p>Specifies <a href="#widl-KeyboardEvent-location"><code>KeyboardEvent.location</code></a>.</p></dd>
 
 							<dt>DOMString modifiersListArg</dt>
 							<dd><p>A <a class="normative" href="http://www.w3.org/TR/2004/REC-xml-20040204/#NT-S"><em>white space</em></a> separated list of modifier key values to be activated on
@@ -7476,10 +7477,10 @@
 							</dd>
 
 							<dt>boolean repeat</dt>
-							<dd><p>Specifies whether the key event is repeating; see <a href="#events-KeyboardEvent-repeat"><code>KeyboardEvent.repeat</code></a>.</p></dd>
+							<dd><p>Specifies whether the key event is repeating; see <a href="#widl-KeyboardEvent-repeat"><code>KeyboardEvent.repeat</code></a>.</p></dd>
 
 							<dt>DOMString localeArg</dt>
-							<dd><p>Specifies <a href="#events-KeyboardEvent-locale"><code>KeyboardEvent.locale</code></a>.</p></dd>
+							<dd><p>Specifies <a href="#widl-KeyboardEvent-locale"><code>KeyboardEvent.locale</code></a>.</p></dd>
 						</dl>
 					</dd>
 				</dl>
@@ -7549,7 +7550,7 @@
 
 		<p>Therefore, this specification does not normatively define the events and attributes commonly employed for handling keyboard input,
 			though they MAY be present in <a class="def" href="#glossary-user-agent">user agents</a> for compatibility with legacy content.
-			Authors SHOULD use the <a href="#events-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute instead of the <code class="attribute-name">charCode</code>
+			Authors SHOULD use the <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute instead of the <code class="attribute-name">charCode</code>
 			and <code class="attribute-name">keyCode</code> attributes.
 			Authors SHOULD also make use of the
 				<a class="eventtype" href="#event-type-beforeinput"><code>beforeinput</code></a>
@@ -7562,7 +7563,7 @@
 			For implementations which do support these attributes and events, it is suggested that the definitions provided in this section be used.</p>
 
 		<section id="KeyboardEvent-supplemental-interface">
-			<h2>Legacy KeyboardEvent supplemental interface</h2>
+			<h2>Legacy <a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a> supplemental interface</h2>
 			<p><em>This section is informative</em></p>
 			
 			<p>Browser support for keyboards has traditionally relied on three ad-hoc attributes, <code class="attribute-name">keyCode</code>, <code class="attribute-name">charCode</code>,
@@ -7578,11 +7579,20 @@
 				<dd>
 					<p class="intro-dom">Introduced in DOM Level 3</p>
 					
-					<p>The partial <code>KeyboardEvent</code> interface is an informative extension of the <a href="#events-KeyboardEvent">KeyboardEvent</a> interface, which adds the
-						<a href="#events-KeyboardEvent-supplemental-charCode">charCode</a>, <a href="#events-KeyboardEvent-supplemental-keyCode">keyCode</a>, and <a href="#events-KeyboardEvent-supplemental-which">
-						which</a> attributes.</p>
-
-					<p>The partial <code>KeyboardEvent</code> interface can be obtained by using the <a href="#events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("KeyboardEvent")</code></a>
+					<p>The partial
+							<a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a>
+						interface is an informative extension of the
+							<a href="#widl-KeyboardEvent">KeyboardEvent</a>
+						interface, which adds the
+							<a href="#widl-KeyboardEvent-supplemental-charCode">charCode</a>,
+							<a href="#widl-KeyboardEvent-supplemental-keyCode">keyCode</a>,
+							and <a href="#widl-KeyboardEvent-supplemental-which">which</a>
+						attributes.</p>
+
+					<p>The partial
+							<a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a>
+						interface can be obtained by using the
+							<a href="#events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("KeyboardEvent")</code></a>
 						method call in implementations that support this extension.</p>
 
 					<dl class="idl" title="partial interface KeyboardEvent">
@@ -7600,7 +7610,7 @@
 						<dt>readonly attribute unsigned long keyCode</dt>
 						<dd>
 							<p><code class="attribute-name">keyCode</code> holds a system- and implementation-dependent numerical code signifying the unmodified identifier associated with the
-								key pressed. Unlike the <a href="#events-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>
+								key pressed. Unlike the <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>
 								attribute, the set of possible values are not normatively defined in this specification; typically, these value of the <code class="attribute-name">keyCode</code>
 								SHOULD represent the decimal codepoint in ASCII [<a href="#ref-rfc20">RFC20</a>][<a href="#ref-US-ASCII">US-ASCII</a>] or Windows 1252 [<a href="#ref-WIN1252">WIN1252</a>],
 								but MAY be drawn from a different appropriate character set. Implementations that are unable to identify a key use the key value <code class="key">'0'</code>.</p>
@@ -7611,7 +7621,7 @@
 						<dt>readonly attribute unsigned long which</dt>
 						<dd>
 							<p><code>which</code> holds a system- and implementation-dependent numerical code signifying the unmodified identifier associated with the key pressed.  In most cases,
-								the value is identical to <code class="attribute-name"><a href="#events-KeyboardEvent-supplemental-keyCode">keyCode</a></code>.</p>
+								the value is identical to <code class="attribute-name"><a href="#widl-KeyboardEvent-supplemental-keyCode">keyCode</a></code>.</p>
 						</dd>
 					</dl>
 
@@ -7627,9 +7637,9 @@
 				processing them before the DOM is updated with the effects of the key press. Code that makes use of the
 					<a class="eventtype" href="#event-type-keypress"><code>keypress</code></a>
 				event typically relies on the legacy
-					<a href="#events-KeyboardEvent-supplemental-charCode">charCode</a>,
-					<a href="#events-KeyboardEvent-supplemental-keyCode">keyCode</a>,
-					and <a href="#events-KeyboardEvent-supplemental-which">which</a>
+					<a href="#widl-KeyboardEvent-supplemental-charCode">charCode</a>,
+					<a href="#widl-KeyboardEvent-supplemental-keyCode">keyCode</a>,
+					and <a href="#widl-KeyboardEvent-supplemental-which">which</a>
 				attributes.</p>
 
 			<p>Note that the <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event is specific to key events, and has been replaced
@@ -7650,7 +7660,7 @@
 							</tr>
 							<tr>
 								<th>Interface</th>
-								<td><a href="#events-KeyboardEvent"><code>KeyboardEvent</code></a></td>
+								<td><a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a></td>
 							</tr>
 							<tr>
 								<th>Sync / Async</th>
@@ -7682,22 +7692,22 @@
 											input element focused</li>
 										<li><a href="#events-UIEvent-view"><code class="attribute-name">UIEvent.view</code></a>: <a class="def" href="#glossary-defaultView"><code>defaultView</code></a></li>
 										<li><a href="#events-UIEvent-detail"><code class="attribute-name">UIEvent.detail</code></a>: <code>0</code></li>
-										<li><a href="#events-KeyboardEvent-charCode"><code class="attribute-name">KeyboardEvent.charCode</code></a>: legacy character value for this event</li>
-										<li><a href="#events-KeyboardEvent-keyCode"><code class="attribute-name">KeyboardEvent.keyCode</code></a>: legacy numerical code for this key</li>
-										<li><a href="#events-KeyboardEvent-which"><code class="attribute-name">KeyboardEvent.which</code></a>: legacy numerical code for this key</li>
-										<li><a href="#events-KeyboardEvent-key"><code class="attribute-name">KeyboardEvent.key</code></a>: the key value of the key pressed.</li>
-										<li><a href="#events-KeyboardEvent-location"><code class="attribute-name">KeyboardEvent.location</code></a>: the location of the key on the device.</li>
-										<li><a href="#events-KeyboardEvent-altKey"><code class="attribute-name">KeyboardEvent.altKey</code></a>: <code>true</code> if <a href="#key-Alt"><code class="key">
+										<li><a href="#widl-KeyboardEvent-charCode"><code class="attribute-name">KeyboardEvent.charCode</code></a>: legacy character value for this event</li>
+										<li><a href="#widl-KeyboardEvent-keyCode"><code class="attribute-name">KeyboardEvent.keyCode</code></a>: legacy numerical code for this key</li>
+										<li><a href="#widl-KeyboardEvent-which"><code class="attribute-name">KeyboardEvent.which</code></a>: legacy numerical code for this key</li>
+										<li><a href="#widl-KeyboardEvent-key"><code class="attribute-name">KeyboardEvent.key</code></a>: the key value of the key pressed.</li>
+										<li><a href="#widl-KeyboardEvent-location"><code class="attribute-name">KeyboardEvent.location</code></a>: the location of the key on the device.</li>
+										<li><a href="#widl-KeyboardEvent-altKey"><code class="attribute-name">KeyboardEvent.altKey</code></a>: <code>true</code> if <a href="#key-Alt"><code class="key">
 											'Alt'</code></a> modifier was active, otherwise <code>false</code></li>
-										<li><a href="#events-KeyboardEvent-shiftKey"><code class="attribute-name">KeyboardEvent.shiftKey</code></a>:  <code>true</code> if <a href="#key-Shift"><code class="key">
+										<li><a href="#widl-KeyboardEvent-shiftKey"><code class="attribute-name">KeyboardEvent.shiftKey</code></a>:  <code>true</code> if <a href="#key-Shift"><code class="key">
 											'Shift'</code></a> modifier was active, otherwise <code>false</code></li>
-										<li><a href="#events-KeyboardEvent-ctrlKey"><code class="attribute-name">KeyboardEvent.ctrlKey</code></a>:  <code>true</code> if <a href="#key-Control"><code class="key">
+										<li><a href="#widl-KeyboardEvent-ctrlKey"><code class="attribute-name">KeyboardEvent.ctrlKey</code></a>:  <code>true</code> if <a href="#key-Control"><code class="key">
 											'Control'</code></a> modifier was active, otherwise <code>false</code></li>
-										<li><a href="#events-KeyboardEvent-metaKey"><code class="attribute-name">KeyboardEvent.metaKey</code></a>:  <code>true</code> if <a href="#key-Meta"><code class="key">
+										<li><a href="#widl-KeyboardEvent-metaKey"><code class="attribute-name">KeyboardEvent.metaKey</code></a>:  <code>true</code> if <a href="#key-Meta"><code class="key">
 											'Meta'</code></a> modifier was active, otherwise <code>false</code></li>
-										<li><a href="#events-KeyboardEvent-repeat"><code class="attribute-name">KeyboardEvent.repeat</code></a>:  <code>true</code> if a key has been depressed long enough
+										<li><a href="#widl-KeyboardEvent-repeat"><code class="attribute-name">KeyboardEvent.repeat</code></a>:  <code>true</code> if a key has been depressed long enough
 											to trigger key repetition, otherwise <code>false</code></li>
-										<li><a href="#events-KeyboardEvent-locale"><code class="attribute-name">KeyboardEvent.locale</code></a>: the language code for the key event, if available; otherwise,
+										<li><a href="#widl-KeyboardEvent-locale"><code class="attribute-name">KeyboardEvent.locale</code></a>: the language code for the key event, if available; otherwise,
 											the <a class="def" href="#glossary-empty-string">empty string</a></li>
 									</ul>
 								</td>
@@ -7744,7 +7754,7 @@
 						<tr>
 							<td class="cell-right"></td>
 							<th>Event Name</th>
-							<th class="cell-center">KeyboardEvent<br/><code>key</code></th>
+							<th class="cell-center"><a href="#widl-KeyboardEvent-key"><code>KeyboardEvent<br/>key</code></a></th>
 							<th class="cell-center">CompositionEvent<br/><code>data</code></th>
 						</tr>
 						<tr>
@@ -8202,8 +8212,12 @@
 			<section id="changes-DOMLevel3Addons">
 				<h3>New Interfaces</h3>
 
-				<p>The interfaces <a href="#events-CustomEvent"><code>CustomEvent</code></a>, <a href="#events-FocusEvent"><code>FocusEvent</code></a>, <a href="#events-KeyboardEvent">
-					<code>KeyboardEvent</code></a>, <a href="#events-CompositionEvent"><code>CompositionEvent</code></a>, and <a href="#events-WheelEvent"><code>WheelEvent</code></a>
+				<p>The interfaces
+						<a href="#events-CustomEvent"><code>CustomEvent</code></a>,
+						<a href="#events-FocusEvent"><code>FocusEvent</code></a>,
+						<a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a>,
+						<a href="#events-CompositionEvent"><code>CompositionEvent</code></a>,
+						and <a href="#events-WheelEvent"><code>WheelEvent</code></a>
 					were added to the Events module.</p>
 			</section>
 		</section>
@@ -8223,9 +8237,16 @@
 
 			<ul>
 				<li>The <q>key identifier</q> feature has been renamed <q>key value</q> to disambiguate them from unique identifiers for keys.</li>
-				<li>The <code>KeyboardEvent</code> was briefly (from 2003-2010) defined to have <code>keyIdentifier</code> and <code>keyLocation</code> attributes, but these
-					were removed in favor of the current <code>key</code>
-					and <code>location</code> attributes. These attributes were not widely implemented.</li>
+				<li>The
+						<a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a>
+					was briefly (from 2003-2010) defined to have <code>keyIdentifier</code> and <code>keyLocation</code> attributes, but these
+					were removed in favor of the current
+						<a href="#widl-KeyboardEvent-key"><code>key</code></a>
+						and <a href="#widl-KeyboardEvent-location"><code>location</code></a>
+					attributes. These attributes were not widely implemented.</li>
+				<li>The <a href="#widl-KeyboardEvent"><code>KeyboardEvent</code></a> also had a <code>char</code> attribute that was only used by the
+						<a class="eventtype" href="#event-type-keypress"><code>keypress</code></a>
+					event. Since the keypress event has been deprecated, this attribute was no longer useful and was removed.</li>
 				<li>The <code>change</code>, <code>submit</code>, and <code>reset</code> events were removed, since they were specific to HTML forms, and are specified in [<cite><a
 					class="informative" href="#references-HTML5">HTML5</a></cite>].</li>
 				<li>The <code>textInput</code> event, originally proposed as a replacement for <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a>, was