--- a/html/DOM3-Events.html Wed Nov 13 04:08:56 2013 +0800
+++ b/html/DOM3-Events.html Wed Nov 13 04:59:53 2013 +0800
@@ -7836,15 +7836,28 @@
<h1>Legacy Event Types</h1>
<p><em>This section is informative</em></p>
- <p>This section provides a non-normative description of the event types that are deprecated in this document.</p>
-
- <p>The purpose of this section is to document the current state of these features and their relation to normative events.
- For implementations which do support these events, it is suggested that the definitions provided in this section be used.</p>
-
- <p>The following table provides an informative summary of the event types which are deprecated in this specification. They are included here for reference and completeness.</p>
+ <p>This section provides a non-normative description of the event types that are deprecated in
+ this document.
+ </p>
+
+ <p>The purpose of this section is to document the current state of these features and their relation
+ to normative events.
+ For implementations which do support these events, it is suggested that the definitions provided
+ in this section be used.
+ </p>
+
+ <p>The following table provides an informative summary of the event types which are deprecated in
+ this specification.
+ They are included here for reference and completeness.
+ </p>
<table class="data-table"
- summary="This table contains the complete list of the deprecated event types defined by DOM Level 3 Events. The first column contains the local name of the event type. The second column indicates if the event accomplish the bubbling phase or not (all events accomplish the capture and target phases). The third column indicates if the default action associated with the event can be canceled. The fourth column indicates the nodes that can be target of the event. the fifth (and last) column indicates the DOM interface implemented by the event object.">
+ summary="This table contains the complete list of the deprecated event types defined by DOM Level 3 Events.
+ The first column contains the local name of the event type.
+ The second column indicates if the event accomplish the bubbling phase or not (all events accomplish the capture and target phases).
+ The third column indicates if the default action associated with the event can be canceled.
+ The fourth column indicates the nodes that can be target of the event.
+ The fifth (and last) column indicates the DOM interface implemented by the event object.">
<tr>
<th>Event Type</th>
<th>Sync / Async</th>
@@ -8035,41 +8048,70 @@
</dl>
</div>
- <p>Implementations which support the <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a> <a class="def" href="#glossary-event-type">event
- type</a> SHOULD also dispatch a <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a> event as a <a class="def" href="#glossary-default-action">
- default action</a> of a <a class="eventtype" href="#event-type-click"><code>click</code></a> event which is associated with an <a class="def" href="#glossary-activation-trigger">
- activation trigger</a>. However, such implementations SHOULD only initiate the associated <a class="def" href="#glossary-activation-behavior">activation behavior</a>
- once for any given occurrence of an <a class="def" href="#glossary-activation-trigger">activation trigger</a>.</p>
+ <p>Implementations which support the
+ <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a>
+ <a class="def" href="#glossary-event-type">event type</a> SHOULD also dispatch a
+ <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a>
+ event as a <a class="def" href="#glossary-default-action">default action</a> of a
+ <a class="eventtype" href="#event-type-click"><code>click</code></a> event which is associated
+ with an <a class="def" href="#glossary-activation-trigger">activation trigger</a>.
+ However, such implementations SHOULD only initiate the associated
+ <a class="def" href="#glossary-activation-behavior">activation behavior</a>
+ once for any given occurrence of an
+ <a class="def" href="#glossary-activation-trigger">activation trigger</a>.
+ </p>
<div class="example">
<div class="example-title"></div>
<p>The <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a>
- <a class="def" href="#glossary-event-type">event type</a> is REQUIRED to be supported for XForms [<cite><a class="informative" href="#ref-xforms">XFORMS</a></cite>],
- which is intended for implementation within a <a class="def" href="#glossary-host-language">host language</a>. In a scenario where a plugin or script-based implementation
- of XForms is intended for installation in a native implementation of this specification which does not support the <a class="eventtype" href="#event-type-DOMActivate">
- <code>DOMActivate</code></a> <a class="def" href="#glossary-event-type">event type</a>, the XForms <a class="def" href="#glossary-user-agent">user agent</a>
- has to synthesize and dispatch its own <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a> events based on the appropriate <a class="def"
- href="#glossary-activation-trigger">activation triggers</a>. Thus, when a <a class="eventtype" href="#event-type-click"><code>click</code></a> event is dispatched
- by the DOM Level 3 Events <a class="def" href="#glossary-user-agent">user agent</a>, the XForms <a class="def" href="#glossary-user-agent">user agent</a> has to
- determine whether to synthesize a <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a> event with the same relevant properties as a
- <a class="def" href="#glossary-default-action">default action</a> of that <a class="eventtype" href="#event-type-click"><code>click</code></a> event. Appropriate
- cues might be whether the <a class="eventtype" href="#event-type-click"><code>click</code></a> event is <a href="#trusted-events">trusted</a>, or whether its <a
- class="def" href="#glossary-event-target">event target</a> has a <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a> event listener
- registered.</p>
+ <a class="def" href="#glossary-event-type">event type</a> is REQUIRED to be supported for
+ XForms [<cite><a class="informative" href="#ref-xforms">XFORMS</a></cite>],
+ which is intended for implementation within a <a class="def" href="#glossary-host-language">host language</a>.
+ In a scenario where a plugin or script-based implementation of XForms is intended for installation
+ in a native implementation of this specification which does not support the
+ <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a>
+ <a class="def" href="#glossary-event-type">event type</a>, the XForms
+ <a class="def" href="#glossary-user-agent">user agent</a> has to synthesize and dispatch its own
+ <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a> events based on
+ the appropriate <a class="def" href="#glossary-activation-trigger">activation triggers</a>.
+ </p>
+
+ <p>Thus, when a <a class="eventtype" href="#event-type-click"><code>click</code></a> event is dispatched
+ by the DOM Level 3 Events <a class="def" href="#glossary-user-agent">user agent</a>, the
+ XForms <a class="def" href="#glossary-user-agent">user agent</a> has to determine whether to synthesize
+ a <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a> event with the
+ same relevant properties as a <a class="def" href="#glossary-default-action">default action</a> of
+ that <a class="eventtype" href="#event-type-click"><code>click</code></a> event.
+ Appropriate cues might be whether the <a class="eventtype" href="#event-type-click"><code>click</code></a>
+ event is <a href="#trusted-events">trusted</a>, or whether its
+ <a class="def" href="#glossary-event-target">event target</a> has a
+ <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a> event listener
+ registered.
+ </p>
</div>
- <p class="note"><strong>Authoring Note:</strong> Don't rely upon the interoperable support of <a class="eventtype" href="#event-type-DOMActivate">
- <code>DOMActivate</code></a> in many <a class="def" href="#glossary-user-agent">user agents</a>. Use the <a class="eventtype" href="#event-type-click"><code>click</code></a>
- <a class="def" href="#glossary-event-type">event type</a> for more accessible behavior instead, due to wider implementation.</p>
-
- <p class="warning"><strong>Warning!</strong> The <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a> <a class="def" href="#glossary-event-type">
- event type</a> is deprecated in this specification.</p>
+ <p class="note"><strong>Authoring Note:</strong>
+ Don't rely upon the interoperable support of
+ <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a>
+ in many <a class="def" href="#glossary-user-agent">user agents</a>.
+ Instead, the <a class="eventtype" href="#event-type-click"><code>click</code></a>
+ <a class="def" href="#glossary-event-type">event type</a> should be used since it will provide more
+ accessible behavior due to broader implementation support.
+ </p>
+
+ <p class="warning"><strong>Warning!</strong>
+ The <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a>
+ <a class="def" href="#glossary-event-type">event type</a> is deprecated in this specification.
+ </p>
<section id="legacy-uievent-event-order">
<h3>Activation event order</h3>
- <p>If the <code>DOMActivate</code> event is supported by the <a class="def" href="#glossary-user-agent">user agent</a>, then the
- events MUST be dispatched in a set order relative to each other: (with only pertinent events listed):</p>
+ <p>If the <code>DOMActivate</code> event is supported by the
+ <a class="def" href="#glossary-user-agent">user agent</a>, then the
+ events MUST be dispatched in a set order relative to each other:
+ (with only pertinent events listed):
+ </p>
<table class="event-sequence-table">
<tr>
@@ -8081,7 +8123,8 @@
<td class="cell-number">2.</td>
<td><a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a></td>
<td><a class="def" href="#glossary-default-action">default action</a>, if supported
- by the <a class="def" href="#glossary-user-agent">user agent</a>; synthesized; <code>trusted="false"</code></td>
+ by the <a class="def" href="#glossary-user-agent">user agent</a>; synthesized; <code>trusted="false"</code>
+ </td>
</tr>
<tr>
<td class="cell-number">3.</td>
@@ -8092,7 +8135,9 @@
</tr>
</table>
- <p>If the focused element is activated by a key event, then the following shows the typical sequence of events (with only pertinent events listed):</p>
+ <p>If the focused element is activated by a key event, then the following shows the
+ typical sequence of events (with only pertinent events listed):
+ </p>
<table class="event-sequence-table">
<tr>
@@ -8100,7 +8145,8 @@
<td><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a></td>
<td>MUST be a key which can activate the element, such as the
<a href="#key-Enter"><code class="key">'Enter'</code></a> or <code class="key">' '</code> key,
- or the element is not activated</td>
+ or the element is not activated
+ </td>
</tr>
<tr>
<td class="cell-number">2.</td>
@@ -8111,7 +8157,8 @@
<td class="cell-number">3.</td>
<td><a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a></td>
<td><a class="def" href="#glossary-default-action">default action</a>, if supported
- by the <a class="def" href="#glossary-user-agent">user agent</a>; synthesized; <code>trusted="false"</code></td>
+ by the <a class="def" href="#glossary-user-agent">user agent</a>; synthesized; <code>trusted="false"</code>
+ </td>
</tr>
<tr>
<td class="cell-number">4.</td>
@@ -8121,8 +8168,8 @@
</td>
</tr>
</table>
- </section>
- </section>
+ </section> <!-- legacy-uievent-event-order -->
+ </section> <!-- legacy-uievent-events -->
<section id="legacy-focusevent-events">
<h2>Legacy <a href="#interface-FocusEvent"><code>FocusEvent</code></a> events</h2>
@@ -8177,13 +8224,20 @@
</td>
</tr>
</table>
- <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event when an <a class="def" href="#glossary-event-target">event target</a> receives
- focus. The focus MUST be given to the element before the dispatch of this event type. This event type MUST be dispatched after the event type <a class="eventtype"
- href="#event-type-focus"><code>focus</code></a>.</p>
-
- <p class="warning"><strong>Warning!</strong> The <a class="eventtype" href="#event-type-DOMFocusIn"><code>DOMFocusIn</code></a> event type is defined in this
- specification for reference and completeness, but this specification <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type in favor
- of the related event types <a class="eventtype" href="#event-type-focus"><code>focus</code></a> and <a class="eventtype" href="#event-type-focusin"><code>focusin</code></a>.</p>
+ <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event
+ when an <a class="def" href="#glossary-event-target">event target</a> receives focus.
+ The focus MUST be given to the element before the dispatch of this event type.
+ This event type MUST be dispatched after the event type
+ <a class="eventtype" href="#event-type-focus"><code>focus</code></a>.
+ </p>
+
+ <p class="warning"><strong>Warning!</strong>
+ The <a class="eventtype" href="#event-type-DOMFocusIn"><code>DOMFocusIn</code></a> event type
+ is defined in this specification for reference and completeness, but this specification
+ <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type in favor
+ of the related event types <a class="eventtype" href="#event-type-focus"><code>focus</code></a>
+ and <a class="eventtype" href="#event-type-focusin"><code>focusin</code></a>.
+ </p>
</dd>
</dl>
</div>
@@ -8238,24 +8292,33 @@
</td>
</tr>
</table>
- <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event when an <a class="def" href="#glossary-event-target">event target</a> loses
- focus. The focus MUST be taken from the element before the dispatch of this event type. This event type MUST be dispatched after the event type <a class="eventtype"
- href="#event-type-blur"><code>blur</code></a>.</p>
-
- <p class="warning"><strong>Warning!</strong> The <a class="eventtype" href="#event-type-DOMFocusOut"><code>DOMFocusOut</code></a> event type is defined in
- this specification for reference and completeness, but this specification <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type in
- favor of the related event types <a class="eventtype" href="#event-type-blur"><code>blur</code></a> and <a class="eventtype" href="#event-type-focusout"><code>focusout</code></a>.</p>
+ <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event
+ when an <a class="def" href="#glossary-event-target">event target</a> loses focus.
+ The focus MUST be taken from the element before the dispatch of this event type.
+ This event type MUST be dispatched after the event type
+ <a class="eventtype" href="#event-type-blur"><code>blur</code></a>.
+ </p>
+
+ <p class="warning"><strong>Warning!</strong>
+ The <a class="eventtype" href="#event-type-DOMFocusOut"><code>DOMFocusOut</code></a> event
+ type is defined in this specification for reference and completeness, but this specification
+ <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type in
+ favor of the related event types <a class="eventtype" href="#event-type-blur"><code>blur</code></a>
+ and <a class="eventtype" href="#event-type-focusout"><code>focusout</code></a>.
+ </p>
</dd>
</dl>
</div>
<section id="legacy-focusevent-event-order">
<h4>Legacy FocusEvent event order</h4>
- <p>
- The following is the typical sequence of events when a focus is shifted between elements, including the deprecated
+
+ <p>The following is the typical sequence of events when a focus is shifted between elements,
+ including the deprecated
<a class="eventtype" href="#event-type-DOMFocusIn"><code>DOMFocusIn</code></a>
and <a class="eventtype" href="#event-type-DOMFocusOut"><code>DOMFocusOut</code></a>
- events. The order shown assumes that no element is initially focused.</p>
+ events. The order shown assumes that no element is initially focused.
+ </p>
<table class="event-sequence-table">
<tr>
@@ -8312,26 +8375,31 @@
<td>If supported</td>
</tr>
</table>
- </section>
-
- </section>
+ </section> <!-- legacy-focusevent-event-order -->
+
+ </section> <!-- legacy-focusevent-events -->
<section id="legacy-keyboardevent-events">
<h2>Legacy <a href="#interface-KeyboardEvent"><code>KeyboardEvent</code></a> events</h2>
- <p>The <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event is the traditional method for capturing key events and
- processing them before the DOM is updated with the effects of the key press. Code that makes use of the
+ <p>The <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event is the
+ traditional method for capturing key events and 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="#widl-KeyboardEvent-charCode">charCode</a>,
<a href="#widl-KeyboardEvent-keyCode">keyCode</a>,
and <a href="#widl-KeyboardEvent-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
- by the more general event sequence of <a class="eventtype" href="#event-type-beforeinput"><code>beforeinput</code></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 by the more general event sequence of
+ <a class="eventtype" href="#event-type-beforeinput"><code>beforeinput</code></a>
and <a class="eventtype" href="#event-type-input"><code>input</code></a> events.
- These new input events are not specific to keyboard actions and can be used to capture user input regardless of the original source.
+ These new input events are not specific to keyboard actions and can be used to capture
+ user input regardless of the original source.
</p>
<!-- keypress -->
@@ -8407,28 +8475,38 @@
</tr>
</table>
- <p>If supported by a <a class="def" href="#glossary-user-agent">user agent</a>, this event MUST be dispatched when a key is pressed down, if and only if that key normally produces a <a
- class="def" href="#glossary-character-value">character value</a>. The <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event type is device
- dependent and relies on the capabilities of the input devices and how they are mapped in the operating system. This event type MUST be generated after the <a class="def"
- href="#glossary-key-mapping">key mapping</a>. It MUST NOT be fired when using an <a class="def" href="#glossary-ime">input method editor</a>.
+ <p>If supported by a <a class="def" href="#glossary-user-agent">user agent</a>, this event MUST
+ be dispatched when a key is pressed down, if and only if that key normally produces a
+ <a class="def" href="#glossary-character-value">character value</a>.
+ The <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event type
+ is device dependent and relies on the capabilities of the input devices and how they are
+ mapped in the operating system.
+ This event type MUST be generated after the <a class="def" href="#glossary-key-mapping">key mapping</a>.
+ It MUST NOT be fired when using an <a class="def" href="#glossary-ime">input method editor</a>.
If this event is canceled, it should prevent the
<a class="eventtype" href="#event-type-input"><code>input</code></a>
event from firing, in addition to canceling the
- <a class="def" href="#glossary-default-action">default action</a>.</p>
+ <a class="def" href="#glossary-default-action">default action</a>.
+ </p>
<p>Authors SHOULD use the
<a class="eventtype" href="#event-type-beforeinput"><code>beforeinput</code></a>
event instead of the
<a class="eventtype" href="#event-type-keypress"><code>keypress</code></a>
- event.</p>
-
- <p class="note"><strong>Note:</strong> The <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event is traditionally associated with detecting a
- <a class="def" href="#glossary-character-value">character value</a> rather than a physical key, and might not be available on all keys in some configurations.</p>
+ event.
+ </p>
+
+ <p class="note"><strong>Note:</strong>
+ The <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event is traditionally
+ associated with detecting a <a class="def" href="#glossary-character-value">character value</a> rather
+ than a physical key, and might not be available on all keys in some configurations.
+ </p>
<div class="warning">
<p><strong>Warning!</strong></p>
- <p>The <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event type is defined in this specification for
- reference and completeness, but this specification <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type.
+ <p>The <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event type is defined
+ in this specification for reference and completeness, but this specification
+ <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type.
When in editing contexts, authors can subscribe to the <code>beforeinput</code> event instead.
</p>
</div>
@@ -8440,16 +8518,26 @@
<section id="keypress-event-order">
<h2><a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event order</h2>
- <p>The <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event type MUST be dispatched after the
- <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event and before the
- <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a> event associated with the same key.</p>
-
- <p>The <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event type MUST be dispatched after the
- <a class="eventtype" href="#event-type-beforeinput"><code>beforeinput</code></a> event and before the
- <a class="eventtype" href="#event-type-input"><code>input</code></a> event associated with the same key.</p>
-
- <p>The sequence of key events for user-agents the support the <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event
- is demonstrated in the following example:</p>
+ <p>The <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a>
+ event type MUST be dispatched after the
+ <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>
+ event and before the
+ <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>
+ event associated with the same key.
+ </p>
+
+ <p>The <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a>
+ event type MUST be dispatched after the
+ <a class="eventtype" href="#event-type-beforeinput"><code>beforeinput</code></a>
+ event and before the
+ <a class="eventtype" href="#event-type-input"><code>input</code></a>
+ event associated with the same key.
+ </p>
+
+ <p>The sequence of key events for user-agents the support the
+ <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event
+ is demonstrated in the following example:
+ </p>
<div class="example">
<div class="example-title"></div>
@@ -8481,7 +8569,8 @@
<tr>
<td class="cell-number"></td>
<td colspan="3"><em>Any <a class="def" href="#glossary-default-action">default actions</a> related to this key, such as inserting a
- character in to the DOM.</em></td>
+ character in to the DOM.</em>
+ </td>
</tr>
<tr>
<td class="cell-number">4.</td>
@@ -8497,33 +8586,45 @@
</tr>
</table>
</div>
- </section>
- </section>
+ </section> <!-- keypress-event-order -->
+ </section> <!-- legacy-keyboardevent-events -->
<section id="legacy-mutationevent-events">
<h3>Legacy <a href="#interface-MutationEvent"><code>MutationEvent</code></a> events</h3>
- <p>The mutation and mutation name event modules are designed to allow notification of any changes to the structure of a document, including attribute, text, or name
- modifications.</p>
-
- <p class="note"><strong>Note:</strong> None of the event types associated with the <code>MutationEvent</code> interface are designated as cancelable. This stems from
- the fact that it is very difficult to make use of existing DOM interfaces which cause document modifications if any change to the document might or might not take
- place due to cancelation of the resulting event. Although this is still a desired capability, it was decided that it would be better left until the addition of
- transactions into the DOM.</p>
-
- <p>Many single modifications of the tree can cause multiple mutation events to be dispatched. Rather than attempt to specify the ordering of mutation events due to
- every possible modification of the tree, the ordering of these events is left to the implementation.</p>
+ <p>The mutation and mutation name event modules are designed to allow notification of any
+ changes to the structure of a document, including attribute, text, or name modifications.
+ </p>
+
+ <p class="note"><strong>Note:</strong>
+ None of the event types associated with the <code>MutationEvent</code> interface are
+ designated as cancelable.
+ This stems from the fact that it is very difficult to make use of existing DOM interfaces
+ which cause document modifications if any change to the document might or might not take
+ place due to cancelation of the resulting event.
+ Although this is still a desired capability, it was decided that it would be better left
+ until the addition of transactions into the DOM.
+ </p>
+
+ <p>Many single modifications of the tree can cause multiple mutation events to be dispatched.
+ Rather than attempt to specify the ordering of mutation events due to every possible
+ modification of the tree, the ordering of these events is left to the implementation.
+ </p>
<div class="warning">
<p><strong>Warning!</strong></p>
- <p>The <a href="#interface-MutationEvent">MutationEvent interface</a> was introduced in DOM Level 2 Events, but has not yet been
- completely and interoperably implemented across <a class="def" href="#glossary-user-agent">user agents</a>.
- In addition, there have been critiques that the interface, as designed, introduces a performance and implementation challenge.
+ <p>The <a href="#interface-MutationEvent">MutationEvent interface</a> was introduced in
+ DOM Level 2 Events, but has not yet been completely and interoperably implemented across
+ <a class="def" href="#glossary-user-agent">user agents</a>.
+ In addition, there have been critiques that the interface, as designed, introduces a
+ performance and implementation challenge.
</p>
- <p>DOM4 [<a href="#references-DOM4">DOM4</a>] provides a new mechanism using a <code>MutationObserver</code> interface which
- addresses the use cases that mutation events solve, but in a more performant manner.
- Thus, this specification describes mutation events for reference and completeness of legacy behavior, but
- <a class="def" href="#glossary-deprecated">deprecates</a> the use of the <a href="#interface-MutationEvent"><code>MutationEvent</code></a> interface.
+ <p>DOM4 [<a href="#references-DOM4">DOM4</a>] provides a new mechanism using a
+ <code>MutationObserver</code> interface which addresses the use cases that mutation events
+ solve, but in a more performant manner.
+ Thus, this specification describes mutation events for reference and completeness of legacy
+ behavior, but <a class="def" href="#glossary-deprecated">deprecates</a> the use of the
+ <a href="#interface-MutationEvent"><code>MutationEvent</code></a> interface.
</p>
</div>
@@ -8532,10 +8633,14 @@
<p class="intro-dom">Introduced in DOM Level 2, deprecated in DOM Level 3</p>
- <p>The <code>MutationEvent</code> interface provides specific contextual information associated with Mutation events.</p>
-
- <p>To create an instance of the <code>MutationEvent</code> interface, use the <a href="#widl-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("MutationEvent")</code></a>
- method call.</p>
+ <p>The <code>MutationEvent</code> interface provides specific contextual information associated
+ with Mutation events.
+ </p>
+
+ <p>To create an instance of the <code>MutationEvent</code> interface, use the
+ <a href="#widl-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("MutationEvent")</code></a>
+ method call.
+ </p>
<dl class="idl" title="interface MutationEvent : Event">
<dt>// attrChangeType</dt>
@@ -8557,53 +8662,85 @@
<dt>readonly attribute Node? relatedNode</dt>
<dd>
- <p><code>relatedNode</code> MUST be used to identify a secondary node related to a mutation event. For example, if a mutation event is dispatched to a node indicating
- that its parent has changed, the <code>relatedNode</code> will be the changed parent. If an event is instead dispatched to a subtree indicating a node was changed
- within it, the <code>relatedNode</code> MUST be the changed node. In the case of the <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
- event it indicates the <code>Attr</code> node which was modified, added, or removed.</p>
-
- <p>The <a class="def" href="#glossary-un-initialized-value">un-initialized value</a> of this attribute MUST be <code>null</code>.</p>
+ <p><code>relatedNode</code> MUST be used to identify a secondary node related to a
+ mutation event.
+ For example, if a mutation event is dispatched to a node indicating that its parent
+ has changed, the <code>relatedNode</code> will be the changed parent.
+ If an event is instead dispatched to a subtree indicating a node was changed
+ within it, the <code>relatedNode</code> MUST be the changed node.
+ In the case of the
+ <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
+ event, it indicates the <code>Attr</code> node which was modified, added, or removed.
+ </p>
+
+ <p>The <a class="def" href="#glossary-un-initialized-value">un-initialized value</a> of
+ this attribute MUST be <code>null</code>.
+ </p>
</dd>
<dt>readonly attribute DOMString prevValue</dt>
<dd>
- <p><code>prevValue</code> indicates the previous value of the <code>Attr</code> node in <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
- events, and of the <code>CharacterData</code> node in <a class="eventtype" href="#event-type-DOMCharacterDataModified"><code>DOMCharacterDataModified</code></a>
- events.</p>
-
- <p>The <a class="def" href="#glossary-un-initialized-value">un-initialized value</a> of this attribute MUST be <code>""</code> (the empty string).</p>
+ <p><code>prevValue</code> indicates the previous value of the <code>Attr</code> node
+ in <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
+ events, and of the <code>CharacterData</code> node in
+ <a class="eventtype" href="#event-type-DOMCharacterDataModified"><code>DOMCharacterDataModified</code></a>
+ events.
+ </p>
+
+ <p>The <a class="def" href="#glossary-un-initialized-value">un-initialized value</a> of this
+ attribute MUST be <code>""</code> (the empty string).
+ </p>
</dd>
<dt>readonly attribute DOMString newValue</dt>
<dd>
- <p><code>newValue</code> indicates the new value of the <code>Attr</code> node in <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
- events, and of the <code>CharacterData</code> node in <a class="eventtype" href="#event-type-DOMCharacterDataModified"><code>DOMCharacterDataModified</code></a>
- events.</p>
-
- <p>The <a class="def" href="#glossary-un-initialized-value">un-initialized value</a> of this attribute MUST be <code>""</code> (the empty string).</p>
+ <p><code>newValue</code> indicates the new value of the <code>Attr</code> node in
+ <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
+ events, and of the <code>CharacterData</code> node in
+ <a class="eventtype" href="#event-type-DOMCharacterDataModified"><code>DOMCharacterDataModified</code></a>
+ events.
+ </p>
+
+ <p>The <a class="def" href="#glossary-un-initialized-value">un-initialized value</a> of this
+ attribute MUST be <code>""</code> (the empty string).
+ </p>
</dd>
<dt>readonly attribute DOMString attrName</dt>
<dd>
- <p><code>attrName</code> indicates the name of the changed <code>Attr</code> node in a <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
- event.</p>
-
- <p>The <a class="def" href="#glossary-un-initialized-value">un-initialized value</a> of this attribute MUST be <code>""</code> (the empty string).</p>
+ <p><code>attrName</code> indicates the name of the changed <code>Attr</code> node in
+ a <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
+ event.
+ </p>
+
+ <p>The <a class="def" href="#glossary-un-initialized-value">un-initialized value</a> of this
+ attribute MUST be <code>""</code> (the empty string).
+ </p>
</dd>
<dt>readonly attribute unsigned short attrChange</dt>
<dd>
- <p><code>attrChange</code> indicates the type of change which triggered the <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
- event. The values can be <code>MODIFICATION</code>, <code>ADDITION</code>, or <code>REMOVAL</code>.</p>
-
- <p>The <a class="def" href="#glossary-un-initialized-value">un-initialized value</a> of this attribute MUST be <code>0</code>.</p>
-
- <p class="note"><strong>Note:</strong> There is no defined constant for the attrChange value of 0 (the un-initialized value).</p>
+ <p><code>attrChange</code> indicates the type of change which triggered the
+ <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
+ event. The values can be <code>MODIFICATION</code>, <code>ADDITION</code>,
+ or <code>REMOVAL</code>.
+ </p>
+
+ <p>The <a class="def" href="#glossary-un-initialized-value">un-initialized value</a> of this
+ attribute MUST be <code>0</code>.
+ </p>
+
+ <p class="note"><strong>Note:</strong>
+ There is no defined constant for the attrChange value of 0 (the un-initialized value).
+ </p>
</dd>
<dt>void initMutationEvent()</dt>
<dd>
- <p>Initializes attributes of a <code>MutationEvent</code> object. This method has the same behavior as <a href="#widl-Event-initEvent"><code>Event.initEvent()</code></a>.</p>
+ <p>Initializes attributes of a <code>MutationEvent</code> object.
+ This method has the same behavior as <a href="#widl-Event-initEvent"><code>Event.initEvent()</code></a>.
+ </p>
+
<dl class="parameters">
<dt>DOMString typeArg</dt>
<dd>
@@ -8627,25 +8764,30 @@
<dt>DOMString prevValueArg</dt>
<dd>
- <p>Specifies <a href="#widl-MutationEvent-prevValue"><code>MutationEvent.prevValue</code></a>. This value MAY be the <a class="def" href="#glossary-empty-string">
- empty string</a>.</p>
+ <p>Specifies <a href="#widl-MutationEvent-prevValue"><code>MutationEvent.prevValue</code></a>.
+ This value MAY be the <a class="def" href="#glossary-empty-string">empty string</a>.
+ </p>
</dd>
<dt>DOMString newValueArg</dt>
<dd>
- <p>Specifies <a href="#widl-MutationEvent-newValue"><code>MutationEvent.newValue</code></a>. This value MAY be the <a class="def" href="#glossary-empty-string">empty
- string</a>.</p>
+ <p>Specifies <a href="#widl-MutationEvent-newValue"><code>MutationEvent.newValue</code></a>.
+ This value MAY be the <a class="def" href="#glossary-empty-string">empty string</a>.
+ </p>
</dd>
<dt>DOMString attrNameArg</dt>
<dd>
- <p>Specifies <a href="#widl-MutationEvent-attrName"><code>MutationEvent.attrName</code></a>. This value MAY be the <a class="def" href="#glossary-empty-string">empty
- string</a>.</p>
+ <p>Specifies <a href="#widl-MutationEvent-attrName"><code>MutationEvent.attrName</code></a>.
+ This value MAY be the <a class="def" href="#glossary-empty-string">empty string</a>.
+ </p>
</dd>
<dt>unsigned short attrChangeArg</dt>
<dd>
- <p>Specifies <a href="#widl-MutationEvent-attrChange"><code>MutationEvent.attrChange</code></a>. This value MAY be <code>0</code>.</p>
+ <p>Specifies <a href="#widl-MutationEvent-attrChange"><code>MutationEvent.attrChange</code></a>.
+ This value MAY be <code>0</code>.
+ </p>
</dd>
</dl>
@@ -8711,13 +8853,20 @@
</tr>
</table>
- <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event after an <code>Attr.value</code> has been modified and after an <code>Attr</code>
- node has been added to or removed from an <code>Element</code>. The <a class="def" href="#glossary-event-target">event target</a> of this event MUST be the <code>Element</code>
- node where the change occurred. It is implementation dependent whether this event type occurs when the children of the <code>Attr</code> node are changed in ways
- that do not affect the value of <code>Attr.value</code>.</p>
-
- <p class="warning"><strong>Warning!</strong> The <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a> event type is defined
- in this specification for reference and completeness, but this specification <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type.</p>
+ <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event after
+ an <code>Attr.value</code> has been modified and after an <code>Attr</code> node has been
+ added to or removed from an <code>Element</code>.
+ The <a class="def" href="#glossary-event-target">event target</a> of this event MUST be
+ the <code>Element</code> node where the change occurred.
+ It is implementation dependent whether this event type occurs when the children of the
+ <code>Attr</code> node are changed in ways that do not affect the value of <code>Attr.value</code>.
+ </p>
+
+ <p class="warning"><strong>Warning!</strong>
+ The <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
+ event type is defined in this specification for reference and completeness, but this
+ specification <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type.
+ </p>
</dd>
</dl>
</div>
@@ -8777,13 +8926,18 @@
</tr>
</table>
- <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event after <code>CharacterData.data</code> or <code>ProcessingInstruction.data</code>
- have been modified, but the node itself has not been inserted or deleted. The <a class="def" href="#glossary-event-target">event target</a> of this event MUST
- be the <code>CharacterData</code> node or the <code>ProcessingInstruction</code> node.</p>
-
- <p class="warning"><strong>Warning!</strong> The <a class="eventtype" href="#event-type-DOMCharacterDataModified"><code>DOMCharacterDataModified</code></a>
- event type is defined in this specification for reference and completeness, but this specification <a class="def" href="#glossary-deprecated">deprecates</a> the
- use of this event type.</p>
+ <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event
+ after <code>CharacterData.data</code> or <code>ProcessingInstruction.data</code>
+ have been modified, but the node itself has not been inserted or deleted.
+ The <a class="def" href="#glossary-event-target">event target</a> of this event MUST
+ be the <code>CharacterData</code> node or the <code>ProcessingInstruction</code> node.
+ </p>
+
+ <p class="warning"><strong>Warning!</strong>
+ The <a class="eventtype" href="#event-type-DOMCharacterDataModified"><code>DOMCharacterDataModified</code></a>
+ event type is defined in this specification for reference and completeness, but this specification
+ <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type.
+ </p>
</dd>
</dl>
</div>
@@ -8844,16 +8998,27 @@
</tr>
</table>
- <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event type when a node other than an <code>Attr</code> node has been added as a child
- of another node. A <a class="def" href="#glossary-user-agent">user agent</a> MAY dispatch this event when an <code>Attr</code> node has been added to an <code>Element</code>
- node (see <a href="#DOMNodeInserted-attr">note</a> below). This event MUST be dispatched after the insertion has taken place. The <a class="def" href="#glossary-event-target">
- event target</a> of this event MUST be the node being inserted.</p>
-
- <p class="note" id="DOMNodeInserted-attr"><strong>Note:</strong> For detecting attribute insertion, use the <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
- event type instead.</p>
-
- <p class="warning"><strong>Warning!</strong> The <a class="eventtype" href="#event-type-DOMNodeInserted"><code>DOMNodeInserted</code></a> event type is defined in this specification
- for reference and completeness, but this specification <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type.</p>
+ <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event type when
+ a node other than an <code>Attr</code> node has been added as a child of another node.
+ A <a class="def" href="#glossary-user-agent">user agent</a> MAY dispatch this event when
+ an <code>Attr</code> node has been added to an <code>Element</code> node
+ (see <a href="#DOMNodeInserted-attr">note</a> below).
+ This event MUST be dispatched after the insertion has taken place.
+ The <a class="def" href="#glossary-event-target">event target</a> of this event MUST be the
+ node being inserted.
+ </p>
+
+ <p class="note" id="DOMNodeInserted-attr"><strong>Note:</strong>
+ For detecting attribute insertion, use the
+ <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
+ event type instead.
+ </p>
+
+ <p class="warning"><strong>Warning!</strong>
+ The <a class="eventtype" href="#event-type-DOMNodeInserted"><code>DOMNodeInserted</code></a> event
+ type is defined in this specification for reference and completeness, but this specification
+ <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type.
+ </p>
</dd>
</dl>
</div>
@@ -8914,15 +9079,24 @@
</tr>
</table>
- <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event when a node has been inserted into a document, either through direct insertion
- of the node or insertion of a subtree in which it is contained. A <a class="def" href="#glossary-user-agent">user agent</a> MAY treat an <code>Attr</code>
- node as part of an <code>Element</code>'s subtree. This event MUST be dispatched after the insertion has taken place. The <a class="def" href="#glossary-event-target">
- event target</a> of this event MUST be the node being inserted. If the node is being directly inserted, the event type <a class="eventtype" href="#event-type-DOMNodeInserted">
- <code>DOMNodeInserted</code></a> MUST occur before this event type.</p>
-
- <p class="warning"><strong>Warning!</strong> The <a class="eventtype" href="#event-type-DOMNodeInsertedIntoDocument"><code>DOMNodeInsertedIntoDocument</code></a>
- event type is defined in this specification for reference and completeness, but this specification <a class="def" href="#glossary-deprecated">deprecates</a> the
- use of this event type.</p>
+ <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event when a node
+ has been inserted into a document, either through direct insertion of the node or insertion of a
+ subtree in which it is contained.
+ A <a class="def" href="#glossary-user-agent">user agent</a> MAY treat an <code>Attr</code>
+ node as part of an <code>Element</code>'s subtree.
+ This event MUST be dispatched after the insertion has taken place.
+ The <a class="def" href="#glossary-event-target">event target</a> of this event MUST be the node
+ being inserted.
+ If the node is being directly inserted, the event type
+ <a class="eventtype" href="#event-type-DOMNodeInserted"><code>DOMNodeInserted</code></a>
+ MUST occur before this event type.
+ </p>
+
+ <p class="warning"><strong>Warning!</strong>
+ The <a class="eventtype" href="#event-type-DOMNodeInsertedIntoDocument"><code>DOMNodeInsertedIntoDocument</code></a>
+ event type is defined in this specification for reference and completeness, but this specification
+ <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type.
+ </p>
</dd>
</dl>
</div>
@@ -8983,17 +9157,26 @@
</tr>
</table>
- <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event when a node other than an <code>Attr</code> node is being removed from its
- parent node. A <a class="def" href="#glossary-user-agent">user agent</a> MAY dispatch this event when an <code>Attr</code> node is being removed from its <code>ownerElement</code>
- (see <a href="#DOMNodeRemoved-attr">note</a> below). This event MUST be dispatched before the removal takes place. The <a class="def" href="#glossary-event-target">
- event target</a> of this event MUST be the node being removed.</p>
-
- <p class="note" id="DOMNodeRemoved-attr"><strong>Note:</strong> For reliably detecting attribute removal, use the <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
- event type instead.</p>
-
- <p class="warning"><strong>Warning!</strong> The <a class="eventtype" href="#event-type-DOMNodeRemoved"><code>DOMNodeRemoved</code></a> event type is defined
- in this specification for reference and completeness, but this specification <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type.
- </p>
+ <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event when a node
+ other than an <code>Attr</code> node is being removed from its parent node.
+ A <a class="def" href="#glossary-user-agent">user agent</a> MAY dispatch this event when an
+ <code>Attr</code> node is being removed from its <code>ownerElement</code>
+ (see <a href="#DOMNodeRemoved-attr">note</a> below).
+ This event MUST be dispatched before the removal takes place. The
+ <a class="def" href="#glossary-event-target">event target</a> of this event MUST be the node being removed.
+ </p>
+
+ <p class="note" id="DOMNodeRemoved-attr"><strong>Note:</strong>
+ For reliably detecting attribute removal, use the
+ <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
+ event type instead.
+ </p>
+
+ <p class="warning"><strong>Warning!</strong>
+ The <a class="eventtype" href="#event-type-DOMNodeRemoved"><code>DOMNodeRemoved</code></a> event type
+ is defined in this specification for reference and completeness, but this specification
+ <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type.
+ </p>
</dd>
</dl>
</div>
@@ -9054,18 +9237,30 @@
</tr>
</table>
- <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event when a node is being removed from a document, either through direct removal
- of the node or removal of a subtree in which it is contained. A <a class="def" href="#glossary-user-agent">user agent</a> MAY treat an <code>Attr</code>
- node as part of an <code>Element</code>'s subtree. This event MUST be dispatched before the removal takes place. The <a class="def" href="#glossary-event-target">event
- target</a> of this event type MUST be the node being removed. If the node is being directly removed, the event type <a class="eventtype" href="#event-type-DOMNodeRemoved">
- <code>DOMNodeRemoved</code></a> MUST occur before this event type.</p>
-
- <p class="note"><strong>Note:</strong> For reliably detecting attribute removal, use the <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
- event type instead.</p>
-
- <p class="warning"><strong>Warning!</strong> The <a class="eventtype" href="#event-type-DOMNodeRemovedFromDocument"><code>DOMNodeRemovedFromDocument</code></a>
- event type is defined in this specification for reference and completeness, but this specification <a class="def" href="#glossary-deprecated">deprecates</a> the
- use of this event type.</p>
+ <p>A <a class="def" href="#glossary-user-agent">user agent</a> MUST dispatch this event when a node is
+ being removed from a document, either through direct removal of the node or removal of a subtree in
+ which it is contained.
+ A <a class="def" href="#glossary-user-agent">user agent</a> MAY treat an <code>Attr</code>
+ node as part of an <code>Element</code>'s subtree.
+ This event MUST be dispatched before the removal takes place.
+ The <a class="def" href="#glossary-event-target">event target</a> of this event type MUST be the node
+ being removed.
+ If the node is being directly removed, the event type
+ <a class="eventtype" href="#event-type-DOMNodeRemoved"><code>DOMNodeRemoved</code></a>
+ MUST occur before this event type.
+ </p>
+
+ <p class="note"><strong>Note:</strong>
+ For reliably detecting attribute removal, use the
+ <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
+ event type instead.
+ </p>
+
+ <p class="warning"><strong>Warning!</strong>
+ The <a class="eventtype" href="#event-type-DOMNodeRemovedFromDocument"><code>DOMNodeRemovedFromDocument</code></a>
+ event type is defined in this specification for reference and completeness, but this specification
+ <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type.
+ </p>
</dd>
</dl>
</div>
@@ -9126,18 +9321,26 @@
</tr>
</table>
- <p>This is a general event for notification of all changes to the document. It can be used instead of the more specific mutation and mutation name events. It MAY be
- dispatched after a single modification to the document or, at the implementation's discretion, after multiple changes have occurred. The latter case SHOULD generally
- be used to accommodate multiple changes which occur either simultaneously or in rapid succession. The target of this event MUST be the lowest common parent of the
- changes which have taken place. This event MUST be dispatched after any other events caused by the mutation(s) have occurred.</p>
-
- <p class="warning"><strong>Warning!</strong> The <a class="eventtype" href="#event-type-DOMSubtreeModified"><code>DOMSubtreeModified</code></a> event type is defined in this
- specification for reference and completeness, but this specification <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type.</p>
+ <p>This is a general event for notification of all changes to the document.
+ It can be used instead of the more specific mutation and mutation name events.
+ It MAY be dispatched after a single modification to the document or, at the implementation's
+ discretion, after multiple changes have occurred.
+ The latter case SHOULD generally be used to accommodate multiple changes which occur either
+ simultaneously or in rapid succession.
+ The target of this event MUST be the lowest common parent of the changes which have taken place.
+ This event MUST be dispatched after any other events caused by the mutation(s) have occurred.
+ </p>
+
+ <p class="warning"><strong>Warning!</strong>
+ The <a class="eventtype" href="#event-type-DOMSubtreeModified"><code>DOMSubtreeModified</code></a> event
+ type is defined in this specification for reference and completeness, but this specification
+ <a class="def" href="#glossary-deprecated">deprecates</a> the use of this event type.
+ </p>
</dd>
</dl>
</div>
- </section>
+ </section> <!-- legacy-mutationevent-events -->
</section> <!-- legacy-event-types -->