[html5] r6528 - [] (0) Remove Editing APIs and related sections in favour of http://aryeh.name/s [...]
whatwg at whatwg.org
whatwg at whatwg.org
Thu Aug 25 17:43:01 PDT 2011
Author: ianh
Date: 2011-08-25 17:43:00 -0700 (Thu, 25 Aug 2011)
New Revision: 6528
Modified:
complete.html
index
source
Log:
[] (0) Remove Editing APIs and related sections in favour of http://aryeh.name/spec/editing/editing.html
Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=13896
Modified: complete.html
===================================================================
--- complete.html 2011-08-25 23:13:05 UTC (rev 6527)
+++ complete.html 2011-08-26 00:43:00 UTC (rev 6528)
@@ -239,7 +239,7 @@
<header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1>Web Applications 1.0</h1>
- <h2 class="no-num no-toc">Living Standard — Last Updated 25 August 2011</h2>
+ <h2 class="no-num no-toc">Living Standard — Last Updated 26 August 2011</h2>
</hgroup><dl><dt>Multiple-page version:</dt>
<dd><a href=http://www.whatwg.org/specs/web-apps/current-work/complete/>http://www.whatwg.org/specs/web-apps/current-work/complete/</a></dd>
<dt>One-page version:</dt>
@@ -968,27 +968,29 @@
<li><a href=#introduction-8><span class=secno>8.4.1 </span>Introduction</a></li>
<li><a href=#the-accesskey-attribute><span class=secno>8.4.2 </span>The <code>accesskey</code> attribute</a></li>
<li><a href=#processing-model-3><span class=secno>8.4.3 </span>Processing model</a></ol></li>
- <li><a href=#contenteditable><span class=secno>8.5 </span>The <code title=attr-contenteditable>contenteditable</code> attribute</a>
+ <li><a href=#editing-0><span class=secno>8.5 </span>Editing</a>
<ol>
- <li><a href=#user-editing-actions><span class=secno>8.5.1 </span>User editing actions</a></li>
- <li><a href=#making-entire-documents-editable><span class=secno>8.5.2 </span>Making entire documents editable</a></ol></li>
- <li><a href=#spelling-and-grammar-checking><span class=secno>8.6 </span>Spelling and grammar checking</a></li>
- <li><a href=#dnd><span class=secno>8.7 </span>Drag and drop</a>
+ <li><a href=#contenteditable><span class=secno>8.5.1 </span>Making document regions editable: The <code title=attr-contenteditable>contenteditable</code> content
+ attribute</a></li>
+ <li><a href=#making-entire-documents-editable:-the-designmode-idl-attribute><span class=secno>8.5.2 </span>Making entire documents editable: The <code title=dom-document-designMode>designMode</code> IDL attribute</a></li>
+ <li><a href=#user-editing-actions><span class=secno>8.5.3 </span>User editing actions</a></li>
+ <li><a href=#editing-apis><span class=secno>8.5.4 </span>Editing APIs</a></li>
+ <li><a href=#spelling-and-grammar-checking><span class=secno>8.5.5 </span>Spelling and grammar checking</a></ol></li>
+ <li><a href=#dnd><span class=secno>8.6 </span>Drag and drop</a>
<ol>
- <li><a href=#introduction-9><span class=secno>8.7.1 </span>Introduction</a></li>
- <li><a href=#the-drag-data-store><span class=secno>8.7.2 </span>The drag data store</a></li>
- <li><a href=#the-datatransfer-interface><span class=secno>8.7.3 </span>The <code>DataTransfer</code> interface</a>
+ <li><a href=#introduction-9><span class=secno>8.6.1 </span>Introduction</a></li>
+ <li><a href=#the-drag-data-store><span class=secno>8.6.2 </span>The drag data store</a></li>
+ <li><a href=#the-datatransfer-interface><span class=secno>8.6.3 </span>The <code>DataTransfer</code> interface</a>
<ol>
- <li><a href=#the-datatransferitemlist-interface><span class=secno>8.7.3.1 </span>The <code>DataTransferItemList</code> interface</a></li>
- <li><a href=#the-datatransferitem-interface><span class=secno>8.7.3.2 </span>The <code>DataTransferItem</code> interface</a></ol></li>
- <li><a href=#the-dragevent-interface><span class=secno>8.7.4 </span>The <code>DragEvent</code> interface</a></li>
- <li><a href=#drag-and-drop-processing-model><span class=secno>8.7.5 </span>Drag-and-drop processing model</a></li>
- <li><a href=#dndevents><span class=secno>8.7.6 </span>Events summary</a></li>
- <li><a href=#the-draggable-attribute><span class=secno>8.7.7 </span>The <code>draggable</code> attribute</a></li>
- <li><a href=#the-dropzone-attribute><span class=secno>8.7.8 </span>The <code>dropzone</code> attribute</a></li>
- <li><a href=#security-risks-in-the-drag-and-drop-model><span class=secno>8.7.9 </span>Security risks in the drag-and-drop model</a></ol></li>
- <li><a href=#text-search-apis><span class=secno>8.8 </span>Text search APIs</a></li>
- <li><a href=#editing-apis><span class=secno>8.9 </span>Editing APIs</a></ol></li>
+ <li><a href=#the-datatransferitemlist-interface><span class=secno>8.6.3.1 </span>The <code>DataTransferItemList</code> interface</a></li>
+ <li><a href=#the-datatransferitem-interface><span class=secno>8.6.3.2 </span>The <code>DataTransferItem</code> interface</a></ol></li>
+ <li><a href=#the-dragevent-interface><span class=secno>8.6.4 </span>The <code>DragEvent</code> interface</a></li>
+ <li><a href=#drag-and-drop-processing-model><span class=secno>8.6.5 </span>Drag-and-drop processing model</a></li>
+ <li><a href=#dndevents><span class=secno>8.6.6 </span>Events summary</a></li>
+ <li><a href=#the-draggable-attribute><span class=secno>8.6.7 </span>The <code>draggable</code> attribute</a></li>
+ <li><a href=#the-dropzone-attribute><span class=secno>8.6.8 </span>The <code>dropzone</code> attribute</a></li>
+ <li><a href=#security-risks-in-the-drag-and-drop-model><span class=secno>8.6.9 </span>Security risks in the drag-and-drop model</a></ol></li>
+ <li><a href=#text-search-apis><span class=secno>8.7 </span>Text search APIs</a></ol></li>
<li><a href=#video-conferencing-and-peer-to-peer-communication><span class=secno>9 </span>Video conferencing and peer-to-peer communication</a>
<ol>
<li><a href=#introduction-10><span class=secno>9.1 </span>Introduction</a></li>
@@ -57016,7 +57018,8 @@
<li><code><a href=#the-textarea-element>textarea</a></code> elements that do not have a <code title=attr-textarea-readonly><a href=#attr-textarea-readonly>readonly</a></code> attribute, and
that are not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a></li>
- <li>elements that are <a href=#editable>editable</a> and are neither
+ <li>elements that are <a href=#editing-host title="editing host">editing
+ hosts</a> or <a href=#editable>editable</a> and are neither
<code><a href=#the-input-element>input</a></code> elemenst nor <code><a href=#the-textarea-element>textarea</a></code>
elements</li>
@@ -71900,8 +71903,11 @@
- <h3 id=contenteditable><span class=secno>8.5 </span>The <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute</h3>
+ <h3 id=editing-0><span class=secno>8.5 </span>Editing</h3>
+ <h4 id=contenteditable><span class=secno>8.5.1 </span>Making document regions editable: The <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> content
+ attribute</h4>
+
<p>The <dfn id=attr-contenteditable title=attr-contenteditable><code>contenteditable</code></dfn>
attribute is an <a href=#enumerated-attribute>enumerated attribute</a> whose keywords are
the empty string, <code title="">true</code>, and <code title="">false</code>. The empty string and the <code title="">true</code> keyword map to the <i>true</i> state. The <code title="">false</code> keyword maps to the <i>false</i> state. In
@@ -71914,31 +71920,6 @@
parent is. The <i>false</i> state indicates that the element is not
editable.</p>
- <div class=impl>
-
- <p>Specifically, if an <a href=#html-elements title="HTML elements">HTML
- element</a> has a <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
- the true state, or it has its <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
- the inherit state and if its nearest ancestor <a href=#html-elements title="HTML
- elements">HTML element</a> with the <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
- a state other than the inherit state has its attribute set to the
- true state, or if it and its ancestors all have their <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
- the inherit state but the <code><a href=#document>Document</a></code> has <code title=dom-document-designMode><a href=#designMode>designMode</a></code> enabled, then the
- UA must treat the element as <dfn id=editable>editable</dfn> (as described
- below).</p>
-
- <p>Otherwise, either the <a href=#html-elements title="HTML elements">HTML
- element</a> has a <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
- the false state, or its <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute is set
- to the inherit state and its nearest ancestor <a href=#html-elements title="HTML
- elements">HTML element</a> with the <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
- a state other than the inherit state has its attribute set to the
- false state, or all its ancestors have their <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
- the inherit state and the <code><a href=#document>Document</a></code> itself has <code title=dom-document-designMode><a href=#designMode>designMode</a></code> disabled; either
- way, the element is not editable.</p>
-
- </div>
-
<dl class=domintro><dt><var title="">element</var> . <code title=dom-contentEditable><a href=#dom-contenteditable>contentEditable</a></code> [ = <var title="">value</var> ]</dt>
<dd>
@@ -71978,147 +71959,69 @@
attribute setter must raise a <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception.</p>
<p>The <dfn id=dom-iscontenteditable title=dom-isContentEditable><code>isContentEditable</code></dfn>
- IDL attribute, on getting, must return true if the element is
- <a href=#editable>editable</a>, and false otherwise.</p>
+ IDL attribute, on getting, must return true if the element is either
+ an <a href=#editing-host>editing host</a> or <a href=#editable>editable</a>, and false
+ otherwise.</p>
- <p>If an element is <a href=#editable>editable</a> and its parent element is
- not, or if an element is <a href=#editable>editable</a> and it has no parent
- element, then the element is an <dfn id=editing-host>editing host</dfn>. Editable
- elements can be nested. Editing hosts are typically focusable and
- typically form part of the <a href=#attr-tabindex title=attr-tabindex>tab
- order</a>. An editing host can contain non-editable sections,
- these are handled as described below. An editing host can contain
- non-editable sections that contain further editing hosts.</p>
-
- <p>When an editing host has focus, it must have a <dfn id=caret-position>caret
- position</dfn> that specifies where the current editing position is.
- It may also have a selection.</p>
-
- <p class=note>How the caret and selection are represented depends
- entirely on the UA.</p>
-
- <!-- v2: would be useful to have a way to mark an element as
- unremovable. -->
-
</div>
+ <h4 id=making-entire-documents-editable:-the-designmode-idl-attribute><span class=secno>8.5.2 </span>Making entire documents editable: The <code title=dom-document-designMode><a href=#designMode>designMode</a></code> IDL attribute</h4>
+
<div class=impl>
- <h4 id=user-editing-actions><span class=secno>8.5.1 </span>User editing actions</h4>
+ <p>Documents have a <dfn id=designMode title=dom-document-designMode><code>designMode</code></dfn>, which
+ can be either enabled or disabled.</p>
- <p>There are several actions that the user agent should allow the
- user to perform while the user is interacting with an editing
- host. How exactly each action is triggered is not defined for every
- action, but when it is not defined, suggested key bindings are
- provided to guide implementors.</p>
+ </div>
- <dl><dt>Move the caret</dt>
+ <dl class=domintro><dt><var title="">document</var> . <code title=dom-document-designMode><a href=#designMode>designMode</a></code> [ = <var title="">value</var> ]</dt>
- <dd><p>User agents must allow users to move the caret to any
- position within an editing host, even into nested editable
- elements. This could be triggered as the default action of <code title=event-keydown>keydown</code> events with various key
- identifiers and as the default action of <code title=event-mousedown>mousedown</code> events.</dd>
+ <dd>
+ <p>Returns "<code title="">on</code>" if the document is editable,
+ and "<code title="">off</code>" if it isn't.</p>
- <dt>Change the selection</dt>
+ <p>Can be set, to change the document's current state.</p>
- <dd><p>User agents must allow users to change the selection within
- an editing host, even into nested editable elements. User agents
- may prevent selections from being made in ways that cross from
- editable elements into non-editable elements (e.g. by making each
- non-editable descendant atomically selectable, but not allowing
- text selection within them). This could be triggered as the default
- action of <code title=event-keydown>keydown</code> events with
- various key identifiers and as the default action of <code title=event-mousedown>mousedown</code> events.</dd>
-
-
- <dt id=contenteditable-insertText>Insert text</dt>
-
- <dd><p>This action must be triggered as the default action of a
- <code title=event-textInput>textInput</code> event, and may be
- triggered by other commands as well. It must cause the user agent
- to insert the specified text (given by the event object's <code title="">data</code> attribute in the case of the <code title=event-textInput>textInput</code> event) at the caret.</p>
-
- <p>If the caret is positioned somewhere where <a href=#phrasing-content>phrasing
- content</a> is not allowed (e.g. inside an empty <code><a href=#the-ol-element>ol</a></code>
- element), then the user agent must not insert the text directly at
- the caret position. In such cases the behavior is UA-dependent,
- but user agents must not, in response to a request to insert text,
- generate a DOM that is less conformant than the DOM prior to the
- request.</p>
-
- <p>User agents should allow users to insert new paragraphs into
- elements that contains only content other than paragraphs.</p>
-
- <div class=example>
- <p>For example, given the markup:</p>
- <pre><section>
- <dl>
- <dt> Ben </dt>
- <dd> Goat </dd>
- </dl>
-</section></pre>
- <p>...the user agent should allow the user to insert
- <code><a href=#the-p-element>p</a></code> elements before and after the <code><a href=#the-dl-element>dl</a></code>
- element, as children of the <code><a href=#the-section-element>section</a></code> element.</p>
- </div>
-
</dd>
+ </dl><div class=impl>
- <dt id=contenteditable-breakBlock>Break block</dt>
+ <p>The <code title=dom-document-designMode><a href=#designMode>designMode</a></code> IDL
+ attribute on the <code><a href=#document>Document</a></code> object takes two values,
+ "<code title="">on</code>" and "<code title="">off</code>". When it
+ is set, the new value must be compared in an <a href=#ascii-case-insensitive>ASCII
+ case-insensitive</a> manner to these two values. If it matches
+ the "<code title="">on</code>" value, then <code title=dom-document-designMode><a href=#designMode>designMode</a></code> must be enabled,
+ and if it matches the "<code title="">off</code>" value, then <code title=dom-document-designMode><a href=#designMode>designMode</a></code> must be
+ disabled. Other values must be ignored.</p>
- <dd><p>UAs should offer a way for the user to request that the
- current paragraph be broken at the caret, e.g. as the default
- action of a <code title=event-keydown>keydown</code> event whose
- identifier is the "Enter" key and that has no modifiers set.</p>
+ <p>When <code title=dom-document-designMode><a href=#designMode>designMode</a></code> is
+ enabled, the IDL attribute must return the value "<code title="">on</code>", and when it is disabled, it must return the
+ value "<code title="">off</code>".</p>
- <p>The exact behavior is UA-dependent, but user agents must not,
- in response to a request to break a paragraph, generate a DOM that
- is less conformant than the DOM prior to the request.</dd>
+ <p>The last state set must persist until the document is destroyed
+ or the state is changed. Initially, documents must have their <code title=dom-document-designMode><a href=#designMode>designMode</a></code> disabled.</p>
+ </div>
- <dt id=contenteditable-br>Insert a line separator</dt>
- <dd><p>UAs should offer a way for the user to request an explicit
- line break at the caret position without breaking the paragraph,
- e.g. as the default action of a <code title=event-keydown>keydown</code> event whose identifier is the
- "Enter" key and that has a shift modifier set. Line separators are
- typically found within a poem verse or an address. To insert a line
- break, the user agent must insert a <code><a href=#the-br-element>br</a></code> element.</p>
- <p>If the caret is positioned somewhere where <a href=#phrasing-content>phrasing
- content</a> is not allowed (e.g. in an empty <code><a href=#the-ol-element>ol</a></code>
- element), then the user agent must not insert the <code><a href=#the-br-element>br</a></code>
- element directly at the caret position. In such cases the behavior
- is UA-dependent, but user agents must not, in response to a request
- to insert a line separator, generate a DOM that is less conformant
- than the DOM prior to the request.</dd>
+ <div class=impl>
+ <h4 id=user-editing-actions><span class=secno>8.5.3 </span>User editing actions</h4>
- <dt id=contenteditable-delete>Delete</dt>
+ <p class=XXX>This section will be removed shortly. What remains
+ here is simply what has not yet been merged into Aryeh's spec.</p>
- <dd><p>UAs should offer a way for the user to delete text and
- elements, including non-editable descendants, e.g. as the default
- action of <code title=event-keydown>keydown</code> events whose
- identifiers are "U+0008" or "U+007F".</p>
+ <p>There are several actions that the user agent should allow the
+ user to perform while the user is interacting with an editing
+ host. How exactly each action is triggered is not defined for every
+ action, but when it is not defined, suggested key bindings are
+ provided to guide implementors.</p>
- <p>Five edge cases in particular need to be considered carefully
- when implementing this feature: backspacing at the start of an
- element, backspacing when the caret is immediately after an
- element, forward-deleting at the end of an element,
- forward-deleting when the caret is immediately before an element,
- and deleting a selection whose start and end points do not share a
- common parent node.</p>
-
- <p>In any case, the exact behavior is UA-dependent, but user
- agents must not, in response to a request to delete text or an
- element, generate a DOM that is less conformant than the DOM prior
- to the request.</dd>
-
-
- <dt id=contenteditable-wrapSemantic>Insert, and wrap text in,
+ <dl><dt id=contenteditable-wrapSemantic>Insert, and wrap text in,
semantic elements</dt>
<dd><p>UAs should offer the user the ability to mark text and
@@ -72175,69 +72078,44 @@
attribute. (Updating the <code title="">default*</code> IDL
attributes causes content attributes to be updated as well.)</dd>
- </dl><p>User agents may perform several commands per user request; for
- example if the user selects a block of text and hits
- <kbd><kbd>Enter</kbd></kbd>, the UA might interpret that as a
- request to delete the content of the selection followed by a request
- to break the paragraph at that position.</p>
+ </dl><p>User agents may add DOM changes to the <a href=#undo-transaction-history>undo transaction
+ history</a> of the <a href=#editing-host>editing host</a>'s
+ <code><a href=#document>Document</a></code> object each time an action is triggered.</p>
- <p>User agents may add <span>DOM changes</span> entries to the
- <span>undo transaction history</span> of the <a href=#editing-host>editing
- host</a>'s <code><a href=#document>Document</a></code> object each time an action is
- triggered.</p>
-
- <p>All of the actions defined above, whether triggered by the user
- or programmatically (e.g. by <code title=dom-document-execCommand><a href=#execCommand>execCommand()</a></code> commands),
- must fire mutation events as appropriate.</p>
-
</div>
+ <h4 id=editing-apis><span class=secno>8.5.4 </span>Editing APIs</h4>
- <h4 id=making-entire-documents-editable><span class=secno>8.5.2 </span>Making entire documents editable</h4>
+ <p>The definition of the terms <dfn id=active-range>active range</dfn>, <dfn id=editing-host>editing
+ host</dfn>, and <dfn id=editable>editable</dfn>, the user interface requirements
+ of elements that are <a href=#editing-host title="editing host">editing hosts</a>
+ or <a href=#editable>editable</a>, and the
- <div class=impl>
+ <dfn id=execCommand title=dom-document-execCommand><code>execCommand()</code></dfn>,
+ <dfn id=dom-document-querycommandenabled title=dom-document-queryCommandEnabled><code>queryCommandEnabled()</code></dfn>,
+ <dfn id=dom-document-querycommandindeterm title=dom-document-queryCommandIndeterm><code>queryCommandIndeterm()</code></dfn>,
+ <dfn id=dom-document-querycommandstate title=dom-document-queryCommandState><code>queryCommandState()</code></dfn>,
+ <dfn id=dom-document-querycommandsupported title=dom-document-queryCommandSupported><code>queryCommandSupported()</code></dfn>, and
+ <dfn id=dom-document-querycommandvalue title=dom-document-queryCommandValue><code>queryCommandValue()</code></dfn>
- <p>Documents have a <dfn id=designMode title=dom-document-designMode><code>designMode</code></dfn>, which
- can be either enabled or disabled.</p>
+ methods are defined in the HTML Editing APIs specification. Text
+ selections are defined in the DOM Range specification. The
+ interaction of editing and the undo/redo features in user agents is
+ defined by the UndoManager and DOM Transaction specification. <a href=#refsEDITING>[EDITING]</a> <a href=#refsDOMRANGE>[DOMRANGE]</a> <a href=#refsUNDO>[UNDO]</a></p>
- </div>
+ <p class=XXX>Need to decide what to do with the <dfn id=formatblock-candidate><code title="">formatBlock</code> candidate</dfn> category.</p>
- <dl class=domintro><dt><var title="">document</var> . <code title=dom-document-designMode><a href=#designMode>designMode</a></code> [ = <var title="">value</var> ]</dt>
+ <p class=XXX><dfn id=undo-transaction-history>undo transaction history</dfn> is currently
+ defined in <a href=#refsUNDO>[UNDO]</a> but this spec hasn't been
+ updated to make sense with the new definition</p>
- <dd>
+ <!-- those might get merged in here eventually -->
- <p>Returns "<code title="">on</code>" if the document is editable,
- and "<code title="">off</code>" if it isn't.</p>
- <p>Can be set, to change the document's current state.</p>
- </dd>
+ <h4 id=spelling-and-grammar-checking><span class=secno>8.5.5 </span>Spelling and grammar checking</h4>
- </dl><div class=impl>
-
- <p>The <code title=dom-document-designMode><a href=#designMode>designMode</a></code> IDL
- attribute on the <code><a href=#document>Document</a></code> object takes two values,
- "<code title="">on</code>" and "<code title="">off</code>". When it
- is set, the new value must be compared in an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> manner to these two values. If it matches
- the "<code title="">on</code>" value, then <code title=dom-document-designMode><a href=#designMode>designMode</a></code> must be enabled,
- and if it matches the "<code title="">off</code>" value, then <code title=dom-document-designMode><a href=#designMode>designMode</a></code> must be
- disabled. Other values must be ignored.</p>
-
- <p>When <code title=dom-document-designMode><a href=#designMode>designMode</a></code> is
- enabled, the IDL attribute must return the value "<code title="">on</code>", and when it is disabled, it must return the
- value "<code title="">off</code>".</p>
-
- <p>The last state set must persist until the document is destroyed
- or the state is changed. Initially, documents must have their <code title=dom-document-designMode><a href=#designMode>designMode</a></code> disabled.</p>
-
- </div>
-
-
-
- <h3 id=spelling-and-grammar-checking><span class=secno>8.6 </span>Spelling and grammar checking</h3>
-
<div class=impl>
<p>User agents can support the checking of spelling and grammar of
@@ -72332,7 +72210,8 @@
that are not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a>.</li>
<li>Text in <a href=#text-node title="text node">text nodes</a> that are
- children of <a href=#editable>editable</a> elements.</li>
+ children of <a href=#editing-host title="editing host">editing hosts</a> or
+ <a href=#editable>editable</a> elements.</li>
<li>Text in attributes of <a href=#editable>editable</a> elements.</li>
@@ -72428,7 +72307,7 @@
the checking is enabled, or could use other interfaces.</p>
- <h3 id=dnd><span class=secno>8.7 </span><dfn>Drag and drop</dfn></h3>
+ <h3 id=dnd><span class=secno>8.6 </span><dfn>Drag and drop</dfn></h3>
<!-- v2: ideas for drag and drop:
@@ -72530,7 +72409,7 @@
</div>
- <h4 id=introduction-9><span class=secno>8.7.1 </span>Introduction</h4>
+ <h4 id=introduction-9><span class=secno>8.6.1 </span>Introduction</h4>
<p><i>This section is non-normative.</i></p>
@@ -72633,7 +72512,7 @@
- <h4 id=the-drag-data-store><span class=secno>8.7.2 </span>The drag data store</h4>
+ <h4 id=the-drag-data-store><span class=secno>8.6.2 </span>The drag data store</h4>
<p>The data that underlies a drag-and-drop operation, known as the
<dfn id=drag-data-store>drag data store</dfn>, consists of the following information:</p>
@@ -72778,7 +72657,7 @@
store allowed effects state</a> is the string "<code title="">uninitialized</code>".</p>
- <h4 id=the-datatransfer-interface><span class=secno>8.7.3 </span>The <code><a href=#datatransfer>DataTransfer</a></code> interface</h4>
+ <h4 id=the-datatransfer-interface><span class=secno>8.6.3 </span>The <code><a href=#datatransfer>DataTransfer</a></code> interface</h4>
<p><code><a href=#datatransfer>DataTransfer</a></code> objects are used to expose the
<a href=#drag-data-store>drag data store</a> that underlies a drag-and-drop
@@ -73155,7 +73034,7 @@
</div>
- <h5 id=the-datatransferitemlist-interface><span class=secno>8.7.3.1 </span>The <code><a href=#datatransferitemlist>DataTransferItemList</a></code> interface</h5>
+ <h5 id=the-datatransferitemlist-interface><span class=secno>8.6.3.1 </span>The <code><a href=#datatransferitemlist>DataTransferItemList</a></code> interface</h5>
<p>Each <code><a href=#datatransfer>DataTransfer</a></code> object is associated with a
<code><a href=#datatransferitemlist>DataTransferItemList</a></code> object.</p>
@@ -73364,7 +73243,7 @@
</ol></div>
- <h5 id=the-datatransferitem-interface><span class=secno>8.7.3.2 </span>The <code><a href=#datatransferitem>DataTransferItem</a></code> interface</h5>
+ <h5 id=the-datatransferitem-interface><span class=secno>8.6.3.2 </span>The <code><a href=#datatransferitem>DataTransferItem</a></code> interface</h5>
<p>Each <code><a href=#datatransferitem>DataTransferItem</a></code> object is associated with a
<code><a href=#datatransfer>DataTransfer</a></code> object.</p>
@@ -73592,7 +73471,7 @@
- <h4 id=the-dragevent-interface><span class=secno>8.7.4 </span>The <code><a href=#dragevent>DragEvent</a></code> interface</h4>
+ <h4 id=the-dragevent-interface><span class=secno>8.6.4 </span>The <code><a href=#dragevent>DragEvent</a></code> interface</h4>
<p>The drag-and-drop processing model involves several events. They
all use the <code><a href=#dragevent>DragEvent</a></code> interface.</p>
@@ -73719,7 +73598,7 @@
<div class=impl>
- <h4 id=drag-and-drop-processing-model><span class=secno>8.7.5 </span>Drag-and-drop processing model</h4>
+ <h4 id=drag-and-drop-processing-model><span class=secno>8.6.5 </span>Drag-and-drop processing model</h4>
<p>When the user attempts to begin a drag operation, the user agent
must run the following steps. User agents must act as if these steps
@@ -73978,10 +73857,11 @@
</ol><p>From the moment that the user agent is to <dfn id=initiate-the-drag-and-drop-operation>initiate the
drag-and-drop operation</dfn>, until the end of the drag-and-drop
operation, device input events (e.g. mouse and keyboard events) must
- be suppressed. In addition, the user agent must track all DOM
- changes made during the drag-and-drop operation, and add them to its
- <span>undo transaction history</span> as one atomic operation once
- the drag-and-drop operation has ended.</p>
+ be suppressed. <span class=XXX>In addition, the user agent must
+ track all DOM changes made during the drag-and-drop operation, and
+ add them to its <a href=#undo-transaction-history>undo transaction history</a> as one atomic
+ operation once the drag-and-drop operation has ended.</span></p>
+ <!-- need to update this to new UndoManager code -->
<p>During the drag operation, the element directly indicated by the
user as the drop target is called the <dfn id=immediate-user-selection>immediate user
@@ -74075,10 +73955,11 @@
field (e.g. <code><a href=#the-textarea-element>textarea</a></code>, or an <code><a href=#the-input-element>input</a></code>
element whose <code title=attr-input-type><a href=#attr-input-type>type</a></code>
attribute is in the <a href=#text-state-and-search-state title=attr-input-type-text>Text</a> state) or an
- <a href=#editable>editable</a> element, and the <a href=#drag-data-store-item-list>drag data store
- item list</a> has an item with <a href=#the-drag-data-item-type-string>the drag data item
- type string</a> "<code>text/plain</code>" and <a href=#the-drag-data-item-kind>the
- drag data item kind</a> <i>Plain Unicode string</i></dt>
+ <a href=#editing-host>editing host</a> or <a href=#editable>editable</a> element,
+ and the <a href=#drag-data-store-item-list>drag data store item list</a> has an item
+ with <a href=#the-drag-data-item-type-string>the drag data item type string</a>
+ "<code>text/plain</code>" and <a href=#the-drag-data-item-kind>the drag data item
+ kind</a> <i>Plain Unicode string</i></dt>
<dd><p>Set the <a href=#current-target-element>current target element</a> to the
<a href=#immediate-user-selection>immediate user selection</a> anyway.</dd>
@@ -74144,10 +74025,11 @@
(e.g. <code><a href=#the-textarea-element>textarea</a></code>, or an <code><a href=#the-input-element>input</a></code> element
whose <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in
the <a href=#text-state-and-search-state title=attr-input-type-text>Text</a> state) or an
- <a href=#editable>editable</a> element, and the <a href=#drag-data-store-item-list>drag data store
- item list</a> has an item with <a href=#the-drag-data-item-type-string>the drag data item type
- string</a> "<code>text/plain</code>" and <a href=#the-drag-data-item-kind>the drag data
- item kind</a> <i>Plain Unicode string</i></dt>
+ <a href=#editing-host>editing host</a> or <a href=#editable>editable</a> element, and
+ the <a href=#drag-data-store-item-list>drag data store item list</a> has an item with
+ <a href=#the-drag-data-item-type-string>the drag data item type string</a>
+ "<code>text/plain</code>" and <a href=#the-drag-data-item-kind>the drag data item
+ kind</a> <i>Plain Unicode string</i></dt>
<dd><p>Set the <a href=#current-drag-operation>current drag operation</a> to either
"<code title="">copy</code>" or "<code title="">move</code>",
@@ -74278,19 +74160,20 @@
field (e.g. <code><a href=#the-textarea-element>textarea</a></code>, or an <code><a href=#the-input-element>input</a></code>
element whose <code title=attr-input-type><a href=#attr-input-type>type</a></code>
attribute is in the <a href=#text-state-and-search-state title=attr-input-type-text>Text</a> state) or an
- <a href=#editable>editable</a> element, and the <a href=#drag-data-store-item-list>drag data store
- item list</a> has an item with <a href=#the-drag-data-item-type-string>the drag data item
- type string</a> "<code>text/plain</code>" and <a href=#the-drag-data-item-kind>the
- drag data item kind</a> <i>Plain Unicode string</i></dt>
+ <a href=#editing-host>editing host</a> or <a href=#editable>editable</a> element,
+ and the <a href=#drag-data-store-item-list>drag data store item list</a> has an item
+ with <a href=#the-drag-data-item-type-string>the drag data item type string</a>
+ "<code>text/plain</code>" and <a href=#the-drag-data-item-kind>the drag data item
+ kind</a> <i>Plain Unicode string</i></dt>
<dd><p>Insert the actual data of the first item in the
<a href=#drag-data-store-item-list>drag data store item list</a> to have <a href=#the-drag-data-item-type-string title="the drag data item type string">a drag data item type
string</a> of "<code>text/plain</code>" and <a href=#the-drag-data-item-kind title="the drag data item kind">a drag data item kind</a>
that is <i>Plain Unicode string</i> into the text field or
- <a href=#editable>editable</a> element in a manner consistent with
- platform-specific conventions (e.g. inserting it at the
- current mouse cursor position, or inserting it at the end of
- the field).</dd>
+ <a href=#editing-host>editing host</a> or <a href=#editable>editable</a> element in
+ a manner consistent with platform-specific conventions (e.g.
+ inserting it at the current mouse cursor position, or
+ inserting it at the end of the field).</dd>
<dt>Otherwise</dt>
@@ -74361,7 +74244,7 @@
</div>
- <h4 id=dndevents><span class=secno>8.7.6 </span>Events summary</h4>
+ <h4 id=dndevents><span class=secno>8.6.6 </span>Events summary</h4>
<p><i>This section is non-normative.</i></p>
@@ -74440,7 +74323,7 @@
- <h4 id=the-draggable-attribute><span class=secno>8.7.7 </span>The <dfn title=attr-draggable><code>draggable</code></dfn> attribute</h4>
+ <h4 id=the-draggable-attribute><span class=secno>8.6.7 </span>The <dfn title=attr-draggable><code>draggable</code></dfn> attribute</h4>
<p>All <a href=#html-elements>HTML elements</a> may have the <code title=attr-draggable><a href=#the-draggable-attribute>draggable</a></code> content attribute set. The
<code title=attr-draggable><a href=#the-draggable-attribute>draggable</a></code> attribute is an
@@ -74499,7 +74382,7 @@
</div>
- <h4 id=the-dropzone-attribute><span class=secno>8.7.8 </span>The <dfn title=attr-dropzone><code>dropzone</code></dfn> attribute</h4>
+ <h4 id=the-dropzone-attribute><span class=secno>8.6.8 </span>The <dfn title=attr-dropzone><code>dropzone</code></dfn> attribute</h4>
<p>All <a href=#html-elements>HTML elements</a> may have the <code title=attr-dropzone><a href=#the-dropzone-attribute>dropzone</a></code> content attribute set. When
specified, its value must be an <a href=#unordered-set-of-unique-space-separated-tokens>unordered set of unique
@@ -74825,7 +74708,7 @@
<div class=impl>
- <h4 id=security-risks-in-the-drag-and-drop-model><span class=secno>8.7.9 </span>Security risks in the drag-and-drop model</h4>
+ <h4 id=security-risks-in-the-drag-and-drop-model><span class=secno>8.6.9 </span>Security risks in the drag-and-drop model</h4>
<p>User agents must not make the data added to the
<code><a href=#datatransfer>DataTransfer</a></code> object during the <code title=event-dragstart><a href=#event-dragstart>dragstart</a></code> event available to scripts
@@ -74853,7 +74736,7 @@
<!--FIND-->
- <h3 id=text-search-apis><span class=secno>8.8 </span>Text search APIs</h3> <!-- window.find() -->
+ <h3 id=text-search-apis><span class=secno>8.7 </span>Text search APIs</h3> <!-- window.find() -->
<p class=critical>This legacy API is not very interoperably
implemented, and has a number of design problems (such as having six
@@ -74910,461 +74793,9 @@
- <h3 id=editing-apis><span class=secno>8.9 </span>Editing APIs</h3>
+<!--PEERCONNECTION-->
+<div data-component="other Hixie drafts (editor: Ian Hickson)">
- <dl class=domintro><dt><var title="">document</var> . <code title=dom-document-execCommand><a href=#execCommand>execCommand</a></code>(<var title="">commandId</var> [, <var title="">showUI</var> [, <var title="">value</var> ] ] )</dt>
-
- <dd>
-
- <p>Runs the action specified by the first argument, as described
- in the list below. The second and third arguments sometimes affect
- the action. (If they don't they are ignored.)</p>
-
- </dd>
-
- <dt><var title="">document</var> . <code title=dom-document-queryCommandEnabled><a href=#dom-document-querycommandenabled>queryCommandEnabled</a></code>(<var title="">commandId</var>)</dt>
-
- <dd>
-
- <p>Returns whether the given command is enabled, as described in the list below.</p>
-
- </dd>
-
- <dt><var title="">document</var> . <code title=dom-document-queryCommandIndeterm><a href=#dom-document-querycommandindeterm>queryCommandIndeterm</a></code>(<var title="">commandId</var>)</dt>
-
- <dd>
-
- <p>Returns whether the given command is indeterminate, as described in the list below.</p>
-
- </dd>
-
- <dt><var title="">document</var> . <code title=dom-document-queryCommandState><a href=#dom-document-querycommandstate>queryCommandState</a></code>(<var title="">commandId</var>)</dt>
-
- <dd>
-
- <p>Returns the state of the command, as described in the list below.</p>
-
- </dd>
-
- <dt><var title="">document</var> . <code title=dom-document-queryCommandSupported><a href=#dom-document-querycommandsupported>queryCommandSupported</a></code>(<var title="">commandId</var>)</dt>
-
- <dd>
-
- <p>Returns true if the command is supported; otherwise, returns false.</p>
-
- </dd>
-
- <dt><var title="">document</var> . <code title=dom-document-queryCommandValue><a href=#dom-document-querycommandvalue>queryCommandValue</a></code>(<var title="">commandId</var>)</dt>
-
- <dd>
-
- <p>Returns the value of the command, as described in the list below.</p>
-
- </dd>
-
- </dl><div class=impl>
-
- <p>The <dfn id=execCommand title=dom-document-execCommand><code>execCommand(<var title="">commandId</var>, <var title="">showUI</var>, <var title="">value</var>)</code></dfn> method on the
- <code><a href=#htmldocument>HTMLDocument</a></code> interface allows scripts to perform
- actions on the current selection or at the current caret position.
- Generally, these commands would be used to implement editor UI, for
- example having a "delete" button on a toolbar.</p>
-
- <p>There are three variants to this method, with one, two, and three
- arguments respectively. The <var title="">showUI</var> and <var title="">value</var> parameters, even if specified, are ignored
- except where otherwise stated.</p>
-
- <p>When <code title=dom-document-execCommand><a href=#execCommand>execCommand()</a></code>
- is invoked, the user agent must run the following steps:</p>
-
- <ol><li>If the given <var title="">commandId</var> maps to an entry in
- the list below whose "Enabled When" entry has a condition that is
- currently false, do nothing; abort these steps.</li>
-
- <li>Otherwise, execute the "Action" listed below for the given <var title="">commandId</var>.</li>
-
- </ol></div>
-
- <p>A document is <dfn id=ready-for-editing-host-commands>ready for editing host commands</dfn> if it
- has a selection that is entirely within an <a href=#editing-host>editing
- host</a>, or if it has no selection but its caret is inside an
- <a href=#editing-host>editing host</a>.</p>
-
- <div class=impl>
-
- <p>The <dfn id=dom-document-querycommandenabled title=dom-document-queryCommandEnabled><code>queryCommandEnabled(<var title="">commandId</var>)</code></dfn> method, when invoked, must
- return true if the condition listed below under "Enabled When" for
- the given <var title="">commandId</var> is true, and false
- otherwise.</p>
-
- <p>The <dfn id=dom-document-querycommandindeterm title=dom-document-queryCommandIndeterm><code>queryCommandIndeterm(<var title="">commandId</var>)</code></dfn> method, when invoked, must
- return true if the condition listed below under "Indeterminate When"
- for the given <var title="">commandId</var> is true, and false
- otherwise.</p>
-
- <p>The <dfn id=dom-document-querycommandstate title=dom-document-queryCommandState><code>queryCommandState(<var title="">commandId</var>)</code></dfn> method, when invoked, must
- return the value expressed below under "State" for the given <var title="">commandId</var>.</p>
-
- <p>The <dfn id=dom-document-querycommandsupported title=dom-document-queryCommandSupported><code>queryCommandSupported(<var title="">commandId</var>)</code></dfn> method, when invoked, must
- return true if the given <var title="">commandId</var> is in the
- list below, and false otherwise.</p>
-
- <p>The <dfn id=dom-document-querycommandvalue title=dom-document-queryCommandValue><code>queryCommandValue(<var title="">commandId</var>)</code></dfn> method, when invoked, must
- return the value expressed below under "Value" for the given <var title="">commandId</var>.</p>
-
- </div>
-
- <p>The possible values for <var title="">commandId</var>, and their
- corresponding meanings, are as follows. <span class=impl>These
- values must be compared to the argument in an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> manner.</span></p>
-
- <dl><dt><dfn id=command-bold title=command-bold><code>bold</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is bold.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <em><code><a href=#the-b-element>b</a></code></em> element (or, again,
- unwrapped, or have that semantic inserted or removed, as defined by
- the UA).</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: True if the selection, or the caret, if
- there is no selection, is, or is contained within, a
- <code><a href=#the-b-element>b</a></code> element. False otherwise.</dd>
- <dd><strong>Value</strong>: The string "<code title="">true</code>"
- if the expression given for the "State" above is true, the string
- "<code title="">false</code>" otherwise.</dd>
-
- <dt><dfn id=command-createlink title=command-createLink><code>createLink</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is a
- link or not. If the second argument is true, and a link is to be
- added, the user agent will ask the user for the address. Otherwise,
- the third argument will be used as the address.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <em><code><a href=#the-a-element>a</a></code></em> element (or, again,
- unwrapped, or have that semantic inserted or removed, as defined by
- the UA). If the user agent creates an <code><a href=#the-a-element>a</a></code> element or
- modifies an existing <code><a href=#the-a-element>a</a></code> element, then if the <var title="">showUI</var> argument is present and has the value false,
- then the value of the <var title="">value</var> argument must be
- used as the <a href=#url>URL</a> of the link. Otherwise, the user agent
- should prompt the user for the URL of the link.</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-delete title=command-delete><code>delete</code></dfn></dt>
- <dd><strong>Summary</strong>: Deletes the selection or the
- character before the cursor.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had performed <a href=#contenteditable-delete>a backspace
- operation</a>.</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-formatblock title=command-formatBlock><code>formatBlock</code></dfn></dt>
- <dd><strong>Summary</strong>: Wraps the selection in the element
- given by the third argument. If the third argument doesn't
- specify an element that is a <dfn id=formatblock-candidate><code title="">formatBlock</code>
- candidate</dfn>, does nothing.</dd>
- <dd class=impl>
- <p><strong>Action</strong>: The user agent must run the following
- steps:</p>
- <ol><li><p>If the <var title="">value</var> argument wasn't
- specified, abort these steps without doing anything.</li>
- <li><p>If the <var title="">value</var> argument has a leading
- U+003C LESS-THAN SIGN character (<) and a trailing U+003E
- GREATER-THAN SIGN character (>), then remove the first and last
- characters from <var title="">value</var>.</li>
- <li>
- <p>If <var title="">value</var> is (now) an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the tag name of an element
- defined by this specification that is defined to be a
- <a href=#formatblock-candidate><code title="">formatBlock</code> candidate</a>, then,
- for every position in the selection, take the nearest
- <a href=#formatblock-candidate><code title="">formatBlock</code> candidate</a>
- ancestor element of that position that contains only
- <a href=#phrasing-content>phrasing content</a>, and, if that element is
- <a href=#editable>editable</a>, is not an <a href=#editing-host>editing host</a>, and
- has a parent element whose content model allows that parent to
- contain any <a href=#flow-content>flow content</a>, replace it with an
- element in the HTML namespace whose name is <var title="">value</var>, and move all the children that were in it
- to the new element, and copy all the attributes that were on it
- to the new element.</p>
- <p>If there is no selection, then, where in the description
- above refers to the selection, the user agent must act as if the
- selection was an empty range (with just one position) at the
- caret position.</p>
- </li>
- </ol></dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-forwarddelete title=command-forwardDelete><code>forwardDelete</code></dfn></dt>
- <dd><strong>Summary</strong>: Deletes the selection or the
- character after the cursor.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had performed <a href=#contenteditable-delete>a forward delete
- operation</a>.</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-insertimage title=command-insertImage><code>insertImage</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is an
- image or not. If the second argument is true, and an image is to be
- added, the user agent will ask the user for the address. Otherwise,
- the third argument will be used as the address.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act
- as if the user had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <em><code><a href=#the-img-element>img</a></code></em> element (or, again,
- unwrapped, or have that semantic inserted or removed, as defined by
- the UA). If the user agent creates an <code><a href=#the-img-element>img</a></code> element or
- modifies an existing <code><a href=#the-img-element>img</a></code> element, then if the <var title="">showUI</var> argument is present and has the value false,
- then the value of the <var title="">value</var> argument must be
- used as the <a href=#url>URL</a> of the image. Otherwise, the user
- agent should prompt the user for the URL of the image.</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-inserthtml title=command-insertHTML><code>insertHTML</code></dfn></dt>
- <dd><strong>Summary</strong>: Replaces the selection with the value
- of the third argument parsed as HTML.</dd>
- <dd class=impl>
- <p><strong>Action</strong>: The user agent must run the following
- steps:</p>
- <ol><li><p>If the document is an <a href=#xml-documents title="XML documents">XML
- document</a>, then throw an <code><a href=#invalid_access_err>INVALID_ACCESS_ERR</a></code>
- exception and abort these steps.</li><!-- v2 support XML? -->
- <li><p>If the <var title="">value</var> argument wasn't
- specified, abort these steps without doing anything.</li>
- <li><p>If there is a selection, act as if the user had requested
- that <a href=#contenteditable-delete>the selection be
- deleted</a>.</li>
- <li><p>Invoke the <a href=#html-fragment-parsing-algorithm>HTML fragment parsing algorithm</a>
- with an arbitrary orphan <code><a href=#the-body-element>body</a></code> element owned by the
- same <code><a href=#document>Document</a></code> as the <i title="">context</i> element
- and with the <var title="">value</var> argument as <i title="">input</i>.</li>
- <li><p>Insert the nodes returned by the previous step into the
- document at the location of the caret, firing any mutation events
- as appropriate.</li>
- </ol></dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-insertlinebreak title=command-insertLineBreak><code>insertLineBreak</code></dfn></dt>
- <dd><strong>Summary</strong>: Inserts a line break.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had <a href=#contenteditable-br>requested a line
- separator</a>.</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-insertorderedlist title=command-insertOrderedList><code>insertOrderedList</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is an ordered list.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <code><a href=#the-ol-element>ol</a></code> element (or unwrapped, or, if
- there is no selection, have that semantic inserted or removed
- — the exact behavior is UA-defined).</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-insertunorderedlist title=command-insertUnorderedList><code>insertUnorderedList</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is an unordered list.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <code><a href=#the-ul-element>ul</a></code> element (or unwrapped, or, if
- there is no selection, have that semantic inserted or removed
- — the exact behavior is UA-defined).</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-insertparagraph title=command-insertParagraph><code>insertParagraph</code></dfn></dt>
- <dd><strong>Summary</strong>: Inserts a paragraph break.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had performed a <a href=#contenteditable-breakBlock>break
- block</a> editing action.</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-inserttext title=command-insertText><code>insertText</code></dfn></dt>
- <dd><strong>Summary</strong>: Inserts the text given in the third parameter.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had <a href=#contenteditable-insertText>inserted text</a>
- corresponding to the <var title="">value</var> parameter.</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-italic title=command-italic><code>italic</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is italic.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <em><code><a href=#the-i-element>i</a></code></em> element (or, again,
- unwrapped, or have that semantic inserted or removed, as defined by
- the UA).</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: True if the selection, or the caret, if
- there is no selection, is, or is contained within, a
- <code><a href=#the-i-element>i</a></code> element. False otherwise.</dd>
- <dd><strong>Value</strong>: The string "<code title="">true</code>"
- if the expression given for the "State" above is true, the string
- "<code title="">false</code>" otherwise.</dd>
-
- <dt><dfn id=command-redo title=command-redo><code>redo</code></dfn></dt>
- <dd><strong>Summary</strong>: Acts as if the user had requested a redo.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must <span title=do-redo>move forward one step</span> in its <span>undo
- transaction history</span>, restoring the associated state. If the
- <span>undo position</span> is at the end of the <span>undo
- transaction history</span>, the user agent must do nothing.
- </dd>
- <dd><strong>Enabled When</strong>: The <span>undo position</span>
- is not at the end of the <span>undo transaction
- history</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-selectall title=command-selectAll><code>selectAll</code></dfn></dt>
- <dd><strong>Summary</strong>: Selects all the editable content.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must change the
- selection so that all the content in the currently focused
- <a href=#editing-host>editing host</a> is selected. If no <a href=#editing-host>editing
- host</a> is focused, then the content of the entire document
- must be selected.</dd>
- <dd><strong>Enabled When</strong>: Always.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-subscript title=command-subscript><code>subscript</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is subscripted.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <em><code><a href=#the-sub-and-sup-elements>sub</a></code></em> element (or, again,
- unwrapped, or have that semantic inserted or removed, as defined by
- the UA).</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: True if the selection, or the caret, if
- there is no selection, is, or is contained within, a
- <code><a href=#the-sub-and-sup-elements>sub</a></code> element. False otherwise.</dd>
- <dd><strong>Value</strong>: The string "<code title="">true</code>"
- if the expression given for the "State" above is true, the string
- "<code title="">false</code>" otherwise.</dd>
-
- <dt><dfn id=command-superscript title=command-superscript><code>superscript</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is superscripted.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <code><a href=#the-sub-and-sup-elements>sup</a></code> element (or unwrapped, or, if
- there is no selection, have that semantic inserted or removed
- — the exact behavior is UA-defined).</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: True if the selection, or the caret, if
- there is no selection, is, or is contained within, a
- <code><a href=#the-sub-and-sup-elements>sup</a></code> element. False otherwise.</dd>
- <dd><strong>Value</strong>: The string "<code title="">true</code>"
- if the expression given for the "State" above is true, the string
- "<code title="">false</code>" otherwise.</dd>
-
- <dt><dfn id=command-undo title=command-undo><code>undo</code></dfn></dt>
- <dd><strong>Summary</strong>: Acts as if the user had requested an undo.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must <span title=do-undo>move back one step</span> in its <span>undo
- transaction history</span>, restoring the associated state. If the
- <span>undo position</span> is at the start of the <span>undo
- transaction history</span>, the user agent must do nothing.
- </dd>
- <dd><strong>Enabled When</strong>: The <span>undo position</span>
- is not at the start of the <span>undo transaction
- history</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-unlink title=command-unlink><code>unlink</code></dfn></dt>
- <dd><strong>Summary</strong>: Removes all links from the selection.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must remove all
- <code><a href=#the-a-element>a</a></code> elements that have <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attributes and that are partially
- or completely included in the current selection.</dd>
- <dd><strong>Enabled When</strong>: The document has a selection
- that is entirely within an <a href=#editing-host>editing host</a> and that
- contains (either partially or completely) at least one
- <code><a href=#the-a-element>a</a></code> element that has an <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-unselect title=command-unselect><code>unselect</code></dfn></dt>
- <dd><strong>Summary</strong>: Unselects everything.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must change the
- selection so that nothing is selected.</dd>
- <dd><strong>Enabled When</strong>: Always.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt class=impl><code><var title="">vendorID</var>-<var title="">customCommandID</var></code></dt>
- <dd class=impl><strong>Action</strong>: User agents may implement
- vendor-specific extensions to this API. Vendor-specific extensions
- to the list of commands should use the syntax <code><var title="">vendorID</var>-<var title="">customCommandID</var></code>
- so as to prevent clashes between extensions from different vendors
- and future additions to this specification.</dd>
- <dd class=impl><strong>Enabled When</strong>: UA-defined.</dd>
- <dd class=impl><strong>Indeterminate When</strong>: UA-defined.</dd>
- <dd class=impl><strong>State</strong>: UA-defined.</dd>
- <dd class=impl><strong>Value</strong>: UA-defined.</dd>
-
- <dt class=impl>Anything else</dt>
- <dd class=impl><strong>Action</strong>: User agents must do nothing.</dd>
- <dd class=impl><strong>Enabled When</strong>: Never.</dd>
- <dd class=impl><strong>Indeterminate When</strong>: Never.</dd>
- <dd class=impl><strong>State</strong>: Always false.</dd>
- <dd class=impl><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- </dl><!--
-v2 (well, really v0):
- "forecolor", "hilitecolor", "fontname", "fontsize", "justifyleft",
- "justifycenter", "justifyright", "justifyfull", "indent", "outdent"
---><!--PEERCONNECTION--><div data-component="other Hixie drafts (editor: Ian Hickson)">
-
<h2 id=video-conferencing-and-peer-to-peer-communication><span class=secno>9 </span>Video conferencing and peer-to-peer communication</h2>
<h3 id=introduction-10><span class=secno>9.1 </span>Introduction</h3>
@@ -95808,11 +95239,11 @@
<h4 id=editing-hosts><span class=secno>15.7.3 </span>Editing hosts</h4>
- <p>The current text editing caret (the one at the <a href=#caret-position>caret
- position</a> in a focused <a href=#editing-host>editing host</a>) is expected
- to act like an inline replaced element with the vertical dimensions
- of the caret and with zero width for the purposes of the CSS
- rendering model.</p>
+ <p>The current text editing caret (i.e. the <a href=#active-range>active
+ range</a>, if it is empty and in an <a href=#editing-host>editing host</a>),
+ if any, is expected to act like an inline replaced element with the
+ vertical dimensions of the caret and with zero width for the
+ purposes of the CSS rendering model.</p>
<p class=note>This means that even an empty block can have the
caret inside it, and that when the caret is in such an element, it
@@ -99842,7 +99273,7 @@
<td> <a href=#attribute-text>Text</a>*
<tr><th> <code title="">contenteditable</code>
<td> <a href=#attr-contenteditable title=attr-contenteditable>HTML elements</a>
- <td> Whether the element is <a href=#editable>editable</a>
+ <td> Whether the element is an editable
<td> "<code title="">true</code>"; "<code title="">false</code>"
<tr><th> <code title="">contextmenu</code>
<td> <a href=#attr-contextmenu title=attr-contextmenu>HTML elements</a>
@@ -101358,6 +100789,9 @@
<dd><cite><a href=http://www.ecma-international.org/publications/standards/Ecma-262.htm>ECMAScript
Language Specification</a></cite>. ECMA.</dd>
+ <dt id=refsEDITING>[EDITING]</dt>
+ <dd><cite><a href=http://aryeh.name/spec/editing/editing.html>HTML Editing APIs</a></cite>, A. Gregor.</dd>
+
<dt id=refsECMA357>[ECMA357]</dt>
<dd>(Non-normative) <cite><a href=http://www.ecma-international.org/publications/standards/Ecma-357.htm>ECMAScript
for XML (E4X) Specification</a></cite>. ECMA.</dd>
@@ -101753,6 +101187,9 @@
Guidelines (UAAG) 2.0</a></cite>, J. Allan, K. Ford, J. Richards,
J. Spellman. W3C.</dd>
+ <dt id=refsUNDO>[UNDO]</dt>
+ <dd><cite><a href=http://rniwa.com/editing/undomanager.html>UndoManager and DOM Transaction</a></cite>, R. Niwa.</dd>
+
<dt id=refsUNICODE>[UNICODE]</dt>
<dd><cite><a href=http://www.unicode.org/versions/>The Unicode Standard</a></cite>. Unicode Consortium.</dd>
Modified: index
===================================================================
--- index 2011-08-25 23:13:05 UTC (rev 6527)
+++ index 2011-08-26 00:43:00 UTC (rev 6528)
@@ -243,7 +243,7 @@
<header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1 class=allcaps>HTML</h1>
- <h2 class="no-num no-toc">Living Standard — Last Updated 25 August 2011</h2>
+ <h2 class="no-num no-toc">Living Standard — Last Updated 26 August 2011</h2>
</hgroup><dl><dt><strong>Web developer edition</strong></dt>
<dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
<dt>Multiple-page version:</dt>
@@ -968,27 +968,29 @@
<li><a href=#introduction-8><span class=secno>8.4.1 </span>Introduction</a></li>
<li><a href=#the-accesskey-attribute><span class=secno>8.4.2 </span>The <code>accesskey</code> attribute</a></li>
<li><a href=#processing-model-3><span class=secno>8.4.3 </span>Processing model</a></ol></li>
- <li><a href=#contenteditable><span class=secno>8.5 </span>The <code title=attr-contenteditable>contenteditable</code> attribute</a>
+ <li><a href=#editing-0><span class=secno>8.5 </span>Editing</a>
<ol>
- <li><a href=#user-editing-actions><span class=secno>8.5.1 </span>User editing actions</a></li>
- <li><a href=#making-entire-documents-editable><span class=secno>8.5.2 </span>Making entire documents editable</a></ol></li>
- <li><a href=#spelling-and-grammar-checking><span class=secno>8.6 </span>Spelling and grammar checking</a></li>
- <li><a href=#dnd><span class=secno>8.7 </span>Drag and drop</a>
+ <li><a href=#contenteditable><span class=secno>8.5.1 </span>Making document regions editable: The <code title=attr-contenteditable>contenteditable</code> content
+ attribute</a></li>
+ <li><a href=#making-entire-documents-editable:-the-designmode-idl-attribute><span class=secno>8.5.2 </span>Making entire documents editable: The <code title=dom-document-designMode>designMode</code> IDL attribute</a></li>
+ <li><a href=#user-editing-actions><span class=secno>8.5.3 </span>User editing actions</a></li>
+ <li><a href=#editing-apis><span class=secno>8.5.4 </span>Editing APIs</a></li>
+ <li><a href=#spelling-and-grammar-checking><span class=secno>8.5.5 </span>Spelling and grammar checking</a></ol></li>
+ <li><a href=#dnd><span class=secno>8.6 </span>Drag and drop</a>
<ol>
- <li><a href=#introduction-9><span class=secno>8.7.1 </span>Introduction</a></li>
- <li><a href=#the-drag-data-store><span class=secno>8.7.2 </span>The drag data store</a></li>
- <li><a href=#the-datatransfer-interface><span class=secno>8.7.3 </span>The <code>DataTransfer</code> interface</a>
+ <li><a href=#introduction-9><span class=secno>8.6.1 </span>Introduction</a></li>
+ <li><a href=#the-drag-data-store><span class=secno>8.6.2 </span>The drag data store</a></li>
+ <li><a href=#the-datatransfer-interface><span class=secno>8.6.3 </span>The <code>DataTransfer</code> interface</a>
<ol>
- <li><a href=#the-datatransferitemlist-interface><span class=secno>8.7.3.1 </span>The <code>DataTransferItemList</code> interface</a></li>
- <li><a href=#the-datatransferitem-interface><span class=secno>8.7.3.2 </span>The <code>DataTransferItem</code> interface</a></ol></li>
- <li><a href=#the-dragevent-interface><span class=secno>8.7.4 </span>The <code>DragEvent</code> interface</a></li>
- <li><a href=#drag-and-drop-processing-model><span class=secno>8.7.5 </span>Drag-and-drop processing model</a></li>
- <li><a href=#dndevents><span class=secno>8.7.6 </span>Events summary</a></li>
- <li><a href=#the-draggable-attribute><span class=secno>8.7.7 </span>The <code>draggable</code> attribute</a></li>
- <li><a href=#the-dropzone-attribute><span class=secno>8.7.8 </span>The <code>dropzone</code> attribute</a></li>
- <li><a href=#security-risks-in-the-drag-and-drop-model><span class=secno>8.7.9 </span>Security risks in the drag-and-drop model</a></ol></li>
- <li><a href=#text-search-apis><span class=secno>8.8 </span>Text search APIs</a></li>
- <li><a href=#editing-apis><span class=secno>8.9 </span>Editing APIs</a></ol></li>
+ <li><a href=#the-datatransferitemlist-interface><span class=secno>8.6.3.1 </span>The <code>DataTransferItemList</code> interface</a></li>
+ <li><a href=#the-datatransferitem-interface><span class=secno>8.6.3.2 </span>The <code>DataTransferItem</code> interface</a></ol></li>
+ <li><a href=#the-dragevent-interface><span class=secno>8.6.4 </span>The <code>DragEvent</code> interface</a></li>
+ <li><a href=#drag-and-drop-processing-model><span class=secno>8.6.5 </span>Drag-and-drop processing model</a></li>
+ <li><a href=#dndevents><span class=secno>8.6.6 </span>Events summary</a></li>
+ <li><a href=#the-draggable-attribute><span class=secno>8.6.7 </span>The <code>draggable</code> attribute</a></li>
+ <li><a href=#the-dropzone-attribute><span class=secno>8.6.8 </span>The <code>dropzone</code> attribute</a></li>
+ <li><a href=#security-risks-in-the-drag-and-drop-model><span class=secno>8.6.9 </span>Security risks in the drag-and-drop model</a></ol></li>
+ <li><a href=#text-search-apis><span class=secno>8.7 </span>Text search APIs</a></ol></li>
<li><a href=#video-conferencing-and-peer-to-peer-communication><span class=secno>9 </span>Video conferencing and peer-to-peer communication</a>
<ol>
<li><a href=#introduction-10><span class=secno>9.1 </span>Introduction</a></li>
@@ -56883,7 +56885,8 @@
<li><code><a href=#the-textarea-element>textarea</a></code> elements that do not have a <code title=attr-textarea-readonly><a href=#attr-textarea-readonly>readonly</a></code> attribute, and
that are not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a></li>
- <li>elements that are <a href=#editable>editable</a> and are neither
+ <li>elements that are <a href=#editing-host title="editing host">editing
+ hosts</a> or <a href=#editable>editable</a> and are neither
<code><a href=#the-input-element>input</a></code> elemenst nor <code><a href=#the-textarea-element>textarea</a></code>
elements</li>
@@ -71796,8 +71799,11 @@
- <h3 id=contenteditable><span class=secno>8.5 </span>The <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute</h3>
+ <h3 id=editing-0><span class=secno>8.5 </span>Editing</h3>
+ <h4 id=contenteditable><span class=secno>8.5.1 </span>Making document regions editable: The <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> content
+ attribute</h4>
+
<p>The <dfn id=attr-contenteditable title=attr-contenteditable><code>contenteditable</code></dfn>
attribute is an <a href=#enumerated-attribute>enumerated attribute</a> whose keywords are
the empty string, <code title="">true</code>, and <code title="">false</code>. The empty string and the <code title="">true</code> keyword map to the <i>true</i> state. The <code title="">false</code> keyword maps to the <i>false</i> state. In
@@ -71810,31 +71816,6 @@
parent is. The <i>false</i> state indicates that the element is not
editable.</p>
- <div class=impl>
-
- <p>Specifically, if an <a href=#html-elements title="HTML elements">HTML
- element</a> has a <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
- the true state, or it has its <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
- the inherit state and if its nearest ancestor <a href=#html-elements title="HTML
- elements">HTML element</a> with the <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
- a state other than the inherit state has its attribute set to the
- true state, or if it and its ancestors all have their <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
- the inherit state but the <code><a href=#document>Document</a></code> has <code title=dom-document-designMode><a href=#designMode>designMode</a></code> enabled, then the
- UA must treat the element as <dfn id=editable>editable</dfn> (as described
- below).</p>
-
- <p>Otherwise, either the <a href=#html-elements title="HTML elements">HTML
- element</a> has a <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
- the false state, or its <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute is set
- to the inherit state and its nearest ancestor <a href=#html-elements title="HTML
- elements">HTML element</a> with the <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
- a state other than the inherit state has its attribute set to the
- false state, or all its ancestors have their <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
- the inherit state and the <code><a href=#document>Document</a></code> itself has <code title=dom-document-designMode><a href=#designMode>designMode</a></code> disabled; either
- way, the element is not editable.</p>
-
- </div>
-
<dl class=domintro><dt><var title="">element</var> . <code title=dom-contentEditable><a href=#dom-contenteditable>contentEditable</a></code> [ = <var title="">value</var> ]</dt>
<dd>
@@ -71874,147 +71855,69 @@
attribute setter must raise a <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception.</p>
<p>The <dfn id=dom-iscontenteditable title=dom-isContentEditable><code>isContentEditable</code></dfn>
- IDL attribute, on getting, must return true if the element is
- <a href=#editable>editable</a>, and false otherwise.</p>
+ IDL attribute, on getting, must return true if the element is either
+ an <a href=#editing-host>editing host</a> or <a href=#editable>editable</a>, and false
+ otherwise.</p>
- <p>If an element is <a href=#editable>editable</a> and its parent element is
- not, or if an element is <a href=#editable>editable</a> and it has no parent
- element, then the element is an <dfn id=editing-host>editing host</dfn>. Editable
- elements can be nested. Editing hosts are typically focusable and
- typically form part of the <a href=#attr-tabindex title=attr-tabindex>tab
- order</a>. An editing host can contain non-editable sections,
- these are handled as described below. An editing host can contain
- non-editable sections that contain further editing hosts.</p>
-
- <p>When an editing host has focus, it must have a <dfn id=caret-position>caret
- position</dfn> that specifies where the current editing position is.
- It may also have a selection.</p>
-
- <p class=note>How the caret and selection are represented depends
- entirely on the UA.</p>
-
- <!-- v2: would be useful to have a way to mark an element as
- unremovable. -->
-
</div>
+ <h4 id=making-entire-documents-editable:-the-designmode-idl-attribute><span class=secno>8.5.2 </span>Making entire documents editable: The <code title=dom-document-designMode><a href=#designMode>designMode</a></code> IDL attribute</h4>
+
<div class=impl>
- <h4 id=user-editing-actions><span class=secno>8.5.1 </span>User editing actions</h4>
+ <p>Documents have a <dfn id=designMode title=dom-document-designMode><code>designMode</code></dfn>, which
+ can be either enabled or disabled.</p>
- <p>There are several actions that the user agent should allow the
- user to perform while the user is interacting with an editing
- host. How exactly each action is triggered is not defined for every
- action, but when it is not defined, suggested key bindings are
- provided to guide implementors.</p>
+ </div>
- <dl><dt>Move the caret</dt>
+ <dl class=domintro><dt><var title="">document</var> . <code title=dom-document-designMode><a href=#designMode>designMode</a></code> [ = <var title="">value</var> ]</dt>
- <dd><p>User agents must allow users to move the caret to any
- position within an editing host, even into nested editable
- elements. This could be triggered as the default action of <code title=event-keydown>keydown</code> events with various key
- identifiers and as the default action of <code title=event-mousedown>mousedown</code> events.</dd>
+ <dd>
+ <p>Returns "<code title="">on</code>" if the document is editable,
+ and "<code title="">off</code>" if it isn't.</p>
- <dt>Change the selection</dt>
+ <p>Can be set, to change the document's current state.</p>
- <dd><p>User agents must allow users to change the selection within
- an editing host, even into nested editable elements. User agents
- may prevent selections from being made in ways that cross from
- editable elements into non-editable elements (e.g. by making each
- non-editable descendant atomically selectable, but not allowing
- text selection within them). This could be triggered as the default
- action of <code title=event-keydown>keydown</code> events with
- various key identifiers and as the default action of <code title=event-mousedown>mousedown</code> events.</dd>
-
-
- <dt id=contenteditable-insertText>Insert text</dt>
-
- <dd><p>This action must be triggered as the default action of a
- <code title=event-textInput>textInput</code> event, and may be
- triggered by other commands as well. It must cause the user agent
- to insert the specified text (given by the event object's <code title="">data</code> attribute in the case of the <code title=event-textInput>textInput</code> event) at the caret.</p>
-
- <p>If the caret is positioned somewhere where <a href=#phrasing-content>phrasing
- content</a> is not allowed (e.g. inside an empty <code><a href=#the-ol-element>ol</a></code>
- element), then the user agent must not insert the text directly at
- the caret position. In such cases the behavior is UA-dependent,
- but user agents must not, in response to a request to insert text,
- generate a DOM that is less conformant than the DOM prior to the
- request.</p>
-
- <p>User agents should allow users to insert new paragraphs into
- elements that contains only content other than paragraphs.</p>
-
- <div class=example>
- <p>For example, given the markup:</p>
- <pre><section>
- <dl>
- <dt> Ben </dt>
- <dd> Goat </dd>
- </dl>
-</section></pre>
- <p>...the user agent should allow the user to insert
- <code><a href=#the-p-element>p</a></code> elements before and after the <code><a href=#the-dl-element>dl</a></code>
- element, as children of the <code><a href=#the-section-element>section</a></code> element.</p>
- </div>
-
</dd>
+ </dl><div class=impl>
- <dt id=contenteditable-breakBlock>Break block</dt>
+ <p>The <code title=dom-document-designMode><a href=#designMode>designMode</a></code> IDL
+ attribute on the <code><a href=#document>Document</a></code> object takes two values,
+ "<code title="">on</code>" and "<code title="">off</code>". When it
+ is set, the new value must be compared in an <a href=#ascii-case-insensitive>ASCII
+ case-insensitive</a> manner to these two values. If it matches
+ the "<code title="">on</code>" value, then <code title=dom-document-designMode><a href=#designMode>designMode</a></code> must be enabled,
+ and if it matches the "<code title="">off</code>" value, then <code title=dom-document-designMode><a href=#designMode>designMode</a></code> must be
+ disabled. Other values must be ignored.</p>
- <dd><p>UAs should offer a way for the user to request that the
- current paragraph be broken at the caret, e.g. as the default
- action of a <code title=event-keydown>keydown</code> event whose
- identifier is the "Enter" key and that has no modifiers set.</p>
+ <p>When <code title=dom-document-designMode><a href=#designMode>designMode</a></code> is
+ enabled, the IDL attribute must return the value "<code title="">on</code>", and when it is disabled, it must return the
+ value "<code title="">off</code>".</p>
- <p>The exact behavior is UA-dependent, but user agents must not,
- in response to a request to break a paragraph, generate a DOM that
- is less conformant than the DOM prior to the request.</dd>
+ <p>The last state set must persist until the document is destroyed
+ or the state is changed. Initially, documents must have their <code title=dom-document-designMode><a href=#designMode>designMode</a></code> disabled.</p>
+ </div>
- <dt id=contenteditable-br>Insert a line separator</dt>
- <dd><p>UAs should offer a way for the user to request an explicit
- line break at the caret position without breaking the paragraph,
- e.g. as the default action of a <code title=event-keydown>keydown</code> event whose identifier is the
- "Enter" key and that has a shift modifier set. Line separators are
- typically found within a poem verse or an address. To insert a line
- break, the user agent must insert a <code><a href=#the-br-element>br</a></code> element.</p>
- <p>If the caret is positioned somewhere where <a href=#phrasing-content>phrasing
- content</a> is not allowed (e.g. in an empty <code><a href=#the-ol-element>ol</a></code>
- element), then the user agent must not insert the <code><a href=#the-br-element>br</a></code>
- element directly at the caret position. In such cases the behavior
- is UA-dependent, but user agents must not, in response to a request
- to insert a line separator, generate a DOM that is less conformant
- than the DOM prior to the request.</dd>
+ <div class=impl>
+ <h4 id=user-editing-actions><span class=secno>8.5.3 </span>User editing actions</h4>
- <dt id=contenteditable-delete>Delete</dt>
+ <p class=XXX>This section will be removed shortly. What remains
+ here is simply what has not yet been merged into Aryeh's spec.</p>
- <dd><p>UAs should offer a way for the user to delete text and
- elements, including non-editable descendants, e.g. as the default
- action of <code title=event-keydown>keydown</code> events whose
- identifiers are "U+0008" or "U+007F".</p>
+ <p>There are several actions that the user agent should allow the
+ user to perform while the user is interacting with an editing
+ host. How exactly each action is triggered is not defined for every
+ action, but when it is not defined, suggested key bindings are
+ provided to guide implementors.</p>
- <p>Five edge cases in particular need to be considered carefully
- when implementing this feature: backspacing at the start of an
- element, backspacing when the caret is immediately after an
- element, forward-deleting at the end of an element,
- forward-deleting when the caret is immediately before an element,
- and deleting a selection whose start and end points do not share a
- common parent node.</p>
-
- <p>In any case, the exact behavior is UA-dependent, but user
- agents must not, in response to a request to delete text or an
- element, generate a DOM that is less conformant than the DOM prior
- to the request.</dd>
-
-
- <dt id=contenteditable-wrapSemantic>Insert, and wrap text in,
+ <dl><dt id=contenteditable-wrapSemantic>Insert, and wrap text in,
semantic elements</dt>
<dd><p>UAs should offer the user the ability to mark text and
@@ -72071,69 +71974,44 @@
attribute. (Updating the <code title="">default*</code> IDL
attributes causes content attributes to be updated as well.)</dd>
- </dl><p>User agents may perform several commands per user request; for
- example if the user selects a block of text and hits
- <kbd><kbd>Enter</kbd></kbd>, the UA might interpret that as a
- request to delete the content of the selection followed by a request
- to break the paragraph at that position.</p>
+ </dl><p>User agents may add DOM changes to the <a href=#undo-transaction-history>undo transaction
+ history</a> of the <a href=#editing-host>editing host</a>'s
+ <code><a href=#document>Document</a></code> object each time an action is triggered.</p>
- <p>User agents may add <span>DOM changes</span> entries to the
- <span>undo transaction history</span> of the <a href=#editing-host>editing
- host</a>'s <code><a href=#document>Document</a></code> object each time an action is
- triggered.</p>
-
- <p>All of the actions defined above, whether triggered by the user
- or programmatically (e.g. by <code title=dom-document-execCommand><a href=#execCommand>execCommand()</a></code> commands),
- must fire mutation events as appropriate.</p>
-
</div>
+ <h4 id=editing-apis><span class=secno>8.5.4 </span>Editing APIs</h4>
- <h4 id=making-entire-documents-editable><span class=secno>8.5.2 </span>Making entire documents editable</h4>
+ <p>The definition of the terms <dfn id=active-range>active range</dfn>, <dfn id=editing-host>editing
+ host</dfn>, and <dfn id=editable>editable</dfn>, the user interface requirements
+ of elements that are <a href=#editing-host title="editing host">editing hosts</a>
+ or <a href=#editable>editable</a>, and the
- <div class=impl>
+ <dfn id=execCommand title=dom-document-execCommand><code>execCommand()</code></dfn>,
+ <dfn id=dom-document-querycommandenabled title=dom-document-queryCommandEnabled><code>queryCommandEnabled()</code></dfn>,
+ <dfn id=dom-document-querycommandindeterm title=dom-document-queryCommandIndeterm><code>queryCommandIndeterm()</code></dfn>,
+ <dfn id=dom-document-querycommandstate title=dom-document-queryCommandState><code>queryCommandState()</code></dfn>,
+ <dfn id=dom-document-querycommandsupported title=dom-document-queryCommandSupported><code>queryCommandSupported()</code></dfn>, and
+ <dfn id=dom-document-querycommandvalue title=dom-document-queryCommandValue><code>queryCommandValue()</code></dfn>
- <p>Documents have a <dfn id=designMode title=dom-document-designMode><code>designMode</code></dfn>, which
- can be either enabled or disabled.</p>
+ methods are defined in the HTML Editing APIs specification. Text
+ selections are defined in the DOM Range specification. The
+ interaction of editing and the undo/redo features in user agents is
+ defined by the UndoManager and DOM Transaction specification. <a href=#refsEDITING>[EDITING]</a> <a href=#refsDOMRANGE>[DOMRANGE]</a> <a href=#refsUNDO>[UNDO]</a></p>
- </div>
+ <p class=XXX>Need to decide what to do with the <dfn id=formatblock-candidate><code title="">formatBlock</code> candidate</dfn> category.</p>
- <dl class=domintro><dt><var title="">document</var> . <code title=dom-document-designMode><a href=#designMode>designMode</a></code> [ = <var title="">value</var> ]</dt>
+ <p class=XXX><dfn id=undo-transaction-history>undo transaction history</dfn> is currently
+ defined in <a href=#refsUNDO>[UNDO]</a> but this spec hasn't been
+ updated to make sense with the new definition</p>
- <dd>
+ <!-- those might get merged in here eventually -->
- <p>Returns "<code title="">on</code>" if the document is editable,
- and "<code title="">off</code>" if it isn't.</p>
- <p>Can be set, to change the document's current state.</p>
- </dd>
+ <h4 id=spelling-and-grammar-checking><span class=secno>8.5.5 </span>Spelling and grammar checking</h4>
- </dl><div class=impl>
-
- <p>The <code title=dom-document-designMode><a href=#designMode>designMode</a></code> IDL
- attribute on the <code><a href=#document>Document</a></code> object takes two values,
- "<code title="">on</code>" and "<code title="">off</code>". When it
- is set, the new value must be compared in an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> manner to these two values. If it matches
- the "<code title="">on</code>" value, then <code title=dom-document-designMode><a href=#designMode>designMode</a></code> must be enabled,
- and if it matches the "<code title="">off</code>" value, then <code title=dom-document-designMode><a href=#designMode>designMode</a></code> must be
- disabled. Other values must be ignored.</p>
-
- <p>When <code title=dom-document-designMode><a href=#designMode>designMode</a></code> is
- enabled, the IDL attribute must return the value "<code title="">on</code>", and when it is disabled, it must return the
- value "<code title="">off</code>".</p>
-
- <p>The last state set must persist until the document is destroyed
- or the state is changed. Initially, documents must have their <code title=dom-document-designMode><a href=#designMode>designMode</a></code> disabled.</p>
-
- </div>
-
-
-
- <h3 id=spelling-and-grammar-checking><span class=secno>8.6 </span>Spelling and grammar checking</h3>
-
<div class=impl>
<p>User agents can support the checking of spelling and grammar of
@@ -72228,7 +72106,8 @@
that are not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a>.</li>
<li>Text in <a href=#text-node title="text node">text nodes</a> that are
- children of <a href=#editable>editable</a> elements.</li>
+ children of <a href=#editing-host title="editing host">editing hosts</a> or
+ <a href=#editable>editable</a> elements.</li>
<li>Text in attributes of <a href=#editable>editable</a> elements.</li>
@@ -72324,7 +72203,7 @@
the checking is enabled, or could use other interfaces.</p>
- <h3 id=dnd><span class=secno>8.7 </span><dfn>Drag and drop</dfn></h3>
+ <h3 id=dnd><span class=secno>8.6 </span><dfn>Drag and drop</dfn></h3>
<!-- v2: ideas for drag and drop:
@@ -72426,7 +72305,7 @@
</div>
- <h4 id=introduction-9><span class=secno>8.7.1 </span>Introduction</h4>
+ <h4 id=introduction-9><span class=secno>8.6.1 </span>Introduction</h4>
<p><i>This section is non-normative.</i></p>
@@ -72529,7 +72408,7 @@
- <h4 id=the-drag-data-store><span class=secno>8.7.2 </span>The drag data store</h4>
+ <h4 id=the-drag-data-store><span class=secno>8.6.2 </span>The drag data store</h4>
<p>The data that underlies a drag-and-drop operation, known as the
<dfn id=drag-data-store>drag data store</dfn>, consists of the following information:</p>
@@ -72674,7 +72553,7 @@
store allowed effects state</a> is the string "<code title="">uninitialized</code>".</p>
- <h4 id=the-datatransfer-interface><span class=secno>8.7.3 </span>The <code><a href=#datatransfer>DataTransfer</a></code> interface</h4>
+ <h4 id=the-datatransfer-interface><span class=secno>8.6.3 </span>The <code><a href=#datatransfer>DataTransfer</a></code> interface</h4>
<p><code><a href=#datatransfer>DataTransfer</a></code> objects are used to expose the
<a href=#drag-data-store>drag data store</a> that underlies a drag-and-drop
@@ -73051,7 +72930,7 @@
</div>
- <h5 id=the-datatransferitemlist-interface><span class=secno>8.7.3.1 </span>The <code><a href=#datatransferitemlist>DataTransferItemList</a></code> interface</h5>
+ <h5 id=the-datatransferitemlist-interface><span class=secno>8.6.3.1 </span>The <code><a href=#datatransferitemlist>DataTransferItemList</a></code> interface</h5>
<p>Each <code><a href=#datatransfer>DataTransfer</a></code> object is associated with a
<code><a href=#datatransferitemlist>DataTransferItemList</a></code> object.</p>
@@ -73260,7 +73139,7 @@
</ol></div>
- <h5 id=the-datatransferitem-interface><span class=secno>8.7.3.2 </span>The <code><a href=#datatransferitem>DataTransferItem</a></code> interface</h5>
+ <h5 id=the-datatransferitem-interface><span class=secno>8.6.3.2 </span>The <code><a href=#datatransferitem>DataTransferItem</a></code> interface</h5>
<p>Each <code><a href=#datatransferitem>DataTransferItem</a></code> object is associated with a
<code><a href=#datatransfer>DataTransfer</a></code> object.</p>
@@ -73488,7 +73367,7 @@
- <h4 id=the-dragevent-interface><span class=secno>8.7.4 </span>The <code><a href=#dragevent>DragEvent</a></code> interface</h4>
+ <h4 id=the-dragevent-interface><span class=secno>8.6.4 </span>The <code><a href=#dragevent>DragEvent</a></code> interface</h4>
<p>The drag-and-drop processing model involves several events. They
all use the <code><a href=#dragevent>DragEvent</a></code> interface.</p>
@@ -73615,7 +73494,7 @@
<div class=impl>
- <h4 id=drag-and-drop-processing-model><span class=secno>8.7.5 </span>Drag-and-drop processing model</h4>
+ <h4 id=drag-and-drop-processing-model><span class=secno>8.6.5 </span>Drag-and-drop processing model</h4>
<p>When the user attempts to begin a drag operation, the user agent
must run the following steps. User agents must act as if these steps
@@ -73874,10 +73753,11 @@
</ol><p>From the moment that the user agent is to <dfn id=initiate-the-drag-and-drop-operation>initiate the
drag-and-drop operation</dfn>, until the end of the drag-and-drop
operation, device input events (e.g. mouse and keyboard events) must
- be suppressed. In addition, the user agent must track all DOM
- changes made during the drag-and-drop operation, and add them to its
- <span>undo transaction history</span> as one atomic operation once
- the drag-and-drop operation has ended.</p>
+ be suppressed. <span class=XXX>In addition, the user agent must
+ track all DOM changes made during the drag-and-drop operation, and
+ add them to its <a href=#undo-transaction-history>undo transaction history</a> as one atomic
+ operation once the drag-and-drop operation has ended.</span></p>
+ <!-- need to update this to new UndoManager code -->
<p>During the drag operation, the element directly indicated by the
user as the drop target is called the <dfn id=immediate-user-selection>immediate user
@@ -73971,10 +73851,11 @@
field (e.g. <code><a href=#the-textarea-element>textarea</a></code>, or an <code><a href=#the-input-element>input</a></code>
element whose <code title=attr-input-type><a href=#attr-input-type>type</a></code>
attribute is in the <a href=#text-state-and-search-state title=attr-input-type-text>Text</a> state) or an
- <a href=#editable>editable</a> element, and the <a href=#drag-data-store-item-list>drag data store
- item list</a> has an item with <a href=#the-drag-data-item-type-string>the drag data item
- type string</a> "<code>text/plain</code>" and <a href=#the-drag-data-item-kind>the
- drag data item kind</a> <i>Plain Unicode string</i></dt>
+ <a href=#editing-host>editing host</a> or <a href=#editable>editable</a> element,
+ and the <a href=#drag-data-store-item-list>drag data store item list</a> has an item
+ with <a href=#the-drag-data-item-type-string>the drag data item type string</a>
+ "<code>text/plain</code>" and <a href=#the-drag-data-item-kind>the drag data item
+ kind</a> <i>Plain Unicode string</i></dt>
<dd><p>Set the <a href=#current-target-element>current target element</a> to the
<a href=#immediate-user-selection>immediate user selection</a> anyway.</dd>
@@ -74040,10 +73921,11 @@
(e.g. <code><a href=#the-textarea-element>textarea</a></code>, or an <code><a href=#the-input-element>input</a></code> element
whose <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in
the <a href=#text-state-and-search-state title=attr-input-type-text>Text</a> state) or an
- <a href=#editable>editable</a> element, and the <a href=#drag-data-store-item-list>drag data store
- item list</a> has an item with <a href=#the-drag-data-item-type-string>the drag data item type
- string</a> "<code>text/plain</code>" and <a href=#the-drag-data-item-kind>the drag data
- item kind</a> <i>Plain Unicode string</i></dt>
+ <a href=#editing-host>editing host</a> or <a href=#editable>editable</a> element, and
+ the <a href=#drag-data-store-item-list>drag data store item list</a> has an item with
+ <a href=#the-drag-data-item-type-string>the drag data item type string</a>
+ "<code>text/plain</code>" and <a href=#the-drag-data-item-kind>the drag data item
+ kind</a> <i>Plain Unicode string</i></dt>
<dd><p>Set the <a href=#current-drag-operation>current drag operation</a> to either
"<code title="">copy</code>" or "<code title="">move</code>",
@@ -74174,19 +74056,20 @@
field (e.g. <code><a href=#the-textarea-element>textarea</a></code>, or an <code><a href=#the-input-element>input</a></code>
element whose <code title=attr-input-type><a href=#attr-input-type>type</a></code>
attribute is in the <a href=#text-state-and-search-state title=attr-input-type-text>Text</a> state) or an
- <a href=#editable>editable</a> element, and the <a href=#drag-data-store-item-list>drag data store
- item list</a> has an item with <a href=#the-drag-data-item-type-string>the drag data item
- type string</a> "<code>text/plain</code>" and <a href=#the-drag-data-item-kind>the
- drag data item kind</a> <i>Plain Unicode string</i></dt>
+ <a href=#editing-host>editing host</a> or <a href=#editable>editable</a> element,
+ and the <a href=#drag-data-store-item-list>drag data store item list</a> has an item
+ with <a href=#the-drag-data-item-type-string>the drag data item type string</a>
+ "<code>text/plain</code>" and <a href=#the-drag-data-item-kind>the drag data item
+ kind</a> <i>Plain Unicode string</i></dt>
<dd><p>Insert the actual data of the first item in the
<a href=#drag-data-store-item-list>drag data store item list</a> to have <a href=#the-drag-data-item-type-string title="the drag data item type string">a drag data item type
string</a> of "<code>text/plain</code>" and <a href=#the-drag-data-item-kind title="the drag data item kind">a drag data item kind</a>
that is <i>Plain Unicode string</i> into the text field or
- <a href=#editable>editable</a> element in a manner consistent with
- platform-specific conventions (e.g. inserting it at the
- current mouse cursor position, or inserting it at the end of
- the field).</dd>
+ <a href=#editing-host>editing host</a> or <a href=#editable>editable</a> element in
+ a manner consistent with platform-specific conventions (e.g.
+ inserting it at the current mouse cursor position, or
+ inserting it at the end of the field).</dd>
<dt>Otherwise</dt>
@@ -74257,7 +74140,7 @@
</div>
- <h4 id=dndevents><span class=secno>8.7.6 </span>Events summary</h4>
+ <h4 id=dndevents><span class=secno>8.6.6 </span>Events summary</h4>
<p><i>This section is non-normative.</i></p>
@@ -74336,7 +74219,7 @@
- <h4 id=the-draggable-attribute><span class=secno>8.7.7 </span>The <dfn title=attr-draggable><code>draggable</code></dfn> attribute</h4>
+ <h4 id=the-draggable-attribute><span class=secno>8.6.7 </span>The <dfn title=attr-draggable><code>draggable</code></dfn> attribute</h4>
<p>All <a href=#html-elements>HTML elements</a> may have the <code title=attr-draggable><a href=#the-draggable-attribute>draggable</a></code> content attribute set. The
<code title=attr-draggable><a href=#the-draggable-attribute>draggable</a></code> attribute is an
@@ -74395,7 +74278,7 @@
</div>
- <h4 id=the-dropzone-attribute><span class=secno>8.7.8 </span>The <dfn title=attr-dropzone><code>dropzone</code></dfn> attribute</h4>
+ <h4 id=the-dropzone-attribute><span class=secno>8.6.8 </span>The <dfn title=attr-dropzone><code>dropzone</code></dfn> attribute</h4>
<p>All <a href=#html-elements>HTML elements</a> may have the <code title=attr-dropzone><a href=#the-dropzone-attribute>dropzone</a></code> content attribute set. When
specified, its value must be an <a href=#unordered-set-of-unique-space-separated-tokens>unordered set of unique
@@ -74721,7 +74604,7 @@
<div class=impl>
- <h4 id=security-risks-in-the-drag-and-drop-model><span class=secno>8.7.9 </span>Security risks in the drag-and-drop model</h4>
+ <h4 id=security-risks-in-the-drag-and-drop-model><span class=secno>8.6.9 </span>Security risks in the drag-and-drop model</h4>
<p>User agents must not make the data added to the
<code><a href=#datatransfer>DataTransfer</a></code> object during the <code title=event-dragstart><a href=#event-dragstart>dragstart</a></code> event available to scripts
@@ -74749,7 +74632,7 @@
<!--FIND-->
- <h3 id=text-search-apis><span class=secno>8.8 </span>Text search APIs</h3> <!-- window.find() -->
+ <h3 id=text-search-apis><span class=secno>8.7 </span>Text search APIs</h3> <!-- window.find() -->
<p class=critical>This legacy API is not very interoperably
implemented, and has a number of design problems (such as having six
@@ -74806,461 +74689,9 @@
- <h3 id=editing-apis><span class=secno>8.9 </span>Editing APIs</h3>
+<!--PEERCONNECTION-->
+<div data-component="other Hixie drafts (editor: Ian Hickson)">
- <dl class=domintro><dt><var title="">document</var> . <code title=dom-document-execCommand><a href=#execCommand>execCommand</a></code>(<var title="">commandId</var> [, <var title="">showUI</var> [, <var title="">value</var> ] ] )</dt>
-
- <dd>
-
- <p>Runs the action specified by the first argument, as described
- in the list below. The second and third arguments sometimes affect
- the action. (If they don't they are ignored.)</p>
-
- </dd>
-
- <dt><var title="">document</var> . <code title=dom-document-queryCommandEnabled><a href=#dom-document-querycommandenabled>queryCommandEnabled</a></code>(<var title="">commandId</var>)</dt>
-
- <dd>
-
- <p>Returns whether the given command is enabled, as described in the list below.</p>
-
- </dd>
-
- <dt><var title="">document</var> . <code title=dom-document-queryCommandIndeterm><a href=#dom-document-querycommandindeterm>queryCommandIndeterm</a></code>(<var title="">commandId</var>)</dt>
-
- <dd>
-
- <p>Returns whether the given command is indeterminate, as described in the list below.</p>
-
- </dd>
-
- <dt><var title="">document</var> . <code title=dom-document-queryCommandState><a href=#dom-document-querycommandstate>queryCommandState</a></code>(<var title="">commandId</var>)</dt>
-
- <dd>
-
- <p>Returns the state of the command, as described in the list below.</p>
-
- </dd>
-
- <dt><var title="">document</var> . <code title=dom-document-queryCommandSupported><a href=#dom-document-querycommandsupported>queryCommandSupported</a></code>(<var title="">commandId</var>)</dt>
-
- <dd>
-
- <p>Returns true if the command is supported; otherwise, returns false.</p>
-
- </dd>
-
- <dt><var title="">document</var> . <code title=dom-document-queryCommandValue><a href=#dom-document-querycommandvalue>queryCommandValue</a></code>(<var title="">commandId</var>)</dt>
-
- <dd>
-
- <p>Returns the value of the command, as described in the list below.</p>
-
- </dd>
-
- </dl><div class=impl>
-
- <p>The <dfn id=execCommand title=dom-document-execCommand><code>execCommand(<var title="">commandId</var>, <var title="">showUI</var>, <var title="">value</var>)</code></dfn> method on the
- <code><a href=#htmldocument>HTMLDocument</a></code> interface allows scripts to perform
- actions on the current selection or at the current caret position.
- Generally, these commands would be used to implement editor UI, for
- example having a "delete" button on a toolbar.</p>
-
- <p>There are three variants to this method, with one, two, and three
- arguments respectively. The <var title="">showUI</var> and <var title="">value</var> parameters, even if specified, are ignored
- except where otherwise stated.</p>
-
- <p>When <code title=dom-document-execCommand><a href=#execCommand>execCommand()</a></code>
- is invoked, the user agent must run the following steps:</p>
-
- <ol><li>If the given <var title="">commandId</var> maps to an entry in
- the list below whose "Enabled When" entry has a condition that is
- currently false, do nothing; abort these steps.</li>
-
- <li>Otherwise, execute the "Action" listed below for the given <var title="">commandId</var>.</li>
-
- </ol></div>
-
- <p>A document is <dfn id=ready-for-editing-host-commands>ready for editing host commands</dfn> if it
- has a selection that is entirely within an <a href=#editing-host>editing
- host</a>, or if it has no selection but its caret is inside an
- <a href=#editing-host>editing host</a>.</p>
-
- <div class=impl>
-
- <p>The <dfn id=dom-document-querycommandenabled title=dom-document-queryCommandEnabled><code>queryCommandEnabled(<var title="">commandId</var>)</code></dfn> method, when invoked, must
- return true if the condition listed below under "Enabled When" for
- the given <var title="">commandId</var> is true, and false
- otherwise.</p>
-
- <p>The <dfn id=dom-document-querycommandindeterm title=dom-document-queryCommandIndeterm><code>queryCommandIndeterm(<var title="">commandId</var>)</code></dfn> method, when invoked, must
- return true if the condition listed below under "Indeterminate When"
- for the given <var title="">commandId</var> is true, and false
- otherwise.</p>
-
- <p>The <dfn id=dom-document-querycommandstate title=dom-document-queryCommandState><code>queryCommandState(<var title="">commandId</var>)</code></dfn> method, when invoked, must
- return the value expressed below under "State" for the given <var title="">commandId</var>.</p>
-
- <p>The <dfn id=dom-document-querycommandsupported title=dom-document-queryCommandSupported><code>queryCommandSupported(<var title="">commandId</var>)</code></dfn> method, when invoked, must
- return true if the given <var title="">commandId</var> is in the
- list below, and false otherwise.</p>
-
- <p>The <dfn id=dom-document-querycommandvalue title=dom-document-queryCommandValue><code>queryCommandValue(<var title="">commandId</var>)</code></dfn> method, when invoked, must
- return the value expressed below under "Value" for the given <var title="">commandId</var>.</p>
-
- </div>
-
- <p>The possible values for <var title="">commandId</var>, and their
- corresponding meanings, are as follows. <span class=impl>These
- values must be compared to the argument in an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> manner.</span></p>
-
- <dl><dt><dfn id=command-bold title=command-bold><code>bold</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is bold.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <em><code><a href=#the-b-element>b</a></code></em> element (or, again,
- unwrapped, or have that semantic inserted or removed, as defined by
- the UA).</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: True if the selection, or the caret, if
- there is no selection, is, or is contained within, a
- <code><a href=#the-b-element>b</a></code> element. False otherwise.</dd>
- <dd><strong>Value</strong>: The string "<code title="">true</code>"
- if the expression given for the "State" above is true, the string
- "<code title="">false</code>" otherwise.</dd>
-
- <dt><dfn id=command-createlink title=command-createLink><code>createLink</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is a
- link or not. If the second argument is true, and a link is to be
- added, the user agent will ask the user for the address. Otherwise,
- the third argument will be used as the address.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <em><code><a href=#the-a-element>a</a></code></em> element (or, again,
- unwrapped, or have that semantic inserted or removed, as defined by
- the UA). If the user agent creates an <code><a href=#the-a-element>a</a></code> element or
- modifies an existing <code><a href=#the-a-element>a</a></code> element, then if the <var title="">showUI</var> argument is present and has the value false,
- then the value of the <var title="">value</var> argument must be
- used as the <a href=#url>URL</a> of the link. Otherwise, the user agent
- should prompt the user for the URL of the link.</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-delete title=command-delete><code>delete</code></dfn></dt>
- <dd><strong>Summary</strong>: Deletes the selection or the
- character before the cursor.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had performed <a href=#contenteditable-delete>a backspace
- operation</a>.</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-formatblock title=command-formatBlock><code>formatBlock</code></dfn></dt>
- <dd><strong>Summary</strong>: Wraps the selection in the element
- given by the third argument. If the third argument doesn't
- specify an element that is a <dfn id=formatblock-candidate><code title="">formatBlock</code>
- candidate</dfn>, does nothing.</dd>
- <dd class=impl>
- <p><strong>Action</strong>: The user agent must run the following
- steps:</p>
- <ol><li><p>If the <var title="">value</var> argument wasn't
- specified, abort these steps without doing anything.</li>
- <li><p>If the <var title="">value</var> argument has a leading
- U+003C LESS-THAN SIGN character (<) and a trailing U+003E
- GREATER-THAN SIGN character (>), then remove the first and last
- characters from <var title="">value</var>.</li>
- <li>
- <p>If <var title="">value</var> is (now) an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the tag name of an element
- defined by this specification that is defined to be a
- <a href=#formatblock-candidate><code title="">formatBlock</code> candidate</a>, then,
- for every position in the selection, take the nearest
- <a href=#formatblock-candidate><code title="">formatBlock</code> candidate</a>
- ancestor element of that position that contains only
- <a href=#phrasing-content>phrasing content</a>, and, if that element is
- <a href=#editable>editable</a>, is not an <a href=#editing-host>editing host</a>, and
- has a parent element whose content model allows that parent to
- contain any <a href=#flow-content>flow content</a>, replace it with an
- element in the HTML namespace whose name is <var title="">value</var>, and move all the children that were in it
- to the new element, and copy all the attributes that were on it
- to the new element.</p>
- <p>If there is no selection, then, where in the description
- above refers to the selection, the user agent must act as if the
- selection was an empty range (with just one position) at the
- caret position.</p>
- </li>
- </ol></dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-forwarddelete title=command-forwardDelete><code>forwardDelete</code></dfn></dt>
- <dd><strong>Summary</strong>: Deletes the selection or the
- character after the cursor.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had performed <a href=#contenteditable-delete>a forward delete
- operation</a>.</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-insertimage title=command-insertImage><code>insertImage</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is an
- image or not. If the second argument is true, and an image is to be
- added, the user agent will ask the user for the address. Otherwise,
- the third argument will be used as the address.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act
- as if the user had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <em><code><a href=#the-img-element>img</a></code></em> element (or, again,
- unwrapped, or have that semantic inserted or removed, as defined by
- the UA). If the user agent creates an <code><a href=#the-img-element>img</a></code> element or
- modifies an existing <code><a href=#the-img-element>img</a></code> element, then if the <var title="">showUI</var> argument is present and has the value false,
- then the value of the <var title="">value</var> argument must be
- used as the <a href=#url>URL</a> of the image. Otherwise, the user
- agent should prompt the user for the URL of the image.</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-inserthtml title=command-insertHTML><code>insertHTML</code></dfn></dt>
- <dd><strong>Summary</strong>: Replaces the selection with the value
- of the third argument parsed as HTML.</dd>
- <dd class=impl>
- <p><strong>Action</strong>: The user agent must run the following
- steps:</p>
- <ol><li><p>If the document is an <a href=#xml-documents title="XML documents">XML
- document</a>, then throw an <code><a href=#invalid_access_err>INVALID_ACCESS_ERR</a></code>
- exception and abort these steps.</li><!-- v2 support XML? -->
- <li><p>If the <var title="">value</var> argument wasn't
- specified, abort these steps without doing anything.</li>
- <li><p>If there is a selection, act as if the user had requested
- that <a href=#contenteditable-delete>the selection be
- deleted</a>.</li>
- <li><p>Invoke the <a href=#html-fragment-parsing-algorithm>HTML fragment parsing algorithm</a>
- with an arbitrary orphan <code><a href=#the-body-element>body</a></code> element owned by the
- same <code><a href=#document>Document</a></code> as the <i title="">context</i> element
- and with the <var title="">value</var> argument as <i title="">input</i>.</li>
- <li><p>Insert the nodes returned by the previous step into the
- document at the location of the caret, firing any mutation events
- as appropriate.</li>
- </ol></dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-insertlinebreak title=command-insertLineBreak><code>insertLineBreak</code></dfn></dt>
- <dd><strong>Summary</strong>: Inserts a line break.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had <a href=#contenteditable-br>requested a line
- separator</a>.</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-insertorderedlist title=command-insertOrderedList><code>insertOrderedList</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is an ordered list.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <code><a href=#the-ol-element>ol</a></code> element (or unwrapped, or, if
- there is no selection, have that semantic inserted or removed
- — the exact behavior is UA-defined).</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-insertunorderedlist title=command-insertUnorderedList><code>insertUnorderedList</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is an unordered list.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <code><a href=#the-ul-element>ul</a></code> element (or unwrapped, or, if
- there is no selection, have that semantic inserted or removed
- — the exact behavior is UA-defined).</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-insertparagraph title=command-insertParagraph><code>insertParagraph</code></dfn></dt>
- <dd><strong>Summary</strong>: Inserts a paragraph break.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had performed a <a href=#contenteditable-breakBlock>break
- block</a> editing action.</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-inserttext title=command-insertText><code>insertText</code></dfn></dt>
- <dd><strong>Summary</strong>: Inserts the text given in the third parameter.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had <a href=#contenteditable-insertText>inserted text</a>
- corresponding to the <var title="">value</var> parameter.</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-italic title=command-italic><code>italic</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is italic.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <em><code><a href=#the-i-element>i</a></code></em> element (or, again,
- unwrapped, or have that semantic inserted or removed, as defined by
- the UA).</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: True if the selection, or the caret, if
- there is no selection, is, or is contained within, a
- <code><a href=#the-i-element>i</a></code> element. False otherwise.</dd>
- <dd><strong>Value</strong>: The string "<code title="">true</code>"
- if the expression given for the "State" above is true, the string
- "<code title="">false</code>" otherwise.</dd>
-
- <dt><dfn id=command-redo title=command-redo><code>redo</code></dfn></dt>
- <dd><strong>Summary</strong>: Acts as if the user had requested a redo.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must <span title=do-redo>move forward one step</span> in its <span>undo
- transaction history</span>, restoring the associated state. If the
- <span>undo position</span> is at the end of the <span>undo
- transaction history</span>, the user agent must do nothing.
- </dd>
- <dd><strong>Enabled When</strong>: The <span>undo position</span>
- is not at the end of the <span>undo transaction
- history</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-selectall title=command-selectAll><code>selectAll</code></dfn></dt>
- <dd><strong>Summary</strong>: Selects all the editable content.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must change the
- selection so that all the content in the currently focused
- <a href=#editing-host>editing host</a> is selected. If no <a href=#editing-host>editing
- host</a> is focused, then the content of the entire document
- must be selected.</dd>
- <dd><strong>Enabled When</strong>: Always.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-subscript title=command-subscript><code>subscript</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is subscripted.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <em><code><a href=#the-sub-and-sup-elements>sub</a></code></em> element (or, again,
- unwrapped, or have that semantic inserted or removed, as defined by
- the UA).</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: True if the selection, or the caret, if
- there is no selection, is, or is contained within, a
- <code><a href=#the-sub-and-sup-elements>sub</a></code> element. False otherwise.</dd>
- <dd><strong>Value</strong>: The string "<code title="">true</code>"
- if the expression given for the "State" above is true, the string
- "<code title="">false</code>" otherwise.</dd>
-
- <dt><dfn id=command-superscript title=command-superscript><code>superscript</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is superscripted.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a href=#contenteditable-wrapSemantic>be wrapped in the
- semantics</a> of the <code><a href=#the-sub-and-sup-elements>sup</a></code> element (or unwrapped, or, if
- there is no selection, have that semantic inserted or removed
- — the exact behavior is UA-defined).</dd>
- <dd><strong>Enabled When</strong>: The document is <a href=#ready-for-editing-host-commands>ready for
- editing host commands</a>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: True if the selection, or the caret, if
- there is no selection, is, or is contained within, a
- <code><a href=#the-sub-and-sup-elements>sup</a></code> element. False otherwise.</dd>
- <dd><strong>Value</strong>: The string "<code title="">true</code>"
- if the expression given for the "State" above is true, the string
- "<code title="">false</code>" otherwise.</dd>
-
- <dt><dfn id=command-undo title=command-undo><code>undo</code></dfn></dt>
- <dd><strong>Summary</strong>: Acts as if the user had requested an undo.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must <span title=do-undo>move back one step</span> in its <span>undo
- transaction history</span>, restoring the associated state. If the
- <span>undo position</span> is at the start of the <span>undo
- transaction history</span>, the user agent must do nothing.
- </dd>
- <dd><strong>Enabled When</strong>: The <span>undo position</span>
- is not at the start of the <span>undo transaction
- history</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-unlink title=command-unlink><code>unlink</code></dfn></dt>
- <dd><strong>Summary</strong>: Removes all links from the selection.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must remove all
- <code><a href=#the-a-element>a</a></code> elements that have <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attributes and that are partially
- or completely included in the current selection.</dd>
- <dd><strong>Enabled When</strong>: The document has a selection
- that is entirely within an <a href=#editing-host>editing host</a> and that
- contains (either partially or completely) at least one
- <code><a href=#the-a-element>a</a></code> element that has an <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn id=command-unselect title=command-unselect><code>unselect</code></dfn></dt>
- <dd><strong>Summary</strong>: Unselects everything.</dd>
- <dd class=impl><strong>Action</strong>: The user agent must change the
- selection so that nothing is selected.</dd>
- <dd><strong>Enabled When</strong>: Always.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt class=impl><code><var title="">vendorID</var>-<var title="">customCommandID</var></code></dt>
- <dd class=impl><strong>Action</strong>: User agents may implement
- vendor-specific extensions to this API. Vendor-specific extensions
- to the list of commands should use the syntax <code><var title="">vendorID</var>-<var title="">customCommandID</var></code>
- so as to prevent clashes between extensions from different vendors
- and future additions to this specification.</dd>
- <dd class=impl><strong>Enabled When</strong>: UA-defined.</dd>
- <dd class=impl><strong>Indeterminate When</strong>: UA-defined.</dd>
- <dd class=impl><strong>State</strong>: UA-defined.</dd>
- <dd class=impl><strong>Value</strong>: UA-defined.</dd>
-
- <dt class=impl>Anything else</dt>
- <dd class=impl><strong>Action</strong>: User agents must do nothing.</dd>
- <dd class=impl><strong>Enabled When</strong>: Never.</dd>
- <dd class=impl><strong>Indeterminate When</strong>: Never.</dd>
- <dd class=impl><strong>State</strong>: Always false.</dd>
- <dd class=impl><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- </dl><!--
-v2 (well, really v0):
- "forecolor", "hilitecolor", "fontname", "fontsize", "justifyleft",
- "justifycenter", "justifyright", "justifyfull", "indent", "outdent"
---><!--PEERCONNECTION--><div data-component="other Hixie drafts (editor: Ian Hickson)">
-
<h2 id=video-conferencing-and-peer-to-peer-communication><span class=secno>9 </span>Video conferencing and peer-to-peer communication</h2>
<h3 id=introduction-10><span class=secno>9.1 </span>Introduction</h3>
@@ -91255,11 +90686,11 @@
<h4 id=editing-hosts><span class=secno>13.7.3 </span>Editing hosts</h4>
- <p>The current text editing caret (the one at the <a href=#caret-position>caret
- position</a> in a focused <a href=#editing-host>editing host</a>) is expected
- to act like an inline replaced element with the vertical dimensions
- of the caret and with zero width for the purposes of the CSS
- rendering model.</p>
+ <p>The current text editing caret (i.e. the <a href=#active-range>active
+ range</a>, if it is empty and in an <a href=#editing-host>editing host</a>),
+ if any, is expected to act like an inline replaced element with the
+ vertical dimensions of the caret and with zero width for the
+ purposes of the CSS rendering model.</p>
<p class=note>This means that even an empty block can have the
caret inside it, and that when the caret is in such an element, it
@@ -95289,7 +94720,7 @@
<td> <a href=#attribute-text>Text</a>*
<tr><th> <code title="">contenteditable</code>
<td> <a href=#attr-contenteditable title=attr-contenteditable>HTML elements</a>
- <td> Whether the element is <a href=#editable>editable</a>
+ <td> Whether the element is an editable
<td> "<code title="">true</code>"; "<code title="">false</code>"
<tr><th> <code title="">contextmenu</code>
<td> <a href=#attr-contextmenu title=attr-contextmenu>HTML elements</a>
@@ -96930,6 +96361,9 @@
<dd><cite><a href=http://www.ecma-international.org/publications/standards/Ecma-262.htm>ECMAScript
Language Specification</a></cite>. ECMA.</dd>
+ <dt id=refsEDITING>[EDITING]</dt>
+ <dd><cite><a href=http://aryeh.name/spec/editing/editing.html>HTML Editing APIs</a></cite>, A. Gregor.</dd>
+
<dt id=refsECMA357>[ECMA357]</dt>
<dd>(Non-normative) <cite><a href=http://www.ecma-international.org/publications/standards/Ecma-357.htm>ECMAScript
for XML (E4X) Specification</a></cite>. ECMA.</dd>
@@ -97330,6 +96764,9 @@
Guidelines (UAAG) 2.0</a></cite>, J. Allan, K. Ford, J. Richards,
J. Spellman. W3C.</dd>
+ <dt id=refsUNDO>[UNDO]</dt>
+ <dd><cite><a href=http://rniwa.com/editing/undomanager.html>UndoManager and DOM Transaction</a></cite>, R. Niwa.</dd>
+
<dt id=refsUNICODE>[UNICODE]</dt>
<dd><cite><a href=http://www.unicode.org/versions/>The Unicode Standard</a></cite>. Unicode Consortium.</dd>
Modified: source
===================================================================
--- source 2011-08-25 23:13:05 UTC (rev 6527)
+++ source 2011-08-26 00:43:00 UTC (rev 6528)
@@ -64303,7 +64303,8 @@
that are not <span
title="concept-fe-disabled">disabled</span></li>
- <li>elements that are <span>editable</span> and are neither
+ <li>elements that are <span title="editing host">editing
+ hosts</span> or <span>editable</span> and are neither
<code>input</code> elemenst nor <code>textarea</code>
elements</li>
@@ -81833,9 +81834,12 @@
- <h3 id="contenteditable">The <code
- title="attr-contenteditable">contenteditable</code> attribute</h3>
+ <h3>Editing</h3>
+ <h4 id="contenteditable">Making document regions editable: The <code
+ title="attr-contenteditable">contenteditable</code> content
+ attribute</h4>
+
<p>The <dfn
title="attr-contenteditable"><code>contenteditable</code></dfn>
attribute is an <span>enumerated attribute</span> whose keywords are
@@ -81852,41 +81856,6 @@
parent is. The <i>false</i> state indicates that the element is not
editable.</p>
- <div class="impl">
-
- <p>Specifically, if an <span title="HTML elements">HTML
- element</span> has a <code
- title="attr-contenteditable">contenteditable</code> attribute set to
- the true state, or it has its <code
- title="attr-contenteditable">contenteditable</code> attribute set to
- the inherit state and if its nearest ancestor <span title="HTML
- elements">HTML element</span> with the <code
- title="attr-contenteditable">contenteditable</code> attribute set to
- a state other than the inherit state has its attribute set to the
- true state, or if it and its ancestors all have their <code
- title="attr-contenteditable">contenteditable</code> attribute set to
- the inherit state but the <code>Document</code> has <code
- title="dom-document-designMode">designMode</code> enabled, then the
- UA must treat the element as <dfn>editable</dfn> (as described
- below).</p>
-
- <p>Otherwise, either the <span title="HTML elements">HTML
- element</span> has a <code
- title="attr-contenteditable">contenteditable</code> attribute set to
- the false state, or its <code
- title="attr-contenteditable">contenteditable</code> attribute is set
- to the inherit state and its nearest ancestor <span title="HTML
- elements">HTML element</span> with the <code
- title="attr-contenteditable">contenteditable</code> attribute set to
- a state other than the inherit state has its attribute set to the
- false state, or all its ancestors have their <code
- title="attr-contenteditable">contenteditable</code> attribute set to
- the inherit state and the <code>Document</code> itself has <code
- title="dom-document-designMode">designMode</code> disabled; either
- way, the element is not editable.</p>
-
- </div>
-
<dl class="domintro">
<dt><var title="">element</var> . <code title="dom-contentEditable">contentEditable</code> [ = <var title="">value</var> ]</dt>
@@ -81936,154 +81905,80 @@
<p>The <dfn
title="dom-isContentEditable"><code>isContentEditable</code></dfn>
- IDL attribute, on getting, must return true if the element is
- <span>editable</span>, and false otherwise.</p>
+ IDL attribute, on getting, must return true if the element is either
+ an <span>editing host</span> or <span>editable</span>, and false
+ otherwise.</p>
- <p>If an element is <span>editable</span> and its parent element is
- not, or if an element is <span>editable</span> and it has no parent
- element, then the element is an <dfn>editing host</dfn>. Editable
- elements can be nested. Editing hosts are typically focusable and
- typically form part of the <span title="attr-tabindex">tab
- order</span>. An editing host can contain non-editable sections,
- these are handled as described below. An editing host can contain
- non-editable sections that contain further editing hosts.</p>
-
- <p>When an editing host has focus, it must have a <dfn>caret
- position</dfn> that specifies where the current editing position is.
- It may also have a selection.</p>
-
- <p class="note">How the caret and selection are represented depends
- entirely on the UA.</p>
-
- <!-- v2: would be useful to have a way to mark an element as
- unremovable. -->
-
</div>
+ <h4>Making entire documents editable: The <code
+ title="dom-document-designMode">designMode</code> IDL attribute</h4>
+
<div class="impl">
- <h4>User editing actions</h4>
+ <p>Documents have a <dfn id="designMode"
+ title="dom-document-designMode"><code>designMode</code></dfn>, which
+ can be either enabled or disabled.</p>
- <p>There are several actions that the user agent should allow the
- user to perform while the user is interacting with an editing
- host. How exactly each action is triggered is not defined for every
- action, but when it is not defined, suggested key bindings are
- provided to guide implementors.</p>
+ </div>
- <dl>
+ <dl class="domintro">
- <dt>Move the caret</dt>
+ <dt><var title="">document</var> . <code title="dom-document-designMode">designMode</code> [ = <var title="">value</var> ]</dt>
- <dd><p>User agents must allow users to move the caret to any
- position within an editing host, even into nested editable
- elements. This could be triggered as the default action of <code
- title="event-keydown">keydown</code> events with various key
- identifiers and as the default action of <code
- title="event-mousedown">mousedown</code> events.</p></dd>
+ <dd>
+ <p>Returns "<code title="">on</code>" if the document is editable,
+ and "<code title="">off</code>" if it isn't.</p>
- <dt>Change the selection</dt>
+ <p>Can be set, to change the document's current state.</p>
- <dd><p>User agents must allow users to change the selection within
- an editing host, even into nested editable elements. User agents
- may prevent selections from being made in ways that cross from
- editable elements into non-editable elements (e.g. by making each
- non-editable descendant atomically selectable, but not allowing
- text selection within them). This could be triggered as the default
- action of <code title="event-keydown">keydown</code> events with
- various key identifiers and as the default action of <code
- title="event-mousedown">mousedown</code> events.</p></dd>
-
-
- <dt id="contenteditable-insertText">Insert text</dt>
-
- <dd><p>This action must be triggered as the default action of a
- <code title="event-textInput">textInput</code> event, and may be
- triggered by other commands as well. It must cause the user agent
- to insert the specified text (given by the event object's <code
- title="">data</code> attribute in the case of the <code
- title="event-textInput">textInput</code> event) at the caret.</p>
-
- <p>If the caret is positioned somewhere where <span>phrasing
- content</span> is not allowed (e.g. inside an empty <code>ol</code>
- element), then the user agent must not insert the text directly at
- the caret position. In such cases the behavior is UA-dependent,
- but user agents must not, in response to a request to insert text,
- generate a DOM that is less conformant than the DOM prior to the
- request.</p>
-
- <p>User agents should allow users to insert new paragraphs into
- elements that contains only content other than paragraphs.</p>
-
- <div class="example">
- <p>For example, given the markup:</p>
- <pre><section>
- <dl>
- <dt> Ben </dt>
- <dd> Goat </dd>
- </dl>
-</section></pre>
- <p>...the user agent should allow the user to insert
- <code>p</code> elements before and after the <code>dl</code>
- element, as children of the <code>section</code> element.</p>
- </div>
-
</dd>
+ </dl>
- <dt id="contenteditable-breakBlock">Break block</dt>
+ <div class="impl">
- <dd><p>UAs should offer a way for the user to request that the
- current paragraph be broken at the caret, e.g. as the default
- action of a <code title="event-keydown">keydown</code> event whose
- identifier is the "Enter" key and that has no modifiers set.</p>
+ <p>The <code title="dom-document-designMode">designMode</code> IDL
+ attribute on the <code>Document</code> object takes two values,
+ "<code title="">on</code>" and "<code title="">off</code>". When it
+ is set, the new value must be compared in an <span>ASCII
+ case-insensitive</span> manner to these two values. If it matches
+ the "<code title="">on</code>" value, then <code
+ title="dom-document-designMode">designMode</code> must be enabled,
+ and if it matches the "<code title="">off</code>" value, then <code
+ title="dom-document-designMode">designMode</code> must be
+ disabled. Other values must be ignored.</p>
- <p>The exact behavior is UA-dependent, but user agents must not,
- in response to a request to break a paragraph, generate a DOM that
- is less conformant than the DOM prior to the request.</p></dd>
+ <p>When <code title="dom-document-designMode">designMode</code> is
+ enabled, the IDL attribute must return the value "<code
+ title="">on</code>", and when it is disabled, it must return the
+ value "<code title="">off</code>".</p>
+ <p>The last state set must persist until the document is destroyed
+ or the state is changed. Initially, documents must have their <code
+ title="dom-document-designMode">designMode</code> disabled.</p>
- <dt id="contenteditable-br">Insert a line separator</dt>
+ </div>
- <dd><p>UAs should offer a way for the user to request an explicit
- line break at the caret position without breaking the paragraph,
- e.g. as the default action of a <code
- title="event-keydown">keydown</code> event whose identifier is the
- "Enter" key and that has a shift modifier set. Line separators are
- typically found within a poem verse or an address. To insert a line
- break, the user agent must insert a <code>br</code> element.</p>
- <p>If the caret is positioned somewhere where <span>phrasing
- content</span> is not allowed (e.g. in an empty <code>ol</code>
- element), then the user agent must not insert the <code>br</code>
- element directly at the caret position. In such cases the behavior
- is UA-dependent, but user agents must not, in response to a request
- to insert a line separator, generate a DOM that is less conformant
- than the DOM prior to the request.</p></dd>
+ <div class="impl">
- <dt id="contenteditable-delete">Delete</dt>
+ <h4>User editing actions</h4>
- <dd><p>UAs should offer a way for the user to delete text and
- elements, including non-editable descendants, e.g. as the default
- action of <code title="event-keydown">keydown</code> events whose
- identifiers are "U+0008" or "U+007F".</p>
+ <p class="XXX">This section will be removed shortly. What remains
+ here is simply what has not yet been merged into Aryeh's spec.</p>
- <p>Five edge cases in particular need to be considered carefully
- when implementing this feature: backspacing at the start of an
- element, backspacing when the caret is immediately after an
- element, forward-deleting at the end of an element,
- forward-deleting when the caret is immediately before an element,
- and deleting a selection whose start and end points do not share a
- common parent node.</p>
+ <p>There are several actions that the user agent should allow the
+ user to perform while the user is interacting with an editing
+ host. How exactly each action is triggered is not defined for every
+ action, but when it is not defined, suggested key bindings are
+ provided to guide implementors.</p>
- <p>In any case, the exact behavior is UA-dependent, but user
- agents must not, in response to a request to delete text or an
- element, generate a DOM that is less conformant than the DOM prior
- to the request.</p></dd>
+ <dl>
-
<dt id="contenteditable-wrapSemantic">Insert, and wrap text in,
semantic elements</dt>
@@ -82147,81 +82042,50 @@
</dl>
- <p>User agents may perform several commands per user request; for
- example if the user selects a block of text and hits
- <kbd><kbd>Enter</kbd></kbd>, the UA might interpret that as a
- request to delete the content of the selection followed by a request
- to break the paragraph at that position.</p>
+ <p>User agents may add DOM changes to the <span>undo transaction
+ history</span> of the <span>editing host</span>'s
+ <code>Document</code> object each time an action is triggered.</p>
- <p>User agents may add <span>DOM changes</span> entries to the
- <span>undo transaction history</span> of the <span>editing
- host</span>'s <code>Document</code> object each time an action is
- triggered.</p>
-
- <p>All of the actions defined above, whether triggered by the user
- or programmatically (e.g. by <code
- title="dom-document-execCommand">execCommand()</code> commands),
- must fire mutation events as appropriate.</p>
-
</div>
+ <h4>Editing APIs</h4>
- <h4>Making entire documents editable</h4>
+ <p>The definition of the terms <dfn>active range</dfn>, <dfn>editing
+ host</dfn>, and <dfn>editable</dfn>, the user interface requirements
+ of elements that are <span title="editing host">editing hosts</span>
+ or <span>editable</span>, and the
- <div class="impl">
+ <dfn title="dom-document-execCommand" id="execCommand"><code>execCommand()</code></dfn>,
+ <dfn title="dom-document-queryCommandEnabled"><code>queryCommandEnabled()</code></dfn>,
+ <dfn title="dom-document-queryCommandIndeterm"><code>queryCommandIndeterm()</code></dfn>,
+ <dfn title="dom-document-queryCommandState"><code>queryCommandState()</code></dfn>,
+ <dfn title="dom-document-queryCommandSupported"><code>queryCommandSupported()</code></dfn>, and
+ <dfn title="dom-document-queryCommandValue"><code>queryCommandValue()</code></dfn>
- <p>Documents have a <dfn id="designMode"
- title="dom-document-designMode"><code>designMode</code></dfn>, which
- can be either enabled or disabled.</p>
+ methods are defined in the HTML Editing APIs specification. Text
+ selections are defined in the DOM Range specification. The
+ interaction of editing and the undo/redo features in user agents is
+ defined by the UndoManager and DOM Transaction specification. <a
+ href="#refsEDITING">[EDITING]</a> <a
+ href="#refsDOMRANGE">[DOMRANGE]</a> <a
+ href="#refsUNDO">[UNDO]</a></p>
- </div>
+ <p class="XXX">Need to decide what to do with the <dfn><code
+ title="">formatBlock</code> candidate</dfn> category.</p>
- <dl class="domintro">
+ <p class="XXX"><dfn>undo transaction history</dfn> is currently
+ defined in <a href="#refsUNDO">[UNDO]</a> but this spec hasn't been
+ updated to make sense with the new definition</p>
- <dt><var title="">document</var> . <code title="dom-document-designMode">designMode</code> [ = <var title="">value</var> ]</dt>
+ <!-- those might get merged in here eventually -->
- <dd>
- <p>Returns "<code title="">on</code>" if the document is editable,
- and "<code title="">off</code>" if it isn't.</p>
- <p>Can be set, to change the document's current state.</p>
+ <h4>Spelling and grammar checking</h4>
- </dd>
-
- </dl>
-
<div class="impl">
- <p>The <code title="dom-document-designMode">designMode</code> IDL
- attribute on the <code>Document</code> object takes two values,
- "<code title="">on</code>" and "<code title="">off</code>". When it
- is set, the new value must be compared in an <span>ASCII
- case-insensitive</span> manner to these two values. If it matches
- the "<code title="">on</code>" value, then <code
- title="dom-document-designMode">designMode</code> must be enabled,
- and if it matches the "<code title="">off</code>" value, then <code
- title="dom-document-designMode">designMode</code> must be
- disabled. Other values must be ignored.</p>
-
- <p>When <code title="dom-document-designMode">designMode</code> is
- enabled, the IDL attribute must return the value "<code
- title="">on</code>", and when it is disabled, it must return the
- value "<code title="">off</code>".</p>
-
- <p>The last state set must persist until the document is destroyed
- or the state is changed. Initially, documents must have their <code
- title="dom-document-designMode">designMode</code> disabled.</p>
-
- </div>
-
-
-
- <h3>Spelling and grammar checking</h3>
-
- <div class="impl">
-
<p>User agents can support the checking of spelling and grammar of
editable text, either in form controls (such as the value of
<code>textarea</code> elements), or in elements in an <span>editing
@@ -82348,7 +82212,8 @@
title="concept-fe-disabled">disabled</span>.</li>
<li>Text in <span title="text node">text nodes</span> that are
- children of <span>editable</span> elements.</li>
+ children of <span title="editing host">editing hosts</span> or
+ <span>editable</span> elements.</li>
<li>Text in attributes of <span>editable</span> elements.</li>
@@ -84287,10 +84152,11 @@
<p>From the moment that the user agent is to <dfn>initiate the
drag-and-drop operation</dfn>, until the end of the drag-and-drop
operation, device input events (e.g. mouse and keyboard events) must
- be suppressed. In addition, the user agent must track all DOM
- changes made during the drag-and-drop operation, and add them to its
- <span>undo transaction history</span> as one atomic operation once
- the drag-and-drop operation has ended.</p>
+ be suppressed. <span class="XXX">In addition, the user agent must
+ track all DOM changes made during the drag-and-drop operation, and
+ add them to its <span>undo transaction history</span> as one atomic
+ operation once the drag-and-drop operation has ended.</span></p>
+ <!-- need to update this to new UndoManager code -->
<p>During the drag operation, the element directly indicated by the
user as the drop target is called the <dfn>immediate user
@@ -84400,10 +84266,11 @@
element whose <code title="attr-input-type">type</code>
attribute is in the <span
title="attr-input-type-text">Text</span> state) or an
- <span>editable</span> element, and the <span>drag data store
- item list</span> has an item with <span>the drag data item
- type string</span> "<code>text/plain</code>" and <span>the
- drag data item kind</span> <i>Plain Unicode string</i></dt>
+ <span>editing host</span> or <span>editable</span> element,
+ and the <span>drag data store item list</span> has an item
+ with <span>the drag data item type string</span>
+ "<code>text/plain</code>" and <span>the drag data item
+ kind</span> <i>Plain Unicode string</i></dt>
<dd><p>Set the <span>current target element</span> to the
<span>immediate user selection</span> anyway.</p></dd>
@@ -84478,10 +84345,11 @@
(e.g. <code>textarea</code>, or an <code>input</code> element
whose <code title="attr-input-type">type</code> attribute is in
the <span title="attr-input-type-text">Text</span> state) or an
- <span>editable</span> element, and the <span>drag data store
- item list</span> has an item with <span>the drag data item type
- string</span> "<code>text/plain</code>" and <span>the drag data
- item kind</span> <i>Plain Unicode string</i></dt>
+ <span>editing host</span> or <span>editable</span> element, and
+ the <span>drag data store item list</span> has an item with
+ <span>the drag data item type string</span>
+ "<code>text/plain</code>" and <span>the drag data item
+ kind</span> <i>Plain Unicode string</i></dt>
<dd><p>Set the <span>current drag operation</span> to either
"<code title="">copy</code>" or "<code title="">move</code>",
@@ -84670,10 +84538,11 @@
element whose <code title="attr-input-type">type</code>
attribute is in the <span
title="attr-input-type-text">Text</span> state) or an
- <span>editable</span> element, and the <span>drag data store
- item list</span> has an item with <span>the drag data item
- type string</span> "<code>text/plain</code>" and <span>the
- drag data item kind</span> <i>Plain Unicode string</i></dt>
+ <span>editing host</span> or <span>editable</span> element,
+ and the <span>drag data store item list</span> has an item
+ with <span>the drag data item type string</span>
+ "<code>text/plain</code>" and <span>the drag data item
+ kind</span> <i>Plain Unicode string</i></dt>
<dd><p>Insert the actual data of the first item in the
<span>drag data store item list</span> to have <span
@@ -84681,10 +84550,10 @@
string</span> of "<code>text/plain</code>" and <span
title="the drag data item kind">a drag data item kind</span>
that is <i>Plain Unicode string</i> into the text field or
- <span>editable</span> element in a manner consistent with
- platform-specific conventions (e.g. inserting it at the
- current mouse cursor position, or inserting it at the end of
- the field).</p></dd>
+ <span>editing host</span> or <span>editable</span> element in
+ a manner consistent with platform-specific conventions (e.g.
+ inserting it at the current mouse cursor position, or
+ inserting it at the end of the field).</p></dd>
<dt>Otherwise</dt>
@@ -85407,511 +85276,6 @@
- <h3>Editing APIs</h3>
-
- <dl class="domintro">
-
- <dt><var title="">document</var> . <code title="dom-document-execCommand">execCommand</code>(<var title="">commandId</var> [, <var title="">showUI</var> [, <var title="">value</var> ] ] )</dt>
-
- <dd>
-
- <p>Runs the action specified by the first argument, as described
- in the list below. The second and third arguments sometimes affect
- the action. (If they don't they are ignored.)</p>
-
- </dd>
-
- <dt><var title="">document</var> . <code title="dom-document-queryCommandEnabled">queryCommandEnabled</code>(<var title="">commandId</var>)</dt>
-
- <dd>
-
- <p>Returns whether the given command is enabled, as described in the list below.</p>
-
- </dd>
-
- <dt><var title="">document</var> . <code title="dom-document-queryCommandIndeterm">queryCommandIndeterm</code>(<var title="">commandId</var>)</dt>
-
- <dd>
-
- <p>Returns whether the given command is indeterminate, as described in the list below.</p>
-
- </dd>
-
- <dt><var title="">document</var> . <code title="dom-document-queryCommandState">queryCommandState</code>(<var title="">commandId</var>)</dt>
-
- <dd>
-
- <p>Returns the state of the command, as described in the list below.</p>
-
- </dd>
-
- <dt><var title="">document</var> . <code title="dom-document-queryCommandSupported">queryCommandSupported</code>(<var title="">commandId</var>)</dt>
-
- <dd>
-
- <p>Returns true if the command is supported; otherwise, returns false.</p>
-
- </dd>
-
- <dt><var title="">document</var> . <code title="dom-document-queryCommandValue">queryCommandValue</code>(<var title="">commandId</var>)</dt>
-
- <dd>
-
- <p>Returns the value of the command, as described in the list below.</p>
-
- </dd>
-
- </dl>
-
- <div class="impl">
-
- <p>The <dfn id="execCommand"
- title="dom-document-execCommand"><code>execCommand(<var
- title="">commandId</var>, <var title="">showUI</var>, <var
- title="">value</var>)</code></dfn> method on the
- <code>HTMLDocument</code> interface allows scripts to perform
- actions on the current selection or at the current caret position.
- Generally, these commands would be used to implement editor UI, for
- example having a "delete" button on a toolbar.</p>
-
- <p>There are three variants to this method, with one, two, and three
- arguments respectively. The <var title="">showUI</var> and <var
- title="">value</var> parameters, even if specified, are ignored
- except where otherwise stated.</p>
-
- <p>When <code title="dom-document-execCommand">execCommand()</code>
- is invoked, the user agent must run the following steps:</p>
-
- <ol>
-
- <li>If the given <var title="">commandId</var> maps to an entry in
- the list below whose "Enabled When" entry has a condition that is
- currently false, do nothing; abort these steps.</li>
-
- <li>Otherwise, execute the "Action" listed below for the given <var
- title="">commandId</var>.</li>
-
- </ol>
-
- </div>
-
- <p>A document is <dfn>ready for editing host commands</dfn> if it
- has a selection that is entirely within an <span>editing
- host</span>, or if it has no selection but its caret is inside an
- <span>editing host</span>.</p>
-
- <div class="impl">
-
- <p>The <dfn
- title="dom-document-queryCommandEnabled"><code>queryCommandEnabled(<var
- title="">commandId</var>)</code></dfn> method, when invoked, must
- return true if the condition listed below under "Enabled When" for
- the given <var title="">commandId</var> is true, and false
- otherwise.</p>
-
- <p>The <dfn
- title="dom-document-queryCommandIndeterm"><code>queryCommandIndeterm(<var
- title="">commandId</var>)</code></dfn> method, when invoked, must
- return true if the condition listed below under "Indeterminate When"
- for the given <var title="">commandId</var> is true, and false
- otherwise.</p>
-
- <p>The <dfn
- title="dom-document-queryCommandState"><code>queryCommandState(<var
- title="">commandId</var>)</code></dfn> method, when invoked, must
- return the value expressed below under "State" for the given <var
- title="">commandId</var>.</p>
-
- <p>The <dfn
- title="dom-document-queryCommandSupported"><code>queryCommandSupported(<var
- title="">commandId</var>)</code></dfn> method, when invoked, must
- return true if the given <var title="">commandId</var> is in the
- list below, and false otherwise.</p>
-
- <p>The <dfn
- title="dom-document-queryCommandValue"><code>queryCommandValue(<var
- title="">commandId</var>)</code></dfn> method, when invoked, must
- return the value expressed below under "Value" for the given <var
- title="">commandId</var>.</p>
-
- </div>
-
- <p>The possible values for <var title="">commandId</var>, and their
- corresponding meanings, are as follows. <span class="impl">These
- values must be compared to the argument in an <span>ASCII
- case-insensitive</span> manner.</span></p>
-
- <dl>
-
- <dt><dfn title="command-bold"><code>bold</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is bold.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a
- href="#contenteditable-wrapSemantic">be wrapped in the
- semantics</a> of the <em><code>b</code></em> element (or, again,
- unwrapped, or have that semantic inserted or removed, as defined by
- the UA).</dd>
- <dd><strong>Enabled When</strong>: The document is <span>ready for
- editing host commands</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: True if the selection, or the caret, if
- there is no selection, is, or is contained within, a
- <code>b</code> element. False otherwise.</dd>
- <dd><strong>Value</strong>: The string "<code title="">true</code>"
- if the expression given for the "State" above is true, the string
- "<code title="">false</code>" otherwise.</dd>
-
- <dt><dfn title="command-createLink"><code>createLink</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is a
- link or not. If the second argument is true, and a link is to be
- added, the user agent will ask the user for the address. Otherwise,
- the third argument will be used as the address.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a
- href="#contenteditable-wrapSemantic">be wrapped in the
- semantics</a> of the <em><code>a</code></em> element (or, again,
- unwrapped, or have that semantic inserted or removed, as defined by
- the UA). If the user agent creates an <code>a</code> element or
- modifies an existing <code>a</code> element, then if the <var
- title="">showUI</var> argument is present and has the value false,
- then the value of the <var title="">value</var> argument must be
- used as the <span>URL</span> of the link. Otherwise, the user agent
- should prompt the user for the URL of the link.</dd>
- <dd><strong>Enabled When</strong>: The document is <span>ready for
- editing host commands</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn title="command-delete"><code>delete</code></dfn></dt>
- <dd><strong>Summary</strong>: Deletes the selection or the
- character before the cursor.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must act as if the user
- had performed <a href="#contenteditable-delete">a backspace
- operation</a>.</dd>
- <dd><strong>Enabled When</strong>: The document is <span>ready for
- editing host commands</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn title="command-formatBlock"><code>formatBlock</code></dfn></dt>
- <dd><strong>Summary</strong>: Wraps the selection in the element
- given by the third argument. If the third argument doesn't
- specify an element that is a <dfn><code title="">formatBlock</code>
- candidate</dfn>, does nothing.</dd>
- <dd class="impl">
- <p><strong>Action</strong>: The user agent must run the following
- steps:</p>
- <ol>
- <li><p>If the <var title="">value</var> argument wasn't
- specified, abort these steps without doing anything.</p></li>
- <li><p>If the <var title="">value</var> argument has a leading
- U+003C LESS-THAN SIGN character (<) and a trailing U+003E
- GREATER-THAN SIGN character (>), then remove the first and last
- characters from <var title="">value</var>.</p></li>
- <li>
- <p>If <var title="">value</var> is (now) an <span>ASCII
- case-insensitive</span> match for the tag name of an element
- defined by this specification that is defined to be a
- <span><code title="">formatBlock</code> candidate</span>, then,
- for every position in the selection, take the nearest
- <span><code title="">formatBlock</code> candidate</span>
- ancestor element of that position that contains only
- <span>phrasing content</span>, and, if that element is
- <span>editable</span>, is not an <span>editing host</span>, and
- has a parent element whose content model allows that parent to
- contain any <span>flow content</span>, replace it with an
- element in the HTML namespace whose name is <var
- title="">value</var>, and move all the children that were in it
- to the new element, and copy all the attributes that were on it
- to the new element.</p>
- <p>If there is no selection, then, where in the description
- above refers to the selection, the user agent must act as if the
- selection was an empty range (with just one position) at the
- caret position.</p>
- </li>
- </ol>
- </dd>
- <dd><strong>Enabled When</strong>: The document is <span>ready for
- editing host commands</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn title="command-forwardDelete"><code>forwardDelete</code></dfn></dt>
- <dd><strong>Summary</strong>: Deletes the selection or the
- character after the cursor.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must act as if the user
- had performed <a href="#contenteditable-delete">a forward delete
- operation</a>.</dd>
- <dd><strong>Enabled When</strong>: The document is <span>ready for
- editing host commands</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn title="command-insertImage"><code>insertImage</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is an
- image or not. If the second argument is true, and an image is to be
- added, the user agent will ask the user for the address. Otherwise,
- the third argument will be used as the address.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must act
- as if the user had requested that the selection <a
- href="#contenteditable-wrapSemantic">be wrapped in the
- semantics</a> of the <em><code>img</code></em> element (or, again,
- unwrapped, or have that semantic inserted or removed, as defined by
- the UA). If the user agent creates an <code>img</code> element or
- modifies an existing <code>img</code> element, then if the <var
- title="">showUI</var> argument is present and has the value false,
- then the value of the <var title="">value</var> argument must be
- used as the <span>URL</span> of the image. Otherwise, the user
- agent should prompt the user for the URL of the image.</dd>
- <dd><strong>Enabled When</strong>: The document is <span>ready for
- editing host commands</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn title="command-insertHTML"><code>insertHTML</code></dfn></dt>
- <dd><strong>Summary</strong>: Replaces the selection with the value
- of the third argument parsed as HTML.</dd>
- <dd class="impl">
- <p><strong>Action</strong>: The user agent must run the following
- steps:</p>
- <ol>
- <li><p>If the document is an <span title="XML documents">XML
- document</span>, then throw an <code>INVALID_ACCESS_ERR</code>
- exception and abort these steps.</p></li><!-- v2 support XML? -->
- <li><p>If the <var title="">value</var> argument wasn't
- specified, abort these steps without doing anything.</p></li>
- <li><p>If there is a selection, act as if the user had requested
- that <a href="#contenteditable-delete">the selection be
- deleted</a>.</p></li>
- <li><p>Invoke the <span>HTML fragment parsing algorithm</span>
- with an arbitrary orphan <code>body</code> element owned by the
- same <code>Document</code> as the <i title="">context</i> element
- and with the <var title="">value</var> argument as <i
- title="">input</i>.</p></li>
- <li><p>Insert the nodes returned by the previous step into the
- document at the location of the caret, firing any mutation events
- as appropriate.</p></li>
- </ol>
- </dd>
- <dd><strong>Enabled When</strong>: The document is <span>ready for
- editing host commands</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn title="command-insertLineBreak"><code>insertLineBreak</code></dfn></dt>
- <dd><strong>Summary</strong>: Inserts a line break.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must act as if the user
- had <a href="#contenteditable-br">requested a line
- separator</a>.</dd>
- <dd><strong>Enabled When</strong>: The document is <span>ready for
- editing host commands</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn title="command-insertOrderedList"><code>insertOrderedList</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is an ordered list.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a
- href="#contenteditable-wrapSemantic">be wrapped in the
- semantics</a> of the <code>ol</code> element (or unwrapped, or, if
- there is no selection, have that semantic inserted or removed
- — the exact behavior is UA-defined).</dd>
- <dd><strong>Enabled When</strong>: The document is <span>ready for
- editing host commands</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn title="command-insertUnorderedList"><code>insertUnorderedList</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is an unordered list.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a
- href="#contenteditable-wrapSemantic">be wrapped in the
- semantics</a> of the <code>ul</code> element (or unwrapped, or, if
- there is no selection, have that semantic inserted or removed
- — the exact behavior is UA-defined).</dd>
- <dd><strong>Enabled When</strong>: The document is <span>ready for
- editing host commands</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn title="command-insertParagraph"><code>insertParagraph</code></dfn></dt>
- <dd><strong>Summary</strong>: Inserts a paragraph break.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must act as if the user
- had performed a <a href="#contenteditable-breakBlock">break
- block</a> editing action.</dd>
- <dd><strong>Enabled When</strong>: The document is <span>ready for
- editing host commands</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn title="command-insertText"><code>insertText</code></dfn></dt>
- <dd><strong>Summary</strong>: Inserts the text given in the third parameter.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must act as if the user
- had <a href="#contenteditable-insertText">inserted text</a>
- corresponding to the <var title="">value</var> parameter.</dd>
- <dd><strong>Enabled When</strong>: The document is <span>ready for
- editing host commands</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn title="command-italic"><code>italic</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is italic.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a
- href="#contenteditable-wrapSemantic">be wrapped in the
- semantics</a> of the <em><code>i</code></em> element (or, again,
- unwrapped, or have that semantic inserted or removed, as defined by
- the UA).</dd>
- <dd><strong>Enabled When</strong>: The document is <span>ready for
- editing host commands</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: True if the selection, or the caret, if
- there is no selection, is, or is contained within, a
- <code>i</code> element. False otherwise.</dd>
- <dd><strong>Value</strong>: The string "<code title="">true</code>"
- if the expression given for the "State" above is true, the string
- "<code title="">false</code>" otherwise.</dd>
-
- <dt><dfn title="command-redo"><code>redo</code></dfn></dt>
- <dd><strong>Summary</strong>: Acts as if the user had requested a redo.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must <span
- title="do-redo">move forward one step</span> in its <span>undo
- transaction history</span>, restoring the associated state. If the
- <span>undo position</span> is at the end of the <span>undo
- transaction history</span>, the user agent must do nothing.
- </dd>
- <dd><strong>Enabled When</strong>: The <span>undo position</span>
- is not at the end of the <span>undo transaction
- history</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn title="command-selectAll"><code>selectAll</code></dfn></dt>
- <dd><strong>Summary</strong>: Selects all the editable content.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must change the
- selection so that all the content in the currently focused
- <span>editing host</span> is selected. If no <span>editing
- host</span> is focused, then the content of the entire document
- must be selected.</dd>
- <dd><strong>Enabled When</strong>: Always.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn title="command-subscript"><code>subscript</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is subscripted.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a
- href="#contenteditable-wrapSemantic">be wrapped in the
- semantics</a> of the <em><code>sub</code></em> element (or, again,
- unwrapped, or have that semantic inserted or removed, as defined by
- the UA).</dd>
- <dd><strong>Enabled When</strong>: The document is <span>ready for
- editing host commands</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: True if the selection, or the caret, if
- there is no selection, is, or is contained within, a
- <code>sub</code> element. False otherwise.</dd>
- <dd><strong>Value</strong>: The string "<code title="">true</code>"
- if the expression given for the "State" above is true, the string
- "<code title="">false</code>" otherwise.</dd>
-
- <dt><dfn title="command-superscript"><code>superscript</code></dfn></dt>
- <dd><strong>Summary</strong>: Toggles whether the selection is superscripted.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must act as if the user
- had requested that the selection <a
- href="#contenteditable-wrapSemantic">be wrapped in the
- semantics</a> of the <code>sup</code> element (or unwrapped, or, if
- there is no selection, have that semantic inserted or removed
- — the exact behavior is UA-defined).</dd>
- <dd><strong>Enabled When</strong>: The document is <span>ready for
- editing host commands</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: True if the selection, or the caret, if
- there is no selection, is, or is contained within, a
- <code>sup</code> element. False otherwise.</dd>
- <dd><strong>Value</strong>: The string "<code title="">true</code>"
- if the expression given for the "State" above is true, the string
- "<code title="">false</code>" otherwise.</dd>
-
- <dt><dfn title="command-undo"><code>undo</code></dfn></dt>
- <dd><strong>Summary</strong>: Acts as if the user had requested an undo.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must <span
- title="do-undo">move back one step</span> in its <span>undo
- transaction history</span>, restoring the associated state. If the
- <span>undo position</span> is at the start of the <span>undo
- transaction history</span>, the user agent must do nothing.
- </dd>
- <dd><strong>Enabled When</strong>: The <span>undo position</span>
- is not at the start of the <span>undo transaction
- history</span>.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn title="command-unlink"><code>unlink</code></dfn></dt>
- <dd><strong>Summary</strong>: Removes all links from the selection.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must remove all
- <code>a</code> elements that have <code
- title="attr-hyperlink-href">href</code> attributes and that are partially
- or completely included in the current selection.</dd>
- <dd><strong>Enabled When</strong>: The document has a selection
- that is entirely within an <span>editing host</span> and that
- contains (either partially or completely) at least one
- <code>a</code> element that has an <code
- title="attr-hyperlink-href">href</code> attribute.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt><dfn title="command-unselect"><code>unselect</code></dfn></dt>
- <dd><strong>Summary</strong>: Unselects everything.</dd>
- <dd class="impl"><strong>Action</strong>: The user agent must change the
- selection so that nothing is selected.</dd>
- <dd><strong>Enabled When</strong>: Always.</dd>
- <dd><strong>Indeterminate When</strong>: Never.</dd>
- <dd><strong>State</strong>: Always false.</dd>
- <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- <dt class="impl"><code><var title="">vendorID</var>-<var title="">customCommandID</var></code></dt>
- <dd class="impl"><strong>Action</strong>: User agents may implement
- vendor-specific extensions to this API. Vendor-specific extensions
- to the list of commands should use the syntax <code><var
- title="">vendorID</var>-<var title="">customCommandID</var></code>
- so as to prevent clashes between extensions from different vendors
- and future additions to this specification.</dd>
- <dd class="impl"><strong>Enabled When</strong>: UA-defined.</dd>
- <dd class="impl"><strong>Indeterminate When</strong>: UA-defined.</dd>
- <dd class="impl"><strong>State</strong>: UA-defined.</dd>
- <dd class="impl"><strong>Value</strong>: UA-defined.</dd>
-
- <dt class="impl">Anything else</dt>
- <dd class="impl"><strong>Action</strong>: User agents must do nothing.</dd>
- <dd class="impl"><strong>Enabled When</strong>: Never.</dd>
- <dd class="impl"><strong>Indeterminate When</strong>: Never.</dd>
- <dd class="impl"><strong>State</strong>: Always false.</dd>
- <dd class="impl"><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
-
- </dl>
-
-<!--
-v2 (well, really v0):
- "forecolor", "hilitecolor", "fontname", "fontsize", "justifyleft",
- "justifycenter", "justifyright", "justifyfull", "indent", "outdent"
--->
-
<!--START rtc--><!--END w3c-html--><!--PEERCONNECTION-->
<div data-component="other Hixie drafts (editor: Ian Hickson)">
@@ -108616,11 +107980,11 @@
<h4>Editing hosts</h4>
- <p>The current text editing caret (the one at the <span>caret
- position</span> in a focused <span>editing host</span>) is expected
- to act like an inline replaced element with the vertical dimensions
- of the caret and with zero width for the purposes of the CSS
- rendering model.</p>
+ <p>The current text editing caret (i.e. the <span>active
+ range</span>, if it is empty and in an <span>editing host</span>),
+ if any, is expected to act like an inline replaced element with the
+ vertical dimensions of the caret and with zero width for the
+ purposes of the CSS rendering model.</p>
<p class="note">This means that even an empty block can have the
caret inside it, and that when the caret is in such an element, it
@@ -113425,7 +112789,7 @@
<tr>
<th> <code title="">contenteditable</code>
<td> <span title="attr-contenteditable">HTML elements</span>
- <td> Whether the element is <span>editable</span>
+ <td> Whether the element is an editable
<td> "<code title="">true</code>"; "<code title="">false</code>"
<tr>
<th> <code title="">contextmenu</code>
@@ -115460,6 +114824,9 @@
href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ECMAScript
Language Specification</a></cite>. ECMA.</dd>
+ <dt id="refsEDITING">[EDITING]</dt>
+ <dd><cite><a href="http://aryeh.name/spec/editing/editing.html">HTML Editing APIs</a></cite>, A. Gregor.</dd>
+
<dt id="refsECMA357">[ECMA357]</dt>
<dd>(Non-normative) <cite><a
href="http://www.ecma-international.org/publications/standards/Ecma-357.htm">ECMAScript
@@ -115960,6 +115327,9 @@
Guidelines (UAAG) 2.0</a></cite>, J. Allan, K. Ford, J. Richards,
J. Spellman. W3C.</dd>
+ <dt id="refsUNDO">[UNDO]</dt>
+ <dd><cite><a href="http://rniwa.com/editing/undomanager.html">UndoManager and DOM Transaction</a></cite>, R. Niwa.</dd>
+
<dt id="refsUNICODE">[UNICODE]</dt>
<dd><cite><a href="http://www.unicode.org/versions/">The Unicode Standard</a></cite>. Unicode Consortium.</dd>
More information about the Commit-Watchers
mailing list