HTML Standard Tracker

Diff (omit for latest revision)
Filter

Short URL: http://html5.org/r/7049-7051

File a bug

SVNBugCommentTime (UTC)
7050[Gecko] [Internet Explorer] [Opera] [Webkit] Dialogs in web apps: <dialog>, inert='', <form method=dialog>, and 'anchor-point'.2012-04-11 00:42
7051[Gecko] [Internet Explorer] [Opera] [Webkit] Oops, forgot to center the <dialog> element vertically when it is not anchored.2012-04-11 23:22
Index: source
===================================================================
--- source	(revision 7049)
+++ source	(revision 7051)
@@ -1,14 +1,14 @@
 <!-- EDITOR NOTES
  !
  !   Adding a new element involves editing the following sections:
- !    - description of the element's categories
+ !    - section for the element itself
+ !    - descriptions of the element's categories
  !    - images/content-venn.svg
  !    - syntax, if it's void or otherwise special
- !    - parser
+ !    - parser, if it's not phrasing-level
  !    - rendering
  !    - obsolete section
  !    - element, attribute, content model, and interface indexes
- !    - section for the element itself
  !    - adding it to the section with ARIA mappings
  !
  !-->
@@ -220,14 +220,6 @@
    working group chair decision from June 2011</a>.</li><!--bug
    12906-->
 
-   <li>The W3C HTML specification defines a <code
-   title="attr-time-pubdate">pubdate</code> attribute on
-   <code>time</code> elements, because of <a
-   href="http://lists.w3.org/Archives/Public/public-html/2011Dec/0058.html">a
-   working group chair request from December 2011</a>. This issue is
-   not yet formally resolved in the W3C and the specifications will
-   likely converge on this issue when it is.</li><!--PUBDATE--><!--FORK-->
-
    <li>The W3C HTML specification contradicts the ARIA specification
    because of a <a
    href="http://lists.w3.org/Archives/Public/public-html/2012Feb/0066.html">working
@@ -249,6 +241,8 @@
 
   <ul>
    <li>New hyperlink features: the <code title="attr-hyperlink-download">download</code> attribute to make download links and the <code title="attr-hyperlink-ping">ping</code> attribute for <span>hyperlink auditing</span>.</li> <!--DOWNLOAD--><!--PING-->
+   <li>The <code title="attr-inert">inert</code> global attribute to disable subtrees.</li><!--INERT-->
+   <li>The <code title="attr-fs-method-dialog-keyword">dialog</code> keyword on the <code>form</code> element's <code title="attr-fs-method">method</code> attribute, for a simpler way to close dialogs.</li><!--FORM-DIALOG-->
    <li>The <code title="dom-document-cssElementMap">cssElementMap</code> feature for defining <span title="CSS element reference identifier">CSS element reference identifiers</span>.</li> <!--CSSREF-->
    <li>An experimental specification of the legacy <code title="dom-find">window.find()</code> API.</li><!--FIND-->
    <li>Some predefined <a href="#mdvocabs">Microdata vocabularies</a>.</li>
@@ -3133,6 +3127,11 @@
      <li><dfn>Scroll an element into view</dfn></li>
     </ul>
 
+    <p>Parts of the Fullscreen specification, in particular the
+    <dfn>top layer</dfn> concept, are used to define the rendering of
+    the <code>dialog</code> element. <a
+    href="#refsFULLSCREEN">[FULLSCREEN]</a>
+
    </dd>
 
 <!--END dev-html--><!--END w3c-html-->
@@ -10100,10 +10099,12 @@
   // <span>event handler IDL attributes</span>
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onabort">onabort</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onblur">onblur</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncancel">oncancel</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncanplay">oncanplay</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncanplaythrough">oncanplaythrough</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onchange">onchange</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onclick">onclick</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onclose">onclose</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncontextmenu">oncontextmenu</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncuechange">oncuechange</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondblclick">ondblclick</span>;
@@ -11296,10 +11297,12 @@
   // <span>event handler IDL attributes</span>
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onabort">onabort</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onblur">onblur</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncancel">oncancel</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncanplay">oncanplay</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncanplaythrough">oncanplaythrough</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onchange">onchange</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onclick">onclick</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onclose">onclose</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncontextmenu">oncontextmenu</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncuechange">oncuechange</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondblclick">ondblclick</span>;
@@ -11382,6 +11385,9 @@
    <li><code title="attr-dropzone">dropzone</code></li>
    <li><code title="attr-hidden">hidden</code></li>
    <li><code title="attr-id">id</code></li>
+<!--END w3c-html--><!--INERT-->
+   <li><code title="attr-inert">inert</code></li>
+<!--START w3c-html--><!--INERT-->
 <!--END w3c-html--><!--MD--><!--WARNING: ALSO DUPLICATED IN MICRODATA SECTION -->
    <li><code title="attr-itemid">itemid</code></li>
    <li><code title="attr-itemprop">itemprop</code></li>
@@ -11437,10 +11443,12 @@
   <ul class="brief">
    <li><code title="handler-onabort">onabort</code></li>
    <li><code title="handler-onblur">onblur</code>*</li>
+   <li><code title="handler-oncancel">oncancel</code></li>
    <li><code title="handler-oncanplay">oncanplay</code></li>
    <li><code title="handler-oncanplaythrough">oncanplaythrough</code></li>
    <li><code title="handler-onchange">onchange</code></li>
    <li><code title="handler-onclick">onclick</code></li>
+   <li><code title="handler-onclose">onclose</code></li>
    <li><code title="handler-oncontextmenu">oncontextmenu</code></li>
    <li><code title="handler-oncuechange">oncuechange</code></li>
    <li><code title="handler-ondblclick">ondblclick</code></li>
@@ -12727,6 +12735,7 @@
    <li><code>del</code></li>
    <li><code>details</code></li>
    <li><code>dfn</code></li>
+   <li><code>dialog</code></li>
    <li><code>div</code></li>
    <li><code>dl</code></li>
    <li><code>em</code></li>
@@ -13738,6 +13747,10 @@
      <td><code title="attr-aria-expanded">aria-expanded</code> state set to "true" if the element's <code title="attr-details-open">open</code> attribute is present, and set to "false" otherwise
 
     <tr>
+     <td><code>dialog</code> element without an <code title="attr-dialog-open">open</code> attribute
+     <td>The <code title="title-aria-hidden">aria-hidden</code> state set to "true"
+
+    <tr>
      <td><code>head</code> element
      <td><span title="concept-role-none">No role</span>
 
@@ -13962,6 +13975,10 @@
      <td>The <code title="title-aria-disabled">aria-disabled</code> state set to "true"
 
     <tr>
+     <td>Element that is <span>inert</span>
+     <td>The <code title="title-aria-disabled">aria-disabled</code> state set to "true"
+
+    <tr>
      <td>Element with a <code title="attr-hidden">hidden</code> attribute
      <td>The <code title="title-aria-hidden">aria-hidden</code> state set to "true"
 
@@ -14029,6 +14046,23 @@
      <td>Role must be a role that supports <code title="attr-aria-expanded">aria-expanded</code>
 
     <tr>
+     <td><code>dialog</code> element
+     <td><code title="attr-aria-role-dialog">dialog</code> role
+     <td>Role must be either
+      <code title="attr-aria-role-alert">alert</code>,
+      <code title="attr-aria-role-alertdialog">alertdialog</code>,
+      <code title="attr-aria-role-application">application</code>,
+      <code title="attr-aria-role-contentinfo">contentinfo</code>,
+      <code title="attr-aria-role-dialog">dialog</code>,
+      <code title="attr-aria-role-document">document</code>,
+      <code title="attr-aria-role-log">log</code>,
+      <code title="attr-aria-role-main">main</code>,
+      <code title="attr-aria-role-marquee">marquee</code>,
+      <code title="attr-aria-role-region">region</code>,
+      <code title="attr-aria-role-search">search</code>, or
+      <code title="attr-aria-role-status">status</code>
+
+    <tr>
      <td><code>embed</code> element
      <td><span title="concept-role-none">No role</span>
      <td>If specified, role must be either <code title="attr-aria-role-application">application</code>, <code title="attr-aria-role-document">document</code>, or <code title="attr-aria-role-img">img</code>
@@ -20023,6 +20057,7 @@
    <li><code>blockquote</code></li>
    <li><code>body</code></li>
    <li><code>details</code></li>
+   <li><code>dialog</code></li>
    <li><code>fieldset</code></li>
    <li><code>figure</code></li>
    <li><code>td</code></li>
@@ -40370,7 +40405,7 @@
 
   <dl class="domintro">
 
-   <dt><var title="">url</var> = <var title="">canvas</var> . <code title="dom-canvas-toDataURL">toDataURL</code>( [ <var title="">type</var>, ... ])</dt>
+   <dt><var title="">url</var> = <var title="">canvas</var> . <code title="dom-canvas-toDataURL">toDataURL</code>( [ <var title="">type</var>, ... ] )</dt>
 
    <dd>
 
@@ -40976,7 +41011,7 @@
 
   <dl class="domintro">
 
-   <dt><var title="">styles</var> = new <code title="dom-DrawingStyle">DrawingStyle</code>([ <var title="">element</var> ])</dt>
+   <dt><var title="">styles</var> = new <code title="dom-DrawingStyle">DrawingStyle</code>( [ <var title="">element</var> ] )</dt>
 
    <dd>
 
@@ -62034,6 +62069,16 @@
    to the state <dfn title="attr-fs-method-POST">POST</dfn>, indicating
    the HTTP POST method.</li>
 
+<!--END w3c-html--><!--FORM-DIALOG-->
+   <li>The keyword <dfn
+   title="attr-fs-method-dialog-keyword"><code>dialog</code></dfn>,
+   mapping to the state <dfn
+   title="attr-fs-method-dialog">dialog</dfn>, indicating that
+   submitting the <code>form</code> is intended to close the
+   <code>dialog</code> box in which the form finds itself, if any, and
+   otherwise not submit.</li>
+<!--START w3c-html--><!--FORM-DIALOG-->
+
   </ul>
 
   <p>The <i>missing value default</i> for these attributes is the
@@ -63145,13 +63190,19 @@
 
    <li>
 
-    <p>Select the appropriate row in the table below based on the
-    value of <var title="">scheme</var> as given by the first cell of
-    each row. Then, select the appropriate cell on that row based on
-    the value of <var title="">method</var> as given in the first cell
-    of each column. Then, jump to the steps named in that cell and
-    defined below the table.</p>
+<!--END w3c-html--><!--FORM-DIALOG-->
+    <p>If the value of <var title="">method</var> is <span
+    title="attr-fs-method-dialog">dialog</span> then jump to the <span
+    title="submit-dialog">submit dialog</span> steps.</p>
+<!--START w3c-html--><!--FORM-DIALOG-->
 
+    <p>Otherwise, select the appropriate row in the table below based
+    on the value of <var title="">scheme</var> as given by the first
+    cell of each row. Then, select the appropriate cell on that row
+    based on the value of <var title="">method</var> as given in the
+    first cell of each column. Then, jump to the steps named in that
+    cell and defined below the table.</p>
+
     <table>
      <thead>
      <tr>
@@ -63388,6 +63439,46 @@
 
      </dd>
 
+
+<!--END w3c-html--><!--FORM-DIALOG-->
+     <dt><dfn title="submit-dialog">Submit dialog</dfn>
+     <dd>
+
+      <p>Let <var title="">dialog</var> be the nearest ancestor
+      <code>dialog</code> element of <var title="">form</var>, if
+      any.</p>
+
+      <p>If there isn't one, do nothing. Otherwise, proceed as
+      follows:</p>
+
+      <p>If <var title="">submitter</var> is an <code>input</code>
+      element whose <code title="attr-input-type">type</code>
+      attribute is in the <span title="attr-input-type-image">Image
+      Button</span> state, then let <var title="">result</var> be the
+      string formed by concatenating the <span
+      title="concept-input-type-image-coordinate">selected
+      coordinate</span>'s <var title="">x</var>-component, expressed
+      as a base-ten number using the characters U+0030 DIGIT ZERO (0)
+      to U+0039 DIGIT NINE (9) to represent the digits 0 to 9, a
+      U+002C COMMA character (,), and the <span
+      title="concept-input-type-image-coordinate">selected
+      coordinate</span>'s <var title="">y</var>-component, expressed
+      in the same way as the <var title="">x</var>-component.</p>
+
+      <p>Otherwise, if <var title="">submitter</var> has a <span
+      title="concept-fe-value">value</span>, then let <var
+      title="">result</var> be that <span
+      title="concept-fe-value">value</span>.</p>
+
+      <p>Otherwise, there is no <var title="">result</var>.</p>
+
+      <p>Then, <span>close the dialog</span> <var
+      title="">dialog</var>. If there is a <var title="">result</var>,
+      let that be the return value.</p>
+
+     </dd>
+<!--START w3c-html--><!--FORM-DIALOG-->
+
     </dl>
 
     <p>The <dfn>appropriate form encoding algorithm</dfn> is
@@ -65130,10 +65221,10 @@
   <h4 id="commands">Commands</h4>
 
   <p>A <dfn title="concept-command">command</dfn> is the abstraction
-  behind menu items, buttons, and links. Once a command
-  is defined, other parts of the interface can refer to the same
-  command, allowing many access points to a single feature to share
-  facets such as the <span title="command-facet-DisabledState">Disabled State</span>.</p>
+  behind menu items, buttons, and links. Once a command is defined,
+  other parts of the interface can refer to the same command, allowing
+  many access points to a single feature to share facets such as the
+  <span title="command-facet-DisabledState">Disabled State</span>.</p>
 
   <p id="facets">Commands are defined to have the following
   <dfn title="concept-facet">facets</dfn>:</p>
@@ -65456,8 +65547,8 @@
   otherwise.</p>
 
   <p>The <span title="command-facet-DisabledState">Disabled
-  State</span> facet of the command is always false. (The command is
-  always enabled.)</p>
+  State</span> facet of the command is true if the element or one of
+  its ancestors is <span>inert</span>, and false otherwise.</p>
 
   <p>The <span title="command-facet-CheckedState">Checked State</span>
   of the command is always false. (The command is never checked.)</p>
@@ -65485,8 +65576,10 @@
   elements</span> (see the previous section).</p>
 
   <p>The <span title="command-facet-DisabledState">Disabled
-  State</span> of the command mirrors the <span
-  title="concept-fe-disabled">disabled</span> state of the button.</p>
+  State</span> of the command is true if the element or one of its
+  ancestors is <span>inert</span>, or if the element's <span
+  title="concept-fe-disabled">disabled</span> state is set, and false
+  otherwise.</p>
 
 
   <h5><dfn title="input-command">Using the <code>input</code> element to define a command</dfn></h5>
@@ -65563,9 +65656,10 @@
   otherwise.</p>
 
   <p>The <span title="command-facet-DisabledState">Disabled
-  State</span> of the command mirrors the <span
-  title="concept-fe-disabled">disabled</span> state of the
-  control.</p>
+  State</span> of the command is true if the element or one of its
+  ancestors is <span>inert</span>, or if the element's <span
+  title="concept-fe-disabled">disabled</span> state is set, and false
+  otherwise.</p>
 
   <p>The <span title="command-facet-CheckedState">Checked State</span>
   of the command is true if the command is of <span
@@ -65629,11 +65723,11 @@
   otherwise.</p>
 
   <p>The <span title="command-facet-DisabledState">Disabled
-  State</span> of the command is true (disabled) if the element is
-  <span title="concept-option-disabled">disabled</span> or if its
-  nearest ancestor <code>select</code> element is <span
-  title="concept-fe-disabled">disabled</span>, and false
-  otherwise.</p>
+  State</span> of the command is true if the element is <span
+  title="concept-option-disabled">disabled</span>, or if its nearest
+  ancestor <code>select</code> element is <span
+  title="concept-fe-disabled">disabled</span>, or if it or one of its
+  ancestors is <span>inert</span>, and false otherwise.</p>
 
   <p>The <span title="command-facet-CheckedState">Checked State</span>
   of the command is true (checked) if the element's <span
@@ -65698,9 +65792,10 @@
   otherwise.</p>
 
   <p>The <span title="command-facet-DisabledState">Disabled
-  State</span> of the command is true (disabled) if the element has a
-  <code title="attr-command-disabled">disabled</code> attribute, and
-  false otherwise.</p>
+  State</span> of the command is true if the element or one of its
+  ancestors is <span>inert</span>, or if the element has a <code
+  title="attr-command-disabled">disabled</code> attribute, and false
+  otherwise.</p>
 
   <p>The <span title="command-facet-CheckedState">Checked State</span>
   of the command is true (checked) if the element has a <code
@@ -65906,8 +66001,8 @@
   otherwise.</p>
 
   <p>The <span title="command-facet-DisabledState">Disabled
-  State</span> facet of the command is always false. (The command is
-  always enabled.)</p>
+  State</span> of the command is true if the element or one of its
+  ancestors is <span>inert</span>, and false otherwise.</p>
 
   <p>The <span title="command-facet-CheckedState">Checked State</span>
   of the command is always false. (The command is never checked.)</p>
@@ -65933,8 +66028,586 @@
   </div>
 
 
+  <h4>The <dfn><code>dialog</code></dfn> element</h4>
 
+  <dl class="element">
+   <dt><span title="element-dfn-categories">Categories</span>:</dt>
+   <dd><span>Flow content</span>.</dd>
+   <dd><span>Sectioning root</span>.</dd>
+   <dt><span title="element-dfn-contexts">Contexts in which this element can be used</span>:</dt>
+   <dd>Where <span>flow content</span> is expected.</dd>
+   <dd>As a child of a <code>dt</code> element.</dd>
+   <dd>As a child of a <code>th</code> element.</dd>
+   <dt><span title="element-dfn-content-model">Content model</span>:</dt>
+   <dd><span>Flow content</span>.</dd>
+   <dt><span title="element-dfn-attributes">Content attributes</span>:</dt>
+   <dd><span>Global attributes</span></dd>
+   <dd><code title="attr-dialog-open">open</code></dd>
+   <dt><span title="element-dfn-dom">DOM interface</span>:</dt><!--TOPIC:DOM APIs-->
+   <dd>
+<pre class="idl">interface <dfn>HTMLDialogElement</dfn> : <span>HTMLElement</span> {
+           attribute boolean <span title="dom-dialog-open">open</span>;
+           attribute DOMString <span title="dom-dialog-returnValue">returnValue</span>;
+  void show(optional (<span>MouseEvent</span> or <span>Element</span>) anchor);
+  void showModal(optional (<span>MouseEvent</span> or <span>Element</span>) anchor);
+  void close(optional DOMString returnValue);
+};</pre>
+   </dd>
+  </dl><!--TOPIC:HTML-->
 
+  <p>The <code>dialog</code> element represents a part of an
+  application that a user interacts with to perform a task, for
+  example a dialog box, inspector, or window.</p>
+
+  <p>The <dfn title="attr-dialog-open"><code>open</code></dfn>
+  attribute is a <span>boolean attribute</span>. When specified, it
+  indicates that the <code>dialog</code> element is active and that
+  the user can interact with it.</p>
+
+  <div class="impl">
+
+  <p>A <code>dialog</code> element without an <code
+  title="attr-dialog-open">open</code> attribute specified should not
+  be shown to the user. This requirement may be implemented indirectly
+  through the style layer. For example, user agents that <a
+  href="#renderingUA">support the suggested default rendering</a>
+  implement this requirement using the CSS rules described in the <a
+  href="#rendering">rendering section</a>.</p>
+
+  </div>
+
+<!--TOPIC:DOM APIs-->
+
+  <dl class="domintro">
+
+   <dt><var title="">dialog</var> . <code title="dom-dialog-show">show</code>( [ <var title="">anchor</var> ] )</dt>
+
+   <dd>
+
+    <p>Displays the <code>dialog</code> element.</p>
+
+    <p>The argument, if provided, provides an anchor point to which
+    the element will be fixed.</p>
+
+   </dd>
+
+   <dt><var title="">dialog</var> . <code title="dom-dialog-showModal">showModal</code>( [ <var title="">anchor</var> ] )</dt>
+
+   <dd>
+
+    <p>Displays the <code>dialog</code> element and makes it the top-most modal dialog.</p>
+
+    <p>The argument, if provided, provides an anchor point to which
+    the element will be fixed.</p>
+
+   </dd>
+
+   <dt><var title="">dialog</var> . <code title="dom-dialog-close">close</code>( [ <var title="">result</var> ] )</dt>
+
+   <dd>
+
+    <p>Closes the <code>dialog</code> element.</p>
+
+    <p>The argument, if provided, provides a return value.</p>
+
+   </dd>
+
+   <dt><var title="">dialog</var> . <code title="dom-dialog-returnValue">returnValue</code> [ = <var title="">result</var> ]</dt>
+
+   <dd>
+
+    <p>Returns the <code>dialog</code>'s return value.</p>
+
+    <p>Can be set, to update the return value.</p>
+
+   </dd>
+
+  </dl>
+
+  <div class="impl">
+
+  <p>When the <dfn title="dom-dialog-show"><code>show()</code></dfn>
+  method is invoked, the user agent must run the following steps:</p>
+
+  <ol>
+
+   <li><p>If the element already has an <code
+   title="attr-dialog-open">open</code> attribute, then abort these
+   steps.</p></li>
+
+   <li><p>Add an <code title="attr-dialog-open">open</code> attribute
+   to the <code>dialog</code> element, whose value is the empty
+   string.</p></li>
+
+   <li><p>If the <code title="dom-dialog-show">show()</code> method
+   was invoked with an argument, <span>set up the position</span> of
+   the <code>dialog</code> element, using that argument as the anchor.
+   Otherwise, <span>set up the default static position</span> of the
+   dialog element.</p></li>
+
+  </ol>
+
+  <hr>
+
+  <p>Each <code>Document</code> has a stack of <code>dialog</code>
+  elements known as the <dfn>pending dialog stack</dfn>. When a
+  <code>Document</code> is created, this stack must be initialized to
+  be empty.</p>
+
+  <p>When an element is added to the <span>pending dialog
+  stack</span>, it must also be added to the <span>top layer</span>
+  layer. When an element is removed from the <span>pending dialog
+  stack</span>, it must be removed from the <span>top layer</span>. <a
+  href="#refsFULLSCREEN">[FULLSCREEN]</a></p>
+
+  <p>When the <dfn
+  title="dom-dialog-showModal"><code>showModal()</code></dfn> method
+  is invoked, the user agent must run the following steps:</p>
+
+  <ol>
+
+   <li><p>Let <var title="">dialog</var> be the <code>dialog</code>
+   element on which the method was invoked.</p></li>
+
+   <li><p>If <var title="">dialog</var> already has an <code
+   title="attr-dialog-open">open</code> attribute, then throw an
+   <span>InvalidStateError</span> exception and abort these
+   steps.</p></li>
+
+   <li><p>If <var title="">dialog</var> is not <span>in a
+   <code>Document</code></span>, then throw an
+   <span>InvalidStateError</span> exception and abort these
+   steps.</p></li>
+
+   <li><p>Add an <code title="attr-dialog-open">open</code> attribute
+   to <var title="">dialog</var>, whose value is the empty
+   string.</p></li>
+
+   <li><p>If the <code title="dom-dialog-showModal">showModal()</code>
+   method was invoked with an argument, <span>set up the
+   position</span> of <var title="">dialog</var>, using that argument
+   as the anchor. Otherwise, <span>set up the default static
+   position</span> of the dialog element.</p></li>
+
+   <li><p>Let <var title="">dialog</var>'s <code>Document</code> be
+   <span title="blocked by a modal dialog">blocked by the modal
+   dialog</span> <var title="">dialog</var>.</p></li>
+
+   <li><p>Push <var title="">dialog</var> onto <var
+   title="">dialog</var>'s <code>Document</code>'s <span>pending
+   dialog stack</span>.</p></li>
+
+  </ol>
+
+  <p>If at any time a <code>dialog</code> element is <span
+  title="remove an element from a document">removed from a
+  <code>Document</code></span>, then if that <code>dialog</code> is in
+  that <code>Document</code>'s <span>pending dialog stack</span>, the
+  following steps must be run:</p>
+
+  <ol>
+
+   <li><p>Let <var title="">dialog</var> be that <code>dialog</code>
+   element and <var title="">document</var> be the
+   <code>Document</code> from which it is being removed.</p></li>
+
+   <li><p>Remove <var title="">dialog</var> from <var
+   title="">document</var>'s <span>pending dialog
+   stack</span>.</p></li>
+
+   <li><p>If <var title="">document</var>'s <span>pending dialog
+   stack</span> is not empty, then let <var title="">document</var> be
+   <span title="blocked by a modal dialog">blocked by the modal
+   dialog</span> that is at the top of <var title="">document</var>'s
+   <span>pending dialog stack</span>. Otherwise, let <var
+   title="">document</var> be no longer <span>blocked by a modal
+   dialog</span> at all.</p></li>
+
+  </ol>
+
+  <p>When the <dfn title="dom-dialog-close"><code>close()</code></dfn>
+  method is invoked, the user agent must <span>close the dialog</span>
+  that the method was invoked on. If the method was invoked with an
+  argument, that argument must be used as the return value; otherwise,
+  there is no return value.</p>
+
+<!--TOPIC:HTML-->
+
+  <p>When a <code>dialog</code> element <var title="">dialog</var> is
+  to be <dfn title="close the dialog">closed</dfn>, optionally with a
+  return value <var title="">result</var>, the user agent must run the
+  following steps:</p>
+
+  <ol>
+
+   <li><p>If <var title="">dialog</var> does not have an <code
+   title="attr-dialog-open">open</code> attribute, then throw an
+   <span>InvalidStateError</span> exception and abort these
+   steps.</p></li>
+
+   <li><p>Remove <var title="">dialog</var>'s <code
+   title="attr-dialog-open">open</code> attribute.</p></li>
+
+   <li><p>If the argument was passed a <var title="">result</var>,
+   then set the <code
+   title="dom-dialog-returnValue">returnValue</code> attribute to the
+   value of <var title="">result</var>.</p></li>
+
+   <li>
+
+    <p>If <var title="">dialog</var> is in its <code>Document</code>'s
+    <span>pending dialog stack</span>, then run these substeps:</p>
+
+    <ol>
+
+     <li><p>Remove <var title="">dialog</var> from that <span>pending
+     dialog stack</span>.</p></li>
+
+     <li><p>If that <span>pending dialog stack</span> is not empty,
+     then let <var title="">dialog</var>'s <code>Document</code> be
+     <span title="blocked by a modal dialog">blocked by the modal
+     dialog</span> that is at the top of the <span>pending dialog
+     stack</span>. Otherwise, let <var title="">document</var> be no
+     longer <span>blocked by a modal dialog</span> at all.</p></li>
+
+    </ol>
+
+   </li>
+
+   <li><p><span>Queue a task</span> to <span>fire a simple
+   event</span> named <code title="event-close">close</code> at <var
+   title="">dialog</var>.</p></li>
+
+  </ol>
+
+<!--TOPIC:DOM APIs-->
+
+  <p>The <dfn
+  title="dom-dialog-returnValue"><code>returnValue</code></dfn> IDL
+  attribute, on getting, must return the laast value to which it was
+  set. On setting, it must be set to the new value. When the element
+  is created, it must be set to the empty string.</p>
+
+<!--TOPIC:HTML-->
+
+  <hr>
+
+  <p><strong>Canceling dialogs</strong>: When a
+  <code>Document</code>'s <span>pending dialog stack</span> is not
+  empty, user agents may provide a user interface that, upon
+  activation, <span title="queue a task">queues a task</span> to
+  <span>fire a simple event</span> named <code
+  title="event-cancel">cancel</code> that is cancelable at the top
+  <code>dialog</code> element on the <code>Document</code>'s
+  <span>pending dialog stack</span>. The default action of this event
+  must be to <span>close the dialog</span> with no return value.</p>
+
+  <p class="note">An example of such a UI mechanism would be the user
+  pressing the "Escape" key.</p>
+
+  <hr>
+
+  <p>When a user agent is to <dfn>set up the default static
+  position</dfn> of an element <var title="">dialog</var> without an
+  anchor, it must set up the element such that its top static
+  position, for the purposes of calculating the used value of the
+  'top' property, is the value that would place the element's top
+  margin edge as far from the top of the viewport as the element's
+  bottom margin edge from the bottom of the viewport, if the element's
+  height is less than the height of the viewport, and otherwise is the
+  value that would place the element's top margin edge at the top of
+  the viewport.</p>
+
+  <p>This top static position must remain the element's top static
+  position until it is next changed by the above algorithm or the next
+  one. (The element's static position is only used in calculating the
+  used value of the 'top' property in certain situations; it's not
+  used, for instance, to position the element if its 'position'
+  property is set to 'static'.)</p>
+
+  <p>When a user agent is to <dfn>set up the position</dfn> of an
+  element <var title="">dialog</var> using an anchor <var
+  title="">anchor</var>, it must run the following steps:</p>
+
+  <ol>
+
+   <li>
+
+    <p>If <var title="">anchor</var> is a <code>MouseEvent</code>
+    object, then run these substeps:</p>
+
+    <ol>
+
+     <li><p>If <var title="">anchor</var>'s target element does not
+     have a rendered box, or is in a different document than <var
+     title="">dialog</var>, then abort the <span>set up the
+     position</span> steps.</p></li>
+
+     <li><p>Let <var title="">anchor element</var> be an anonymous
+     element rendered as a box with zero height and width (so its
+     margin and border boxes both just form a point), positioned so
+     that its top and left are at the coordinate identified by the
+     event, and whose properties all compute to their initial
+     values.</p></li>
+
+    </ol>
+
+    <p>Otherwise, let <var title="">anchor element</var> be <var
+    title="">anchor</var>.</p>
+
+   </li>
+
+   <li><p>Let <var title="">dialog</var> be <span>magically
+   aligned</span> to <var title="">anchor element</var>.</p></li>
+
+  </ol>
+
+  <p>While an element <var title="">A</var> is <dfn>magically
+  aligned</dfn> to an element <var title="">B</var>, <var
+  title="">A</var> and <var title="">B</var> both have rendered boxes,
+  and <var title="">B</var> is not a descendant of <var
+  title="">A</var>, the following requirements apply:</p>
+
+  <ul>
+
+   <li><p><var title="">A</var>'s 'position' property must compute to
+   the keyword '<dfn
+   title="css-position-absolute-anchored">absolute-anchored</dfn>'.</p></li>
+
+   <li>
+
+    <p>Let <var title="">A</var> and <var title="">B</var>'s anchor
+    points be defined as per the appropriate entry in the following
+    list:</p>
+
+    <dl class="switch">
+
+     <dt>If the computed value of 'anchor-point' is 'none' on both
+     <var title="">A</var> and <var title="">B</var>
+
+     <dd>
+
+      <p>The anchor points of <var title="">A</var> and <var
+      title="">B</var> are the center points of their respective first
+      boxes' border boxes.
+
+
+     <dt>If the computed value of 'anchor-point' is 'none' on <var
+     title="">A</var> and a specific point on <var title="">B</var>
+
+     <dd>
+      <p>The anchor point of <var title="">B</var> is the point given
+      by its 'anchor-point' property.
+
+      <p>If the anchor point of <var title="">B</var> is the center
+      point of <var title="">B</var>'s first box's border box, then
+      <var title="">A</var>'s anchor point is the center point of its
+      first box's margin box.
+
+      <p>Otherwise, <var title="">A</var>'s anchor point is on one of
+      its margin edges. Consider four hypothetical half-infinite lines
+      L1, L2, L3, and L4 that each start in the center of <var
+      title="">B</var>'s first box's border box, and that extend
+      respectively through the top left corner, top right corner,
+      bottom right corner, and bottom left corner of <var
+      title="">B</var>'s first box's border box. <var
+      title="">A</var>'s anchor point is determined by the location of
+      <var title="">B</var>'s anchor point relative to these four
+      hypothetical lines, as follows:
+
+      <p>If the anchor point of <var title="">B</var> lies on L1 or
+      L2, or inside the area bounded by L1 and L2 that also contains
+      the points above <var title="">B</var>'s first box's border box,
+      then let <var title="">A</var>'s anchor point be the horizontal
+      center of <var title="">A</var>'s bottom margin edge.</p>
+
+      <p>Otherwise, if the anchor point of <var title="">B</var> lies
+      on L3 or L4, or inside the area bounded by L4 and L4 that also
+      contains the points below <var title="">B</var>'s first box's
+      border box, then let <var title="">A</var>'s anchor point be the
+      horizontal center of <var title="">A</var>'s top margin
+      edge.</p>
+
+      <p>Otherwise, if the anchor point of <var title="">B</var> lies
+      inside the area bounded by L4 and L1 that also contains the
+      points to the left of <var title="">B</var>'s first box's border
+      box, then let <var title="">A</var>'s anchor point be the
+      vertical center of <var title="">A</var>'s right margin
+      edge.</p>
+
+      <p>Otherwise, the anchor point of <var title="">B</var> lies
+      inside the area bounded by L2 and L3 that also contains the
+      points to the right of <var title="">B</var>'s first box's
+      border box; let <var title="">A</var>'s anchor point be the
+      vertical center of <var title="">A</var>'s left margin edge.</p>
+
+
+     <dt>If the computed value of 'anchor-point' is a specific point
+     on <var title="">A</var> and 'none' on <var title="">B</var>
+
+     <dd>
+      <p>The anchor point of <var title="">A</var> is the point given
+      by its 'anchor-point' property.
+
+      <p>If the anchor point of <var title="">A</var> is the center
+      point of <var title="">A</var>'s first box's margin box, then
+      <var title="">B</var>'s anchor point is the center point of its
+      first box's border box.
+
+      <p>Otherwise, <var title="">B</var>'s anchor point is on one of
+      its border edges. Consider four hypothetical half-infinite lines
+      L1, L2, L3, and L4 that each start in the center of <var
+      title="">A</var>'s first box's margin box, and that extend
+      respectively through the top left corner, top right corner,
+      bottom right corner, and bottom left corner of <var
+      title="">A</var>'s first box's margin box. <var
+      title="">B</var>'s anchor point is determined by the location of
+      <var title="">A</var>'s anchor point relative to these four
+      hypothetical lines, as follows:
+
+      <p>If the anchor point of <var title="">A</var> lies on L1 or
+      L2, or inside the area bounded by L1 and L2 that also contains
+      the points above <var title="">A</var>'s first box's margin box,
+      then let <var title="">B</var>'s anchor point be the horizontal
+      center of <var title="">B</var>'s bottom border edge.</p>
+
+      <p>Otherwise, if the anchor point of <var title="">A</var> lies
+      on L3 or L4, or inside the area bounded by L4 and L4 that also
+      contains the points below <var title="">A</var>'s first box's
+      margin box, then let <var title="">B</var>'s anchor point be the
+      horizontal center of <var title="">B</var>'s top border
+      edge.</p>
+
+      <p>Otherwise, if the anchor point of <var title="">A</var> lies
+      inside the area bounded by L4 and L1 that also contains the
+      points to the left of <var title="">A</var>'s first box's margin
+      box, then let <var title="">B</var>'s anchor point be the
+      vertical center of <var title="">B</var>'s right border
+      edge.</p>
+
+      <p>Otherwise, the anchor point of <var title="">A</var> lies
+      inside the area bounded by L2 and L3 that also contains the
+      points to the right of <var title="">A</var>'s first box's
+      margin box; let <var title="">B</var>'s anchor point be the
+      vertical center of <var title="">B</var>'s left border edge.</p>
+
+
+     <dt>If the computed value of 'anchor-point' is a specific point
+     on both <var title="">A</var> and <var title="">B</var>
+
+     <dd>
+      <p>The anchor points of <var title="">A</var> and <var
+      title="">B</var> are the points given by their respective
+      'anchor-point' properties.
+
+    </dl>
+
+    <p class="note">The rules above generally use <var
+    title="">A</var>'s <em>margin</em> box, but <var
+    title="">B</var>'s <em>border</em> box. This is because while <var
+    title="">A</var> always has a margin box, and using the margin box
+    allows for the dialog to be positioned offset from the box it is
+    annotating, <var title="">B</var> sometimes does not have a margin
+    box (e.g. if it is a table-cell), or has a margin box whose
+    position may be not entirely clear (e.g. in the face of margin
+    collapsing and 'clear' handling of in-flow blocks).</p>
+
+    <p>In cases where <var title="">B</var> does not have a border box
+    but its border box is used by the algorithm above, user agents
+    must use its first box's content area instead. (This is in
+    particular an issue with boxes in tables that have
+    'border-collapse' set to 'collapse'.)</p>
+
+   </li>
+
+  </ul>
+
+  <p class="note">The trivial example of an element that does not have
+  a rendered box is one whose 'display' property computes to 'none'.
+  However, there are many other cases; e.g. table columns do not have
+  boxes (their properties merely affect other boxes).</p>
+
+  <p>When an element's 'position' property must compute to
+  'absolute-anchored', the 'float', property does not apply and must
+  compute to 'none', the 'display' property must compute to a value as
+  described by the table in <a
+  href="http://www.w3.org/TR/CSS21/visuren.html#dis-pos-flo">the
+  section of CSS 2.1 describing the <cite>relationships between
+  'display', 'position', and 'float'</cite></a>, and the element's box
+  must be positioned using the rules for absolute positioning but with
+  its static position set such that if the box is positioned in its
+  static position, its anchor point is exactly aligned over the anchor
+  point of the element to which it is <span>magically
+  aligned</span>.</p>
+
+  <p class="note">The 'absolute-anchored' keyword is not a keyword
+  that can be specified in CSS; the 'position' property can only
+  compute to this value if the <code>dialog</code> element is
+  positioned via the APIs described above.</p>
+
+<!--TOPIC:DOM APIs-->
+  <p>The <dfn title="dom-dialog-open"><code>open</code></dfn> IDL
+  attribute must <span>reflect</span> the <code
+  title="attr-dialog-open">open</code> content attribute.</p>
+<!--TOPIC:HTML-->
+
+  </div>
+
+
+  <h5>Anchor points</h5>
+
+  <p class="critical">This section will eventually be moved to a CSS
+  specification; it is specified here only on an interim basis until
+  an editor can be found to own this.</p>
+
+  <table class="css-property">
+   <caption>'anchor-point'</caption>
+   <tr>
+    <th>Value:
+    <td> none | &lt;position>
+   <tr>
+    <th>Initial:
+    <td> none
+   <tr>
+    <th>Applies to:
+    <td> all elements
+   <tr>
+    <th>Inherited:
+    <td> no
+   <tr>
+    <th>Percentages:
+    <td> refer to width or height of box; see prose
+   <tr>
+    <th>Media:
+    <td> visual
+   <tr>
+    <th>Computed value:
+    <td> The specified value, but with any lengths replaced by their corresponding absolute length
+   <tr>
+    <th>Animatable:
+    <td> no
+   <tr>
+    <th>Canonical order:
+    <td> per grammar
+  </table>
+
+  <p>The 'anchor-point' property specifies a point to which dialog
+  boxes are to be aligned.</p>
+
+  <p>If the value is a &lt;position>, the alignment point is the point
+  given by the value, which must be interpreted relative to the
+  element's first rendered box's margin box. Percentages must be
+  calculated relative to the element's first rendered box's margin box
+  (specifically, its width for the horizontal position and its height
+  for the vertical position). <a href="#refsCSSVALUES">[CSSVALUES]</a>
+  <a href="#refsCSS">[CSS]</a></p>
+
+  <p>If the value is the keyword 'none', then no explicit alignment
+  point is defined. The user agent will pick an alignment point
+  automatically if necessary (as described in the definition of the
+  <code title="dom-dialog-open">open()</code> method above).</p>
+
+
   <h3 id="links">Links</h3>
 
   <h4>Introduction</h4>
@@ -74614,10 +75287,12 @@
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onbeforeprint">onbeforeprint</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onbeforeunload">onbeforeunload</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onblur">onblur</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncancel">oncancel</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncanplay">oncanplay</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncanplaythrough">oncanplaythrough</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onchange">onchange</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onclick">onclick</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onclose">onclose</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncontextmenu">oncontextmenu</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncuechange">oncuechange</span>;
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondblclick">ondblclick</span>;
@@ -82815,10 +83490,12 @@
     <tr><th><span title="event handlers">Event handler</span> <th><span>Event handler event type</span>
    <tbody>
     <tr><td><dfn title="handler-onabort"><code>onabort</code></dfn> <td> <code title="event-abort">abort</code>
+    <tr><td><dfn title="handler-oncancel"><code>oncancel</code></dfn> <td> <code title="event-media-cancel">cancel</code>
     <tr><td><dfn title="handler-oncanplay"><code>oncanplay</code></dfn> <td> <code title="event-media-canplay">canplay</code>
     <tr><td><dfn title="handler-oncanplaythrough"><code>oncanplaythrough</code></dfn> <td> <code title="event-media-canplaythrough">canplaythrough</code>
     <tr><td><dfn title="handler-onchange"><code>onchange</code></dfn> <td> <code title="event-change">change</code> <!-- widely used -->
     <tr><td><dfn title="handler-onclick"><code>onclick</code></dfn> <td> <code title="event-click">click</code> <!-- widely used -->
+    <tr><td><dfn title="handler-onclose"><code>onclose</code></dfn> <td> <code title="event-close">close</code> <!-- new for <dialog> -->
     <tr><td><dfn title="handler-oncontextmenu"><code>oncontextmenu</code></dfn> <td> <code title="event-contextmenu">contextmenu</code> <!-- widely used -->
     <tr><td><dfn title="handler-oncuechange"><code>oncuechange</code></dfn> <td> <code title="event-cuechange">cuechange</code>
     <tr><td><dfn title="handler-ondblclick"><code>ondblclick</code></dfn> <td> <code title="event-dblclick">dblclick</code> <!-- widely used -->
@@ -85381,6 +86058,82 @@
 
 
 
+  <h3>Inert subtrees</h3>
+
+  <p>A subtree of a <code>Document</code> can be marked as
+  <dfn>inert</dfn>. When a node or one of its ancestors is
+  <span>inert</span>, then the user agent must act as if the element
+  was absent for the purposes of targetting user interaction events,
+  may ignore the node for the purposes of text search user interfaces
+  (commonly known as "find in page"), and may prevent the user from
+  selecting text in that node. User agents should allow the user to
+  override the restrictions on search and text selection, however.</p>
+
+  <p class="example">For example, consider a page that consists of
+  just a single <span>inert</span> paragraph positioned in the middle
+  of a <code>body</code>. If a user moves their pointing device from
+  the <code>body</code> over to the <span>inert</span> paragraph and
+  clicks on the paragraph, no <code
+  title="event-mouseover">mouseover</code> event would be fired, and
+  the <code title="event-mousemove">mousemove</code> and <code
+  title="event-click">click</code> events would be fired on the
+  <code>body</code> element rather than the paragraph.</p>
+
+  <p class="note">When a node or one of its ancestors is inert, it
+  also can't be focused (see the <span>focusing steps</span>), and it
+  is disabled if it is a <span
+  title="concept-command">command</span>.</p>
+
+  <p>An entire <code>Document</code> can be marked as <dfn>blocked by
+  a modal dialog</dfn> <var title="">dialog</var>. While a
+  <code>Document</code> is so marked, every node that is <span
+  title="in a Document">in the <code>Document</code></span>, with the
+  exception of the <var title="">dialog</var> element, its ancestors,
+  and its descendants, must be marked <span>inert</span>. (The
+  elements excepted by this paragraph can additionally be marked
+  <span>inert</span> through other means; being part of a modal dialog
+  does not "protect" a node from being marked <span>inert</span>.)</p>
+
+  <p>Only one element at a time can mark a <code>Document</code> as
+  being <span>blocked by a modal dialog</span>. When a new
+  <code>dialog</code> is made to <span title="blocked by a modal
+  dialog">block</span> a <code>Document</code>, the previous element,
+  if any, stops blocking the <code>Document</code>.</p>
+
+  <p class="note">The <code>dialog</code> element's <code
+  title="dom-dialog-showModal">showModal()</code> method makes use of
+  this mechanism.</p>
+
+
+<!--END w3c-html--><!--INERT-->
+  <h4>The <dfn title="attr-inert"><code>inert</code></dfn> attribute</h4>
+
+  <p>The <code title="attr-inert">inert</code> attribute is a
+  <span>boolean attribute</span> that indicates, by its presence, that
+  the element is to be made <span>inert</span>.</p>
+
+  <div class="impl">
+
+  <p>When an element has an <code title="attr-inert">inert</code>
+  attribute, the user agent must mark that element as
+  <span>inert</span>.</p>
+
+  </div>
+
+  <p class="note">By default, there is no visual indication of a
+  subtree being inert. Authors are encouraged to clearly mark what
+  parts of their document are active and which are inert, to avoid
+  user confusion. In particular, it is worth remembering that not all
+  users can see all parts of a page at once; for example, users of
+  screen readers, users on small devices or with magnifiers, and even
+  users just using particularly small windows might not be able to see
+  the active part of a page and may get frustrated if inert sections
+  are not obviously inert. For individual controls, the <code
+  title="attr-input-disabled">disabled</code> attribute is probably
+  more appropriate.</p>
+<!--START w3c-html--><!--INERT-->
+
+
 <!--TOPIC:DOM APIs-->
   <h3>Activation</h3>
 
@@ -85684,7 +86437,8 @@
    <code>Document</code> has no <span>browsing context</span>, or if
    the element's <code>Document</code>'s <span>browsing context</span>
    has no <span>top-level browsing context</span>, or if the element
-   is not <span>focusable</span>, then abort these steps.</p>
+   is not <span>focusable</span>, or if the element or one of its
+   ancestors is <span>inert</span>, then abort these steps.</p>
 
    <li><p>If focusing the element will remove the focus from another
    element, then run the <span>unfocusing steps</span> for that
@@ -102023,9 +102777,9 @@
 
    <!-- the normal ones -->
    <dt>A start tag whose tag name is one of: "address", "article",
-   "aside", "blockquote", "center", "details", "dir", "div", "dl",
-   "fieldset", "figcaption", "figure", "footer", "header", "hgroup",
-   "menu", "nav", "ol", "p", "section", "summary", "ul"</dt>
+   "aside", "blockquote", "center", "details", "dialog", "dir", "div",
+   "dl", "fieldset", "figcaption", "figure", "footer", "header",
+   "hgroup", "menu", "nav", "ol", "p", "section", "summary", "ul"</dt>
    <dd>
 
     <!-- As of May 2008 this doesn't match any browser exactly, but is
@@ -102252,10 +103006,10 @@
 
    <!-- the normal ones -->
    <dt>An end tag whose tag name is one of: "address", "article",
-   "aside", "blockquote", "button", "center", "details", "dir", "div",
-   "dl", "fieldset", "figcaption", "figure", "footer", "header",
-   "hgroup", "listing", "menu", "nav", "ol", "pre", "section",
-   "summary", "ul"</dt>
+   "aside", "blockquote", "button", "center", "details", "dialog",
+   "dir", "div", "dl", "fieldset", "figcaption", "figure", "footer",
+   "header", "hgroup", "listing", "menu", "nav", "ol", "pre",
+   "section", "summary", "ul"</dt>
    <dd>
 
     <p>If the <span>stack of open elements</span> does not <span
@@ -106670,8 +107424,20 @@
 address { font-style: italic; }
 listing, plaintext, pre, xmp {
   font-family: monospace; white-space: pre;
-}</pre>
+}
 
+dialog:not([open]) { display: none; }
+dialog {
+  position: absolute;
+  left: 0; right: 0;
+  margin: auto;
+  border: solid;
+  padding: 1em;
+  background: white;
+  color: black;
+}
+dialog::backdrop { background: rgba(0,0,0,0.1); }</pre>
+
   <p>The following rules are also expected to apply, as
   <span>presentational hints</span>:</p>
 
@@ -113526,6 +114292,20 @@
     </tr>
 
     <tr>
+     <th><code>dialog</code></th>
+     <td>Dialog box or window</td>
+     <td><span title="Flow content">flow</span>;
+         <span title="Sectioning root">sectioning root</span></td>
+     <td><code>dt</code>;
+         <code>th</code>;
+         <span title="Flow content">flow</span></td>
+     <td><span title="Flow content">flow</span></td>
+     <td><span title="global attributes">globals</span>;
+         <code title="attr-dialog-open">open</code></td>
+     <td><code>HTMLDialogElement</code></td>
+    </tr>
+
+    <tr>
      <th><code>div</code></th>
      <td>Generic flow container</td>
      <td><span title="Flow content">flow</span></td>
@@ -114653,6 +115433,7 @@
       <code>del</code>;
       <code>details</code>;
       <code>dfn</code>;
+      <code>dialog</code>;
       <code>div</code>;
       <code>dl</code>;
       <code>em</code>;
@@ -114853,6 +115634,7 @@
       <code>blockquote</code>;
       <code>body</code>;
       <code>details</code>;
+      <code>dialog</code>;
       <code>fieldset</code>;
       <code>figure</code>;
       <code>td</code>
@@ -115363,7 +116145,14 @@
      <td> <span title="attr-id">HTML elements</span>
      <td> The element's <span title="concept-id">ID</span>
      <td> <a href="#attribute-text">Text</a>*
+<!--END w3c-html--><!--INERT-->
     <tr>
+     <th> <code title="">inert</code>
+     <td> <span title="attr-inert">HTML elements</span>
+     <td> Whether the element is inert
+     <td> <span>Boolean attribute</span>
+<!--START w3c-html--><!--INERT-->
+    <tr>
      <th> <code title="">ismap</code>
      <td> <code title="attr-img-ismap">img</code>
      <td> Whether the image is a server-side image map
@@ -115480,7 +116269,11 @@
      <th> <code title="">method</code>
      <td> <code title="attr-fs-method">form</code>
      <td> HTTP method to use for <span>form submission</span>
-     <td> "<code title="">GET</code>"; "<code title="">POST</code>"
+     <td> "<code title="attr-fs-method-GET-keyword">GET</code>";
+          "<code title="attr-fs-method-POST-keyword">POST</code>";
+<!--END w3c-html--><!--FORM-DIALOG-->
+          "<code title="attr-fs-method-dialog-keyword">dialog</code>"
+<!--START w3c-html--><!--FORM-DIALOG-->
     <tr>
      <th> <code title="">min</code>
      <td> <code title="attr-input-min">input</code>
@@ -115551,6 +116344,11 @@
      <td> Whether the details are visible
      <td> <span>Boolean attribute</span>
     <tr>
+     <th> <code title="">open</code>
+     <td> <code title="attr-dialog-open">dialog</code>
+     <td> Whether the dialog box is showing
+     <td> <span>Boolean attribute</span>
+    <tr>
      <th> <code title="">optimum</code>
      <td> <code title="attr-meter-optimum">meter</code>
      <td> Optimum value in gauge
@@ -115933,6 +116731,12 @@
      <td> <span title="event handler content attributes">Event handler content attribute</span>
 
     <tr>
+     <th id="ix-handler-oncancel"> <code title="">oncancel</code>
+     <td> <span title="handler-oncancel">HTML elements</span>
+     <td> <code title="event-media-cancel">cancel</code> event handler
+     <td> <span title="event handler content attributes">Event handler content attribute</span>
+
+    <tr>
      <th id="ix-handler-oncanplay"> <code title="">oncanplay</code>
      <td> <span title="handler-oncanplay">HTML elements</span>
      <td> <code title="event-media-canplay">canplay</code> event handler
@@ -115957,6 +116761,12 @@
      <td> <span title="event handler content attributes">Event handler content attribute</span>
 
     <tr>
+     <th id="ix-handler-onclose"> <code title="">onclose</code>
+     <td> <span title="handler-onclose">HTML elements</span>
+     <td> <code title="event-close">close</code> event handler
+     <td> <span title="event handler content attributes">Event handler content attribute</span>
+
+    <tr>
      <th id="ix-handler-oncontextmenu"> <code title="">oncontextmenu</code>
      <td> <span title="handler-oncontextmenu">HTML elements</span>
      <td> <code title="event-contextmenu">contextmenu</code> event handler
@@ -116481,6 +117291,10 @@
      <td> <code>HTMLElement</code>
 
     <tr>
+     <td> <code>dialog</code>
+     <td> <code>HTMLDialogElement</code> : <code>HTMLElement</code>
+
+    <tr>
      <td> <code>div</code>
      <td> <code>HTMLDivElement</code> : <code>HTMLElement</code>
 
@@ -117214,6 +118028,9 @@
    href="http://dev.w3.org/2009/dap/file-system/file-dir-sys.html">File
    API: Directories and System</a></cite>, E. Uhrhane. W3C.</dd>
 
+   <dt id="refsFULLSCREEN">[FULLSCREEN]</dt>
+   <dd><cite><a href="http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html">Fullscreen</a></cite>, A. van Kesteren, T. &Ccedil;elik.</dd>
+
    <dt id="refsGBK">[GBK]</dt>
    <dd><cite>Chinese Internal Code Specification</cite>. Chinese IT
    Standardization Technical Committee.</dd>

|