spec/Overview.html 1.1948 2778 Defined how pseudo-classes match HTML co

Defined how pseudo-classes match HTML concepts. Redid how rtl/ltr
changes are marked. Stopped <legend> centering for <figure>. Removed
<multicol> support. Removed <basefont> support. Removed obsolete notes.
Fixed minor typos. (whatwg r2778)

10.4.12 The input element as a button
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#the-input-element-as-a-button
4.5.10 The dl element
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#the-dl-element
10.5 Frames and framesets
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#frames-and-framesets
value
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#dom-li-value
:enabled
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#selector-enabled
null
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#attr-bb-type-null-state
10.8 Interaction with CSS
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#interaction-with-css
4.13 Matching HTML elements using selectors
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#matching-html-elements-using-selectors
affected by a base URL change
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#affected-by-a-base-url-change
:out-of-range
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#selector-out-of-range
10.2 The CSS user agent style sheet and presentational hints
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#the-css-user-agent-style-sheet-and-presentational-hints
:active
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#selector-active
11 Obsolete features
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#obsolete-features
title="selector-read-write">:read-write
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#title-selector-read-write-:read-write
text field selections
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#text-field-selection
presentational hints
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#presentational-hints
:required
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#selector-required
5.10.9 History traversal
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#history-traversal
10.2.2 Display types
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#display-types
:disabled
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#selector-disabled
target element
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#target-element
10.2.5 Fonts and colors
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#fonts-and-colors
:optional
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#selector-optional
:valid
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#selector-valid
maps to the pixel length property
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#maps-to-the-pixel-length-property
:visited
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#selector-visited
10.2.4 Alignment
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#alignment
6.6.1 APIs for the browsing context selection
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#documentSelection
:invalid
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#selector-invalid
:link
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#selector-link
5.1 Browsing contexts
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#windows
LTR-specific
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#ltr-specific
:indeterminate
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#selector-indeterminate
5 Web browsers
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#browsers
The indicated part of the document
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#the-indicated-part-of-the-document
10.2.3 Margins and padding
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#margins-and-padding
:default
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#selector-default
:in-range
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#selector-in-range
10.2.6 Punctuation and decorations
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#punctuation-and-decorations
:checked
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#selector-checked
:read-only
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#selector-read-only
4.12.2 The div element
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1948.html#the-div-element

http://people.w3.org/mike/diffs/html5/spec/Overview.diff.html
http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.1947&r2=1.1948&f=h
http://html5.org/tools/web-apps-tracker?from=2777&to=2778

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.1947
retrieving revision 1.1948
diff -u -d -r1.1947 -r1.1948
--- Overview.html 11 Feb 2009 02:54:52 -0000 1.1947
+++ Overview.html 11 Feb 2009 07:36:39 -0000 1.1948
@@ -568,7 +568,8 @@
    <li><a href=#miscellaneous-elements><span class=secno>4.12 </span>Miscellaneous elements</a>
     <ol>
      <li><a href=#the-legend-element><span class=secno>4.12.1 </span>The <code>legend</code> element</a></li>
-     <li><a href=#the-div-element><span class=secno>4.12.2 </span>The <code>div</code> element</a></ol></ol></li>
+     <li><a href=#the-div-element><span class=secno>4.12.2 </span>The <code>div</code> element</a></ol></li>
+   <li><a href=#matching-html-elements-using-selectors><span class=secno>4.13 </span>Matching HTML elements using selectors</a></ol></li>
  <li><a href=#browsers><span class=secno>5 </span>Web browsers</a>
   <ol>
    <li><a href=#windows><span class=secno>5.1 </span>Browsing contexts</a>
@@ -3895,8 +3896,8 @@
     affecting the display, then the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute should be <a href=#resolve-a-url title="resolve a url">reresolved</a> relative to the element
     and the UI updated appropriately.</p>
 
-    <p class=example>For example, the CSS <code title="">:link</code>/<code title="">:visited</code>
-    pseudo-classes might have been affected.</p>
+    <p class=example>For example, the CSS <code title=selector-link><a href=#selector-link>:link</a></code>/<code title=selector-visited><a href=#selector-visited>:visited</a></code> pseudo-classes might have
+    been affected.</p>
 
     <p>If the hyperlink has a <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute and its <a href=#absolute-url title="absolute URL">absolute URL(s)</a> are being shown to the
     user, then the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code>
@@ -10062,12 +10063,11 @@
   &lt;li&gt;&lt;cite&gt;Ratatouille&lt;/cite&gt;, 2007&lt;/li&gt;
  &lt;/ol&gt;
 &lt;/figure&gt;</pre>
-  </div><p>If the <code><a href=#the-li-element>li</a></code> element is the child of a
+  </div><p class=note>If the <code><a href=#the-li-element>li</a></code> element is the child of a
   <code><a href=#menus>menu</a></code> element and itself has a child that defines a
   <a href=#concept-command title=concept-command>command</a>, then the
-  <code><a href=#the-li-element>li</a></code> element must match the <code title="">:enabled</code> and <code title="">:disabled</code>
-  pseudo-classes in the same way as the first such child element
-  does.<h4 id=the-dl-element><span class=secno>4.5.10 </span>The <dfn><code>dl</code></dfn> element</h4><dl class=element><dt>Categories</dt>
+  <code><a href=#the-li-element>li</a></code> element will match the <code title=selector-enabled><a href=#selector-enabled>:enabled</a></code> and <code title=selector-disabled><a href=#selector-disabled>:disabled</a></code> pseudo-classes in the
+  same way as the first such child element does.<h4 id=the-dl-element><span class=secno>4.5.10 </span>The <dfn><code>dl</code></dfn> element</h4><dl class=element><dt>Categories</dt>
    <dd><a href=#flow-content-0>Flow content</a>.</dd>
    <dt>Contexts in which this element may be used:</dt>
    <dd>Where <a href=#flow-content-0>flow content</a> is expected.</dd>
@@ -26820,8 +26820,9 @@
   <i>relevance</i> is true must be enabled. Conversely, a
   <code><a href=#the-bb-element>bb</a></code> element whose <code title=attr-bb-type><a href=#attr-bb-type>type</a></code>
   attribute is in a state whose <i>relevance</i> is false must be
-  disabled.<p>If a <code><a href=#the-bb-element>bb</a></code> element is enabled, it must match the <code title="">:enabled</code> pseudo-class; otherwise, it must match the
-  <code title="">:disabled</code> pseudo-class.<p>User agents should allow users to invoke <code><a href=#the-bb-element>bb</a></code> elements
+  disabled.<p class=note>If a <code><a href=#the-bb-element>bb</a></code> element is enabled, it will
+  match the <code title=selector-enabled><a href=#selector-enabled>:enabled</a></code>
+  pseudo-class; otherwise, it will match the <code title=selector-disabled><a href=#selector-disabled>:disabled</a></code> pseudo-class.<p>User agents should allow users to invoke <code><a href=#the-bb-element>bb</a></code> elements
   when they are enabled. When a user invokes a <code><a href=#the-bb-element>bb</a></code>
   element, its <code title=attr-bb-type><a href=#attr-bb-type>type</a></code> attribute's
   state's <i>action</i> must be invoked.<p>When the element has no descendant element children and has no
@@ -27466,7 +27467,291 @@
   if we could somehow make such pages non-compliant without preventing
   people from using <code><a href=#the-div-element>div</a></code>s as the extension mechanism that
   they are, to handle things the spec can't otherwise do (like making
-  new widgets).<h2 id=browsers><span class=secno>5 </span>Web browsers</h2><p>This section describes features that apply most directly to Web
+  new widgets).<h3 id=matching-html-elements-using-selectors><span class=secno>4.13 </span>Matching HTML elements using selectors</h3><p>There are a number of dynamic selectors that can be used with
+  HTML. This section defines when these selectors match HTML
+  elements.<dl><dt><dfn id=selector-link title=selector-link><code>:link</code></dfn></dt>
+   <dt><dfn id=selector-visited title=selector-visited><code>:visited</code></dfn></dt>
+
+   <dd>
+
+    <p>All <code><a href=#the-a-element>a</a></code> elements that have an <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute, all
+    <code><a href=#the-area-element>area</a></code> elements that have an <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute, and all
+    <code><a href=#the-link-element>link</a></code> elements that have an <code title=attr-link-href><a href=#attr-link-href>href</a></code> attribute, must match one of
+    <code title=selector-link><a href=#selector-link>:link</a></code> and <code title=selector-visited><a href=#selector-visited>:visited</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id=selector-active title=selector-active><code>:active</code></dfn></dt>
+
+   <dd>
+
+    <p>The <code title=selector-active><a href=#selector-active>:active</a></code> pseudo-class
+    must match the following elements between the time the user begins
+    to activate the element and the time the users stops activating
+    the element:</p>
+
+    <ul><li><code><a href=#the-a-element>a</a></code> elements that have an <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute</li>
+
+     <li><code><a href=#the-area-element>area</a></code> elements that have an <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute</li>
+
+     <li><code><a href=#the-link-element>link</a></code> elements that have an <code title=attr-link-href><a href=#attr-link-href>href</a></code> attribute</li>
+
+     <li><code><a href=#the-bb-element>bb</a></code> elements whose <code title=attr-bb-type><a href=#attr-bb-type>type</a></code> attribute is in a state whose
+     <i>relevance</i> is true</li>
+
+     <li><code><a href=#the-button-element>button</a></code> elements that are not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a></li>
+
+     <li><code><a href=#the-input-element>input</a></code> elements whose <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#submit-button-state title=attr-input-type-submit>Submit Button</a>, <a href=#image-button-state title=attr-input-type-image>Image Button</a>, <a href=#reset-button-state title=attr-input-type-reset>Reset Button</a>, or <a href=#button-state title=attr-input-type-button>Button</a> state</li>
+
+     <li><code><a href=#the-command>command</a></code> elements that do not have a <code title=attr-command-disabled><a href=#attr-command-disabled>disabled</a></code> attribute</li>
+
+    </ul><p class=example>For example, if the user is using a keyboard to
+    push a <code><a href=#the-button-element>button</a></code> element by pressing the space bar, the
+    element would match this pseudo-class in between the time that the
+    element received the <code title=event-keydown>keydown</code>
+    event and the time the element received the <code title=event-keyup>keyup</code> event.</p>
+
+   </dd>
+
+
+   <dt><dfn id=selector-enabled title=selector-enabled><code>:enabled</code></dfn></dt>
+
+   <dd>
+
+    <p>The <code title=selector-enabled><a href=#selector-enabled>:enabled</a></code> pseudo-class
+    must match the following elements:</p>
+
+    <ul><li><code><a href=#the-a-element>a</a></code> elements that have an <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute</li>
+
+     <li><code><a href=#the-area-element>area</a></code> elements that have an <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute</li>
+
+     <li><code><a href=#the-link-element>link</a></code> elements that have an <code title=attr-link-href><a href=#attr-link-href>href</a></code> attribute</li>
+
+     <li><code><a href=#the-bb-element>bb</a></code> elements whose <code title=attr-bb-type><a href=#attr-bb-type>type</a></code> attribute is in a state whose
+     <i>relevance</i> is true</li>
+
+     <li><code><a href=#the-button-element>button</a></code> elements that are not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a></li>
+
+     <li><code><a href=#the-input-element>input</a></code> elements that are not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a></li>
+
+     <li><code><a href=#the-select-element>select</a></code> elements that are not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a></li>
+
+     <li><code><a href=#the-textarea-element>textarea</a></code> elements that are not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a></li>
+
+     <li><code><a href=#the-option-element>option</a></code> elements that do not have a <code title=attr-option-disabled><a href=#attr-option-disabled>disabled</a></code> attribute</li>
+
+     <li><code><a href=#the-command>command</a></code> elements that do not have a <code title=attr-command-disabled><a href=#attr-command-disabled>disabled</a></code> attribute</li>
+
+     <li><code><a href=#the-li-element>li</a></code> elements that are children of
+     <code><a href=#menus>menu</a></code> elements, and that have a child element that
+     defines a <a href=#concept-command title=concept-command>command</a>, if the
+     first such element's <a href=#command-facet-disabledstate title=command-facet-disabledstate>Disabled State</a> facet
+     is false (not disabled)</li>
+
+     <li>any other element, if it is <a href=#focusable>focusable</a></li>
+
+    </ul></dd>
+
+
+   <dt><dfn id=selector-disabled title=selector-disabled><code>:disabled</code></dfn></dt>
+
+   <dd>
+
+    <p>The <code title=selector-disabled><a href=#selector-disabled>:disabled</a></code>
+    pseudo-class must match the following elements:</p>
+
+    <ul><li><code><a href=#the-bb-element>bb</a></code> elements whose <code title=attr-bb-type><a href=#attr-bb-type>type</a></code> attribute is in a state whose
+     <i>relevance</i> is false</li>
+
+     <li><code><a href=#the-button-element>button</a></code> elements that are <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a></li>
+
+     <li><code><a href=#the-input-element>input</a></code> elements that are <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a></li>
+
+     <li><code><a href=#the-select-element>select</a></code> elements that are <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a></li>
+
+     <li><code><a href=#the-textarea-element>textarea</a></code> elements that are <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a></li>
+
+     <li><code><a href=#the-option-element>option</a></code> elements that have a <code title=attr-option-disabled><a href=#attr-option-disabled>disabled</a></code> attribute</li>
+
+     <li><code><a href=#the-command>command</a></code> elements that have a <code title=attr-command-disabled><a href=#attr-command-disabled>disabled</a></code> attribute</li>
+
+     <li><code><a href=#the-li-element>li</a></code> elements that are children of
+     <code><a href=#menus>menu</a></code> elements, and that have a child element that
+     defines a <a href=#concept-command title=concept-command>command</a>, if the
+     first such element's <a href=#command-facet-disabledstate title=command-facet-disabledstate>Disabled State</a> facet
+     is true (disabled)</li>
+
+    </ul></dd>
+
+
+   <dt><dfn id=selector-checked title=selector-checked><code>:checked</code></dfn></dt>
+
+   <dd>
+
+    <p>The <code title=selector-checked><a href=#selector-checked>:checked</a></code> pseudo-class
+    must match the following elements:</p>
+
+    <ul><li><code><a href=#the-input-element>input</a></code> elements whose <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#checkbox-state title=attr-input-type-checkbox>Checkbox</a> state and whose
+     <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state is
+     true</li>
+
+     <li><code><a href=#the-input-element>input</a></code> elements whose <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#radio-button-state title=attr-input-type-radio>Radio Button</a> state and whose
+     <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state is
+     true</li>
+
+     <li><code><a href=#the-command>command</a></code> elements whose <code title=attr-command-type><a href=#attr-command-type>type</a></code> attribute is in the <a href=#attr-command-type-state-checkbox title=attr-command-type-state-checkbox>Checkbox</a> state
+     and that have a <code title=attr-command-checked><a href=#attr-command-checked>checked</a></code>
+     attribute</li>
+
+     <li><code><a href=#the-command>command</a></code> elements whose <code title=attr-command-type><a href=#attr-command-type>type</a></code> attribute is in the <a href=#attr-command-type-state-radio title=attr-command-type-state-radio>Radio</a> state and that
+     have a <code title=attr-command-checked><a href=#attr-command-checked>checked</a></code>
+     attribute</li>
+
+    </ul></dd>
+
+
+   <dt><dfn id=selector-indeterminate title=selector-indeterminate><code>:indeterminate</code></dfn></dt>
+
+   <dd>
+
+    <p>The <code title=selector-indeterminate><a href=#selector-indeterminate>:indeterminate</a></code>
+    pseudo-class must match <code><a href=#the-input-element>input</a></code> elements whose <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#checkbox-state title=attr-input-type-checkbox>Checkbox</a> state and whose
+    <code title=dom-input-indeterminate><a href=#dom-input-indeterminate>indeterminate</a></code> DOM
+    attribute is set to true.</p>
+
+   </dd>
+
+
+   <dt><dfn id=selector-default title=selector-default><code>:default</code></dfn></dt>
+
+   <dd>
+
+    <p>The <code title=selector-default><a href=#selector-default>:default</a></code> pseudo-class
+    must match the following elements:</p>
+
+    <ul><li><code><a href=#the-button-element>button</a></code> elements that are their form's
+     <a href=#default-button>default button</a></li>
+
+     <li><code><a href=#the-input-element>input</a></code> elements whose <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#submit-button-state title=attr-input-type-submit>Submit Button</a> or <a href=#image-button-state title=attr-input-type-image>Image Button</a> state, and that
+     are their form's <a href=#default-button>default button</a></li>
+ 
+     <li><code><a href=#the-command>command</a></code> elements that have a <code title=attr-command-default><a href=#attr-command-default>default</a></code> attribute</li>
+
+    </ul></dd>
+
+
+   <dt><dfn id=selector-valid title=selector-valid><code>:valid</code></dfn></dt>
+
+   <dd>
+
+    <p>The <code title=selector-valid><a href=#selector-valid>:valid</a></code> pseudo-class
+    must match all elements that are <a href=#candidate-for-constraint-validation title="candidate for
+    constraint validation">candidates for constraint validation</a>
+    and that <a href=#concept-fv-valid title=concept-fv-valid>satisfy their
+    constraints</a>.</p>
+
+   </dd>
+
+
+   <dt><dfn id=selector-invalid title=selector-invalid><code>:invalid</code></dfn></dt>
+
+   <dd>
+
+    <p>The <code title=selector-invalid><a href=#selector-invalid>:invalid</a></code> pseudo-class
+    must match all elements that are <a href=#candidate-for-constraint-validation title="candidate for
+    constraint validation">candidates for constraint validation</a>
+    but that do not <a href=#concept-fv-valid title=concept-fv-valid>satisfy their
+    constraints</a>.</p>
+
+   </dd>
+
+
+   <dt><dfn id=selector-in-range title=selector-in-range><code>:in-range</code></dfn></dt>
+
+   <dd>
+
+    <p>The <code title=selector-in-range><a href=#selector-in-range>:in-range</a></code>
+    pseudo-class must match all elements that are <a href=#candidate-for-constraint-validation title="candidate for constraint validation">candidates for
+    constraint validation</a> and that are neither <a href=#suffering-from-an-underflow>suffering
+    from an underflow</a> nor <a href=#suffering-from-an-overflow>suffering from an
+    overflow</a>.</p>
+
+   </dd>
+
+
+   <dt><dfn id=selector-out-of-range title=selector-out-of-range><code>:out-of-range</code></dfn></dt>
+
+   <dd>
+
+    <p>The <code title=selector-out-of-range><a href=#selector-out-of-range>:out-of-range</a></code>
+    pseudo-class must match all elements that are <a href=#candidate-for-constraint-validation title="candidate for constraint validation">candidates for
+    constraint validation</a> and that are <a href=#suffering-from-an-underflow>suffering from an
+    underflow</a> or <a href=#suffering-from-an-overflow>suffering from an overflow</a>.</p>
+
+   </dd>
+
+
+   <dt><dfn id=selector-required title=selector-required><code>:required</code></dfn></dt>
+
+   <dd>
+
+    <p>The <code title=selector-required><a href=#selector-required>:required</a></code>
+    pseudo-class must match the following elements:</p>
+
+    <ul><li><code><a href=#the-input-element>input</a></code> elements that are <i title=concept-input-required><a href=#concept-input-required>required</a></i></li>
+
+     <li><code><a href=#the-textarea-element>textarea</a></code> elements that have a <code title=attr-textarea-required><a href=#attr-textarea-required>required</a></code>
+     attribute</li>
+
+    </ul></dd>
+
+
+   <dt><dfn id=selector-optional title=selector-optional><code>:optional</code></dfn></dt>
+
+   <dd>
+
+    <p>The <code title=selector-optional><a href=#selector-optional>:optional</a></code>
+    pseudo-class must match the following elements:</p>
+
+    <ul><li><code><a href=#the-button-element>button</a></code> elements</li>
+
+     <li><code><a href=#the-input-element>input</a></code> elements that are not <i title=concept-input-required><a href=#concept-input-required>required</a></i></li>
+
+     <li><code><a href=#the-select-element>select</a></code> elements</li>
+
+     <li><code><a href=#the-textarea-element>textarea</a></code> elements that do not have a <code title=attr-textarea-required><a href=#attr-textarea-required>required</a></code>
+     attribute</li>
+
+    </ul></dd>
+
+
+   <dt><dfn id=selector-read-only title=selector-read-only><code>:read-only</code></dfn></dt>
+   <dt><dfn id=title-selector-read-write-:read-write> title="selector-read-write"&gt;<code>:read-write</code></dfn></dt>
+
+   <dd>
+
+    <p>The <code title=selector-read-write>:read-write</code>
+    pseudo-class must match the following elements:</p>
+
+    <ul><li>an <code><a href=#the-input-element>input</a></code> element to which the <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code> attribute applies,
+     but that is not <i title=concept-input-immutable><a href=#concept-input-immutable>immutable</a></i>
+     (i.e. that does not have the attribute specified)</li>
+
+     <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</li>
+
+     <li>any element that is <a href=#editable>editable</a></li>
+
+    </ul><p>The <code title=selector-read-only><a href=#selector-read-only>:read-only</a></code>
+    pseudo-class must match all other <a href=#html-elements>HTML elements</a>.</p>
+
+   </dd>
+
+  </dl><p class=note>Another section of this specification defines the
+  <i><a href=#target-element>target element</a></i> used with the <code title=selector-target>:target</code> pseudo-class.<p class=note>This specification does not define when an element
+  matches the <code title=selector-hover>:hover</code>, <code title=selector-focus>:focus</code>, or <code title=selector-lang()>:lang()</code> dynamic pseudo-classes, as
+  those are all defined in sufficient detail in a language-agnostic
+  fashion in the Selectors specification. <a href=#references>[SELECTORS]</a><h2 id=browsers><span class=secno>5 </span>Web browsers</h2><p>This section describes features that apply most directly to Web
   browsers. Having said that, unless specified elsewhere, the
   requirements defined in this section <em>do</em> apply to all user
   agents, whether they are Web browsers or not.<h3 id=windows><span class=secno>5.1 </span>Browsing contexts</h3><p>A <dfn id=browsing-context>browsing context</dfn> is an environment in which
@@ -32365,9 +32650,10 @@
    <li><p>Otherwise, there is no indicated part of the
    document.</li>
 
-  </ol><p>For the purposes of the interaction of HTML with Selectors' <code title="">:target</code> pseudo-class, the <i>target element</i> is
-  <a href=#the-indicated-part-of-the-document>the indicated part of the document</a>, if that is an
-  element; otherwise there is no <i>target element</i>. <a href=#references>[SELECTORS]</a><h4 id=history-traversal><span class=secno>5.10.9 </span>History traversal</h4><p>When a user agent is required to <dfn id=traverse-the-history>traverse the history</dfn>
+  </ol><p>For the purposes of the interaction of HTML with Selectors' <code title=selector-target>:target</code> pseudo-class, the
+  <dfn id=target-element><i>target element</i></dfn> is <a href=#the-indicated-part-of-the-document>the indicated part of the
+  document</a>, if that is an element; otherwise there is no
+  <i><a href=#target-element>target element</a></i>. <a href=#references>[SELECTORS]</a><h4 id=history-traversal><span class=secno>5.10.9 </span>History traversal</h4><p>When a user agent is required to <dfn id=traverse-the-history>traverse the history</dfn>
   to a <i>specified entry</i>, the user agent must act as
   follows:<ol><li><p>If there is no longer a <code>Document</code> object for the
    entry in question, the user agent must <a href=#navigate>navigate</a> the
@@ -34476,7 +34762,8 @@
   user. These are not discussed in this section.<p class=note>This specification does not specify how selections
   are presented to the user. The Selectors specification, in
   conjunction with CSS, can be used to style text selections using the
-  <code title="">::selection</code> pseudo-element. <a href=#references>[SELECTORS]</a> <a href=#references>[CSS21]</a><h4 id=documentSelection><span class=secno>6.6.1 </span>APIs for the browsing context selection</h4><p>The <dfn id=dom-getselection title=dom-getSelection><code>getSelection()</code></dfn> method on
+  <code title=selector-selection>::selection</code>
+  pseudo-element. <a href=#references>[SELECTORS]</a> <a href=#references>[CSS21]</a><h4 id=documentSelection><span class=secno>6.6.1 </span>APIs for the browsing context selection</h4><p>The <dfn id=dom-getselection title=dom-getSelection><code>getSelection()</code></dfn> method on
   the <code><a href=#window>Window</a></code> interface must return the
   <code><a href=#selection-0>Selection</a></code> object representing <a href=#the-selection-0>the
   selection</a> of that <code><a href=#window>Window</a></code> object's
@@ -46324,10 +46611,10 @@
   sheet defaults for all documents that contain <a href=#html-elements>HTML
   elements</a>.<p>Some rules are intended for the author-level zero-specificity
   presentational hints part of the CSS cascade; these are explicitly
-  called out as <dfn id=presentational-hints>presentational hints</dfn>.<p>Rules regarding left and right margins are given here as
-  appropriate for elements whose 'direction' property is 'ltr', and
+  called out as <dfn id=presentational-hints>presentational hints</dfn>.<p>Some of the rules regarding left and right margins are given here
+  as appropriate for elements whose 'direction' property is 'ltr', and
   are expected to be flipped around on elements whose 'direction'
-  property is 'rtl'.</p><hr><p>When the text below says that an attribute <var title="">attribute</var> on an element <var title="">element</var>
+  property is 'rtl'. These are marked "<dfn id=ltr-specific>LTR-specific</dfn>".</p><hr><p>When the text below says that an attribute <var title="">attribute</var> on an element <var title="">element</var>
   <dfn id=maps-to-the-pixel-length-property>maps to the pixel length property</dfn> (or properties) <var title="">properties</var>, it means that if <var title="">element</var> has an attribute <var title="">attribute</var> set, and parsing that attribute's value
   using the <a href=#rules-for-parsing-non-negative-integers>rules for parsing non-negative integers</a>
   doesn't generate an error, then the user agent is expected to use
@@ -46348,8 +46635,8 @@
 
 address, article, aside, blockquote, body, center, dd, dialog, dir,
 div, dl, dt, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hr,
-html, layer, legend, listing, menu, multicol, nav, ol, p, plaintext,
-pre, rp, section, ul, xmp { display: block; }
+html, layer, legend, listing, menu, nav, ol, p, plaintext, pre, rp,
+section, ul, xmp { display: block; }
 
 table { display: table; }
 caption { display: table-caption; }
@@ -46406,8 +46693,8 @@
 h5 { margin-top: 1.67em; margin-bottom; 1.67em; }
 h6 { margin-top: 2.33em; margin-bottom; 2.33em; }
 
-dd { margin-left: 40px; } /* margin-right, for rtl elements */
-dir, menu, ol, ul { padding-left: 40px; } /* padding-right, for rtl elements */
+dd { margin-left: 40px; } /* <a href=#ltr-specific>LTR-specific</a>: use 'margin-right' for rtl elements */
+dir, menu, ol, ul { padding-left: 40px; } /* <a href=#ltr-specific>LTR-specific</a>: use 'padding-right' for rtl elements */
 blockquote, figure { margin-left: 40px; margin-right: 40px; }
 
 table { border-spacing: 2px; border-collapse: separate; }
@@ -46507,7 +46794,7 @@
 tr, td, th { vertical-align: inherit; }
 sub { vertical-align: sub; }
 sup { vertical-align: super; }
-th, figure &gt; legend { text-align: center; }</pre><hr><p>The following rules are also expected to apply, as
+th { text-align: center; }</pre><hr><p>The following rules are also expected to apply, as
   <a href=#presentational-hints>presentational hints</a>:<pre class=css>@namespace url(http://www.w3.org/1999/xhtml);
 
 table[align=left] { float: left; }
@@ -46676,7 +46963,7 @@
   is expected:</p><!-- XXX this is better than http://damowmow.com/temp/sectioning.css
            but it's still not optimal... --><pre class=css>@namespace url(http://www.w3.org/1999/xhtml);
 
-<var title="">x</var> h1 { font-size: 1.05em; }
+<var title="">x</var> h1 { font-size: 1.50em; }
 <var title="">x</var> <var title="">x</var> h1 { font-size: 1.17em; }
 <var title="">x</var> <var title="">x</var> <var title="">x</var> h1 { font-size: 1.00em; }
 <var title="">x</var> <var title="">x</var> <var title="">x</var> <var title="">x</var> h1 { font-size: 0.83em; }
@@ -46773,30 +47060,13 @@
 
    <li> 
 
-    <p>If <var title="">mode</var> is not <i>absolute</i>, run these
-    substeps:</p>
-
-    <ol><li><p>Let <var title="">base</var> be 3.</li>
-
-     <li><p>Let <var title="">base element</var> be the the last
-     <code>basefont</code> element in <a href=#tree-order>tree order</a> that is
-     before the <code>font</code> element, if there is one.</li>
-
-     <li><p>If there is a <var title="">base element</var>, and it has
-     a <code title=attr-basefont-size>size</code> attribute, then
-     apply the <a href=#rules-for-parsing-non-negative-integers>rules for parsing non-negative integers</a> to
-     that attribute's value.</li>
-
-     <li><p>If <var title="">base</var> is greater than 7, let it be
-     7.</li>
-
-     <li><p>If <var title="">base</var> is less than 1, let it be
-     1.</li>
+    <!-- basefont support would go here, but we removed it -->
 
-     <li><p>If <var title="">mode</var> is <i>relative-plus</i>, then
-     increment <var title="">value</var> by <var title="">base</var>. Otherwise, decrement <var title="">value</var> by <var title="">base</var>.</li>
+    <p>If <var title="">mode</var> is is <i>relative-plus</i>, then
+    increment <var title="">value</var> by 3. If <var title="">mode</var> is is <i>relative-minus</i>, then decrement
+    <var title="">value</var> by 3.</p>
 
-    </ol></li>
+   </li>
 
    <li><p>If <var title="">value</var> is greater than 7, let it be
    7.</li>
@@ -46927,7 +47197,7 @@
 
 table[frames=void] &gt; tr &gt; td, table[frames=void] &gt; tr &gt; th,
 table[frames=above] &gt; tr &gt; td, table[frames=above] &gt; tr &gt; th,
-table[frames=below] &gt; &gt; tr &gt; td, table[frames=below] &gt; tr &gt; th,
+table[frames=below] &gt; tr &gt; td, table[frames=below] &gt; tr &gt; th,
 table[frames=hsides] &gt; tr &gt; td, table[frames=hsides] &gt; tr &gt; th,
 table[frames=lhs] &gt; tr &gt; td, table[frames=lhs] &gt; tr &gt; th,
 table[frames=rhs] &gt; tr &gt; td, table[frames=rhs] &gt; tr &gt; th,
@@ -47373,7 +47643,7 @@
 input[type=submit], input[type=reset], input[type=button] {
   binding: <i title="">input-button</i>;
 }</pre><p>When the <i title="">input-button</i> binding applies to 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=#submit-button-state title=attr-input-type-submit>Submit Button</a> <a href=#reset-button-state title=attr-input-type-reset>Reset Button</a>, or <a href=#button-state title=attr-input-type-button>Button</a> state, the element is
+  <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=#submit-button-state title=attr-input-type-submit>Submit Button</a>, <a href=#reset-button-state title=attr-input-type-reset>Reset Button</a>, or <a href=#button-state title=attr-input-type-button>Button</a> state, the element is
   expected to render as an 'inline-block' box rendered as a button,
   about one line high, containing the contents of the element's <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, if any, or text
   derived from the element's <code title=attr-input-type><a href=#attr-input-type>type</a></code>
@@ -47513,13 +47783,13 @@
 
     <p>Invoke the algorithm defined below to <a href=#convert-a-list-of-dimensions-to-a-list-of-pixel-values>convert a list of
     dimensions to a list of pixel values</a> using <var title="">cols</var> as the input list, and the width of the
-    surface that the <code><a href=#the-fieldset-element>fieldset</a></code> is being rendered into, in
+    surface that the <code>frameset</code> is being rendered into, in
     CSS pixels, as the input dimension. Let <var title="">sized
     cols</var> be the resulting list.</p>
 
     <p>Invoke the algorithm defined below to <a href=#convert-a-list-of-dimensions-to-a-list-of-pixel-values>convert a list of
     dimensions to a list of pixel values</a> using <var title="">rows</var> as the input list, and the height of the
-    surface that the <code><a href=#the-fieldset-element>fieldset</a></code> is being rendered into, in
+    surface that the <code>frameset</code> is being rendered into, in
     CSS pixels, as the input dimension. Let <var title="">sized
     rows</var> be the resulting list.</p>
 
@@ -47773,17 +48043,14 @@
   this section --><p class=XXX>Must define that in CSS, tag and attribute
   names in HTML documents, and class names in quirks mode documents,
   are case-insensitive, as well as saying which attribute values must
-  be compared case-insensitively.<p class=XXX>which pseudo-class selectors match what</p><!-- XXX
+  be compared case-insensitively.</p><!-- XXX
 
     Extensions to CSS
       for drag and drop
       for datagrid
       ...
 
-  --><!-- XXX need to separate the author-level rules from the user-agent-level rules
-       so that the user-level rules can slide between them
-       the spec lists the attributes that should count as presentational:
-       http://www.w3.org/Style/Group/css2-src/cascade.html#preshint --><h2 id=obsolete-features><span class=secno>11 </span>Obsolete features</h2><p>Authors and documents must not use the features listed in this
+  --><h2 id=obsolete-features><span class=secno>11 </span>Obsolete features</h2><p>Authors and documents must not use the features listed in this
   section. They are documented to enable user agents to support legacy
   content in an interoperable fashion.</p><!-- XXX Elements that have been dropped: ACRONYM B BASEFONT BLINK BIG
 CENTER DIR DIV FONT FRAME FRAMESET I ISINDEX MARQUEE NOEMBED NOFRAMES

Received on Wednesday, 11 February 2009 07:40:36 UTC