[html5] r2390 - [] (0) WF2: forminput/formchange, rework how <option> defines a command, and edi [...]
whatwg at whatwg.org
whatwg at whatwg.org
Thu Nov 6 13:49:37 PST 2008
Author: ianh
Date: 2008-11-06 13:49:36 -0800 (Thu, 06 Nov 2008)
New Revision: 2390
Modified:
index
source
Log:
[] (0) WF2: forminput/formchange, rework how <option> defines a command, and editorial fixes.
Modified: index
===================================================================
--- index 2008-11-05 16:34:55 UTC (rev 2389)
+++ index 2008-11-06 21:49:36 UTC (rev 2390)
@@ -16,7 +16,7 @@
<div class=head>
<p><a class=logo href=http://www.whatwg.org/ rel=home><img alt=WHATWG src=/images/logo></a></p>
<h1>HTML 5</h1>
- <h2 class="no-num no-toc" id=draft-recommendation-—-date:-01-jan-1901>Draft Recommendation — 5 November 2008</h2>
+ <h2 class="no-num no-toc" id=draft-recommendation-—-date:-01-jan-1901>Draft Recommendation — 6 November 2008</h2>
<p>You can take part in this work. <a href=http://www.whatwg.org/mailing-list>Join the working group's discussion list.</a></p>
<p><strong>Web designers!</strong> We have a <a href=http://blog.whatwg.org/faq/>FAQ</a>, a <a href=http://forums.whatwg.org/>forum</a>, and a <a href=http://www.whatwg.org/mailing-list#help>help mailing list</a> for you!</p>
<dl><dt>Multiple-page version:</dt>
@@ -24249,7 +24249,7 @@
<code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code>, and
<code class=no-backref title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> methods.</p>
- <p>The <code class=no-backref title=event-input-input><a href=#event-input-input>input</a></code> and <code class=no-backref title=event-input-change><a href=#event-input-change>change</a></code> events do not fire.</p>
+ <p>The <code class=no-backref title=event-input-input><a href=#event-input-input>input</a></code> and <code class=no-backref title=event-input-change><a href=#event-input-change>change</a></code> events do not apply.</p>
</div>
@@ -25508,7 +25508,8 @@
value it had before the <a href=#pre-click-activation-steps>pre-click activation steps</a> were
run. The <a href=#activation-behavior>activation behavior</a> is to <a href=#fire-a-simple-event>fire a simple
event</a> called <code title=event-change>change</code> at the
- element.</p>
+ element, then <a href=#broadcast-formchange-events>broadcast <code title=event-formchange>formchange</code> events</a> at the
+ element's <a href=#form-owner>form owner</a>.</p>
<p><strong>Constraint validation:</strong> If the element is <i title=concept-input-required><a href=#concept-input-required>required</a></i> and its <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> is false, then the
element is <a href=#suffering-from-being-missing>suffering from being missing</a>.</p>
@@ -25613,7 +25614,8 @@
the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> to
false. The <a href=#activation-behavior>activation behavior</a> is to <a href=#fire-a-simple-event>fire a
simple event</a> called <code title=event-change>change</code>
- at the element.</p>
+ at the element, then <a href=#broadcast-formchange-events>broadcast <code title=event-formchange>formchange</code> events</a> at the
+ element's <a href=#form-owner>form owner</a>.</p>
<p><strong>Constraint validation:</strong> If the element is <i title=concept-input-required><a href=#concept-input-required>required</a></i> and all of the
<code><a href=#the-input-element>input</a></code> elements in the <i><a href=#radio-button-group>radio button group</a></i> have a
@@ -25838,7 +25840,7 @@
<code class=no-backref title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> and
<code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.</p>
- <p>The <code class=no-backref title=event-input-input><a href=#event-input-input>input</a></code> and <code class=no-backref title=event-input-change><a href=#event-input-change>change</a></code> events do not fire.</p>
+ <p>The <code class=no-backref title=event-input-input><a href=#event-input-input>input</a></code> and <code class=no-backref title=event-input-change><a href=#event-input-change>change</a></code> events do not apply.</p>
</div>
@@ -25997,7 +25999,7 @@
<code class=no-backref title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> and
<code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.</p>
- <p>The <code class=no-backref title=event-input-input><a href=#event-input-input>input</a></code> and <code class=no-backref title=event-input-change><a href=#event-input-change>change</a></code> events do not fire.</p>
+ <p>The <code class=no-backref title=event-input-input><a href=#event-input-input>input</a></code> and <code class=no-backref title=event-input-change><a href=#event-input-change>change</a></code> events do not apply.</p>
</div>
@@ -26064,7 +26066,7 @@
<code class=no-backref title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> and
<code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.</p>
- <p>The <code class=no-backref title=event-input-input><a href=#event-input-input>input</a></code> and <code class=no-backref title=event-input-change><a href=#event-input-change>change</a></code> events do not fire.</p>
+ <p>The <code class=no-backref title=event-input-input><a href=#event-input-input>input</a></code> and <code class=no-backref title=event-input-change><a href=#event-input-change>change</a></code> events do not apply.</p>
</div>
@@ -26121,7 +26123,7 @@
<code class=no-backref title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> and
<code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.</p>
- <p>The <code class=no-backref title=event-input-input><a href=#event-input-input>input</a></code> and <code class=no-backref title=event-input-change><a href=#event-input-change>change</a></code> events do not fire.</p>
+ <p>The <code class=no-backref title=event-input-input><a href=#event-input-input>input</a></code> and <code class=no-backref title=event-input-change><a href=#event-input-change>change</a></code> events do not apply.</p>
</div>
@@ -26631,8 +26633,10 @@
<p>When the <dfn id=event-input-input title=event-input-input><code>input</code></dfn>
event applies, the user agent must <a href=#queue-a-task>queue a task</a> to
- <a href=#fire-a-simple-event>fire a simple event</a> called <code title=event-input>input</code> at the <code><a href=#the-input-element>input</a></code> element
- any time the user causes the element's <a href=#concept-fe-value title=concept-fe-value>value</a> to change. User agents may
+ <a href=#fire-a-simple-event>fire a simple event</a> called <code title=event-input>input</code> at the <code><a href=#the-input-element>input</a></code> element,
+ then <a href=#broadcast-forminput-events>broadcast <code title=event-forminput>forminput</code>
+ events</a> at the <code><a href=#the-input-element>input</a></code> element's <a href=#form-owner>form
+ owner</a>, any time the user causes the element's <a href=#concept-fe-value title=concept-fe-value>value</a> to change. User agents may
wait for a suitable break in the user's interaction before queuing
the task; for example, a user agent could wait for the user to have
not hit a key for 100ms, so as to only fire the event when the user
@@ -26642,8 +26646,10 @@
if the element does not have an <a href=#activation-behavior>activation behavior</a>
defined but uses a user interface that involves an explicit commit
action, then the user agent must <a href=#queue-a-task>queue a task</a> to
- <a href=#fire-a-simple-event>fire a simple event</a> called <code title=event-change>change</code> at the <code><a href=#the-input-element>input</a></code> element
- any time the user commits a change to the element's <a href=#concept-fe-value title=concept-fe-value>value</a> or list of <a href=#concept-input-type-file-selected title=concept-input-type-file-selected>selected files</a>.</p>
+ <a href=#fire-a-simple-event>fire a simple event</a> called <code title=event-change>change</code> at the <code><a href=#the-input-element>input</a></code>
+ element, then <a href=#broadcast-formchange-events>broadcast <code title=event-formchange>formchange</code> events</a> at the
+ <code><a href=#the-input-element>input</a></code> element's <a href=#form-owner>form owner</a>, any time the
+ user commits a change to the element's <a href=#concept-fe-value title=concept-fe-value>value</a> or list of <a href=#concept-input-type-file-selected title=concept-input-type-file-selected>selected files</a>.</p>
<p class=example>An example of a user interface with a commit
action would be a <a href=#file-upload-state title=attr-input-type-file>File
@@ -26660,7 +26666,7 @@
and then dismissing the drop down would be a commit action.</p>
<p class=note>In addition, when the <code title=event-input-change><a href=#event-input-change>change</a></code> event applies, <code title=event-change>change</code> events can also be fired as part
- of the element's <span>action behavior</span> and as part of the
+ of the element's <a href=#activation-behavior>activation behavior</a> and as part of the
<a href=#unfocusing-steps>unfocusing steps</a>.</p>
<p>The <a href=#task-source>task source</a> for these <span title=concept-tasks>task</span> is the <a href=#user-interaction-task-source>user interaction task
@@ -26886,15 +26892,17 @@
should allow the user to pick an <code><a href=#the-option-element>option</a></code> element in its
<a href=#concept-select-option-list title=concept-select-option-list>list of options</a> that
is itself not <a href=#concept-option-disabled title=concept-option-disabled>disabled</a>. Upon this
- <code><a href=#the-option-element>option</a></code> element being picked (either through a click, or
+ <code><a href=#the-option-element>option</a></code> element being <dfn id=concept-select-pick title=concept-select-pick>picked</dfn> (either through a click, or
through unfocusing the element after changing its value, or through
- any other mechanism), and before the relevant user interaction event
- is queued (e.g. before the <span title=event-click>click</span>
+ a <a href=#using-the-option-element-to-define-a-command title=option-command>menu command</a>, or through any
+ other mechanism), and before the relevant user interaction event is
+ queued (e.g. before the <span title=event-click>click</span>
event), the user agent must set the <a href=#concept-option-selectedness title=concept-option-selectedness>selectedness</a> of the
picked <code><a href=#the-option-element>option</a></code> element to true and then <a href=#queue-a-task>queue a
task</a> to <a href=#fire-a-simple-event>fire a simple event</a> called <code title=event-change>change</code> at the <code><a href=#the-select-element>select</a></code>
element, using the <a href=#user-interaction-task-source>user interaction task source</a> as the
- task source.</p>
+ task source, then <a href=#broadcast-formchange-events>broadcast <code title=event-formchange>formchange</code> events</a> at the
+ element's <a href=#form-owner>form owner</a>.</p>
<p>If the <code title=attr-select-multiple><a href=#attr-select-multiple>multiple</a></code>
attribute is absent, whenever an <code><a href=#the-option-element>option</a></code> element in the
@@ -26917,16 +26925,19 @@
<p>If the <code title=attr-select-multiple><a href=#attr-select-multiple>multiple</a></code>
attribute is present, and the element is not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a>, then the user agent
- should allow the user to toggle the <a href=#concept-option-selectedness title=concept-option-selectedness>selectedness</a> of the
+ should allow the user to <dfn id=concept-select-toggle title=concept-select-toggle>toggle</dfn> the <a href=#concept-option-selectedness title=concept-option-selectedness>selectedness</a> of the
<code><a href=#the-option-element>option</a></code> elements in its <a href=#concept-select-option-list title=concept-select-option-list>list of options</a> that are
- themselves not <a href=#concept-option-disabled title=concept-option-disabled>disabled</a>. Upon the <a href=#concept-option-selectedness title=concept-option-selectedness>selectedness</a> of one or
+ themselves not <a href=#concept-option-disabled title=concept-option-disabled>disabled</a>
+ (either through a click, or through a <a href=#using-the-option-element-to-define-a-command title=option-command>menu command</a>, or any other
+ mechanism). Upon the <a href=#concept-option-selectedness title=concept-option-selectedness>selectedness</a> of one or
more <code><a href=#the-option-element>option</a></code> elements being changed by the user, and
before the relevant user interaction event is queued (e.g. before a
related <span title=event-click>click</span> event), the user
agent must <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple
event</a> called <code title=event-change>change</code> at the
<code><a href=#the-select-element>select</a></code> element, using the <a href=#user-interaction-task-source>user interaction task
- source</a> as the task source.</p>
+ source</a> as the task source, then <a href=#broadcast-formchange-events>broadcast <code title=event-formchange>formchange</code> events</a> at the
+ element's <a href=#form-owner>form owner</a>.</p>
<p>The <a href=#concept-form-reset-control title=concept-form-reset-control>reset
algorithm</a> for <code><a href=#the-select-element>select</a></code> elements is to go through
@@ -28800,14 +28811,8 @@
<a href=#tree-order>tree order</a>, <a href=#fire-a-simple-event>fire a simple event</a> named
<var title="">event name</var> at the element.</li>
- </ol><p class=XXX>Still need to define when formchange and forminput
- fire naturally.</p>
+ </ol><h3 id=interactive-elements><span class=secno>4.11 </span>Interactive elements</h3>
-
-
-
- <h3 id=interactive-elements><span class=secno>4.11 </span>Interactive elements</h3>
-
<h4 id=the-details-element><span class=secno>4.11.1 </span>The <dfn><code>details</code></dfn> element</h4>
<dl class=element><dt>Categories</dt>
@@ -31425,7 +31430,7 @@
<p>The <a href=#command-facet-label title=command-facet-Label>Label</a> of the command
is the value of the <code><a href=#the-option-element>option</a></code> element's <code title=attr-option-label><a href=#attr-option-label>label</a></code> attribute, if there is one,
or the value of the <code><a href=#the-option-element>option</a></code> element's
- <code><a href=#textcontent>textContent</a></code> DOM attribute if it doesn't.</p>
+ <code><a href=#textcontent>textContent</a></code> DOM attribute if there isn't.</p>
<p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
is the string given by the element's <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute, if any, and the empty
@@ -31439,24 +31444,19 @@
otherwise.</p>
<p>The <a href=#command-facet-disabledstate title=command-facet-DisabledState>Disabled
- State</a> of the command is true (disabled) if the element has a
- <code title=attr-option-disabled><a href=#attr-option-disabled>disabled</a></code> attribute, and
- false otherwise.</p>
+ State</a> of the command is true (disabled) if the element is
+ <a href=#concept-option-disabled title=concept-option-disabled>disabled</a> or if its
+ nearest ancestor <code><a href=#the-select-element>select</a></code> element is <a href=#concept-option-disabled title=concept-option-disabled>disabled</a>, and false
+ otherwise.</p>
<p>The <a href=#command-facet-checkedstate title=command-facet-CheckedState>Checked State</a>
- of the command is true (checked) if the element's <code title=dom-option-selected><a href=#dom-option-selected>selected</a></code> DOM attribute is true,
- and false otherwise.</p>
+ of the command is true (checked) if the element's <a href=#concept-option-selectedness title=concept-option-selectedness>selectedness</a> is true, and
+ false otherwise.</p>
<p>The <a href=#command-facet-action title=command-facet-Action>Action</a> of the
- command depends on its <a href=#command-facet-type title=command-facet-Type>Type</a>. If the command is of <a href=#command-facet-type title=command-facet-Type>Type</a> "radio" then this must set
- the <code title=dom-option-selected><a href=#dom-option-selected>selected</a></code> DOM attribute
- of the <code><a href=#the-option-element>option</a></code> element to true, otherwise it must toggle
- the state of the <code title=dom-option-selected><a href=#dom-option-selected>selected</a></code>
- DOM attribute (set it to true if it is false and vice versa). Then
- <a href=#fire-a-change-event title="fire a change event">a <code title="">change</code>
- event must be fired</a> on the <code><a href=#the-option-element>option</a></code> element's
- nearest ancestor <code><a href=#the-select-element>select</a></code> element (if there is one), as
- if the selection had been changed directly.</p>
+ command depends on its <a href=#command-facet-type title=command-facet-Type>Type</a>. If the command is of <a href=#command-facet-type title=command-facet-Type>Type</a> "radio" then it must <a href=#concept-select-pick title=concept-select-pick>pick</a> the <code><a href=#the-option-element>option</a></code>
+ element. Otherwise, it must <a href=#concept-select-toggle title=concept-select-toggle>toggle</a> the <code><a href=#the-option-element>option</a></code>
+ element.</p>
<h5 id=using-the-command-element-to-define-a-command><span class=secno>4.11.6.5 </span>Using the <dfn title=command-element><code>command</code></dfn> element to define
@@ -33314,11 +33314,6 @@
values appropriately describing the state of the key input device at
the time the event is created.</p>
- <p><dfn id=fire-a-change-event title="fire a change event">Firing a <code title=event-change>change</code> event</dfn> means that a <a href=http://www.w3.org/TR/DOM-Level-3-Events/events.html#event-change><code>change</code></a>
- event with no namespace, which bubbles but is not cancelable, and
- which uses the <code>Event</code> interface, must be dispatched at
- the given element.</p>
-
<p><dfn id=fire-a-contextmenu-event title="fire a contextmenu event">Firing a <code title=event-contextmenu>contextmenu</code> event</dfn> means that
a <code title=event-contextmenu>contextmenu</code> event with no
namespace, which bubbles and is cancelable, and which uses the
@@ -39487,7 +39482,9 @@
element, and the element does not have a defined <a href=#activation-behavior>activation
behavior</a>, and the user has changed the element's <a href=#concept-fe-value title=concept-fe-value>value</a> or its list of <a href=#concept-input-type-file-selected title=concept-input-type-file-selected>selected files</a>
while the control was focused without committing that change, then
- <a href=#fire-a-simple-event>fire a simple event</a> called <code title=event-change>change</code> at the element.</p>
+ <a href=#fire-a-simple-event>fire a simple event</a> called <code title=event-change>change</code> at the element, then
+ <a href=#broadcast-formchange-events>broadcast <code title=event-formchange>formchange</code>
+ events</a> at the element's <a href=#form-owner>form owner</a>.</p>
<li><p>Unfocus the element.</li>
Modified: source
===================================================================
--- source 2008-11-05 16:34:55 UTC (rev 2389)
+++ source 2008-11-06 21:49:36 UTC (rev 2390)
@@ -27084,7 +27084,7 @@
<p>The <code class="no-backref"
title="event-input-input">input</code> and <code class="no-backref"
- title="event-input-change">change</code> events do not fire.</p>
+ title="event-input-change">change</code> events do not apply.</p>
</div>
@@ -28520,7 +28520,9 @@
value it had before the <span>pre-click activation steps</span> were
run. The <span>activation behavior</span> is to <span>fire a simple
event</span> called <code title="event-change">change</code> at the
- element.</p>
+ element, then <span>broadcast <code
+ title="event-formchange">formchange</code> events</span> at the
+ element's <span>form owner</span>.</p>
<p><strong>Constraint validation:</strong> If the element is <i
title="concept-input-required">required</i> and its <span
@@ -28645,7 +28647,9 @@
the element's <span title="concept-fe-checked">checkedness</span> to
false. The <span>activation behavior</span> is to <span>fire a
simple event</span> called <code title="event-change">change</code>
- at the element.</p>
+ at the element, then <span>broadcast <code
+ title="event-formchange">formchange</code> events</span> at the
+ element's <span>form owner</span>.</p>
<p><strong>Constraint validation:</strong> If the element is <i
title="concept-input-required">required</i> and all of the
@@ -28896,7 +28900,7 @@
<p>The <code class="no-backref"
title="event-input-input">input</code> and <code class="no-backref"
- title="event-input-change">change</code> events do not fire.</p>
+ title="event-input-change">change</code> events do not apply.</p>
</div>
@@ -29101,7 +29105,7 @@
<p>The <code class="no-backref"
title="event-input-input">input</code> and <code class="no-backref"
- title="event-input-change">change</code> events do not fire.</p>
+ title="event-input-change">change</code> events do not apply.</p>
</div>
@@ -29175,7 +29179,7 @@
<p>The <code class="no-backref"
title="event-input-input">input</code> and <code class="no-backref"
- title="event-input-change">change</code> events do not fire.</p>
+ title="event-input-change">change</code> events do not apply.</p>
</div>
@@ -29239,7 +29243,7 @@
<p>The <code class="no-backref"
title="event-input-input">input</code> and <code class="no-backref"
- title="event-input-change">change</code> events do not fire.</p>
+ title="event-input-change">change</code> events do not apply.</p>
</div>
@@ -29895,8 +29899,10 @@
<p>When the <dfn title="event-input-input"><code>input</code></dfn>
event applies, the user agent must <span>queue a task</span> to
<span>fire a simple event</span> called <code
- title="event-input">input</code> at the <code>input</code> element
- any time the user causes the element's <span
+ title="event-input">input</code> at the <code>input</code> element,
+ then <span>broadcast <code title="event-forminput">forminput</code>
+ events</span> at the <code>input</code> element's <span>form
+ owner</span>, any time the user causes the element's <span
title="concept-fe-value">value</span> to change. User agents may
wait for a suitable break in the user's interaction before queuing
the task; for example, a user agent could wait for the user to have
@@ -29909,8 +29915,11 @@
defined but uses a user interface that involves an explicit commit
action, then the user agent must <span>queue a task</span> to
<span>fire a simple event</span> called <code
- title="event-change">change</code> at the <code>input</code> element
- any time the user commits a change to the element's <span
+ title="event-change">change</code> at the <code>input</code>
+ element, then <span>broadcast <code
+ title="event-formchange">formchange</code> events</span> at the
+ <code>input</code> element's <span>form owner</span>, any time the
+ user commits a change to the element's <span
title="concept-fe-value">value</span> or list of <span
title="concept-input-type-file-selected">selected files</span>.</p>
@@ -29932,7 +29941,7 @@
<p class="note">In addition, when the <code
title="event-input-change">change</code> event applies, <code
title="event-change">change</code> events can also be fired as part
- of the element's <span>action behavior</span> and as part of the
+ of the element's <span>activation behavior</span> and as part of the
<span>unfocusing steps</span>.</p>
<p>The <span>task source</span> for these <span
@@ -30198,17 +30207,21 @@
<span title="concept-select-option-list">list of options</span> that
is itself not <span
title="concept-option-disabled">disabled</span>. Upon this
- <code>option</code> element being picked (either through a click, or
+ <code>option</code> element being <dfn
+ title="concept-select-pick">picked</dfn> (either through a click, or
through unfocusing the element after changing its value, or through
- any other mechanism), and before the relevant user interaction event
- is queued (e.g. before the <span title="event-click">click</span>
+ a <span title="option-command">menu command</span>, or through any
+ other mechanism), and before the relevant user interaction event is
+ queued (e.g. before the <span title="event-click">click</span>
event), the user agent must set the <span
title="concept-option-selectedness">selectedness</span> of the
picked <code>option</code> element to true and then <span>queue a
task</span> to <span>fire a simple event</span> called <code
title="event-change">change</code> at the <code>select</code>
element, using the <span>user interaction task source</span> as the
- task source.</p>
+ task source, then <span>broadcast <code
+ title="event-formchange">formchange</code> events</span> at the
+ element's <span>form owner</span>.</p>
<p>If the <code title="attr-select-multiple">multiple</code>
attribute is absent, whenever an <code>option</code> element in the
@@ -30241,12 +30254,15 @@
<p>If the <code title="attr-select-multiple">multiple</code>
attribute is present, and the element is not <span
title="concept-fe-disabled">disabled</span>, then the user agent
- should allow the user to toggle the <span
+ should allow the user to <dfn
+ title="concept-select-toggle">toggle</dfn> the <span
title="concept-option-selectedness">selectedness</span> of the
<code>option</code> elements in its <span
title="concept-select-option-list">list of options</span> that are
- themselves not <span
- title="concept-option-disabled">disabled</span>. Upon the <span
+ themselves not <span title="concept-option-disabled">disabled</span>
+ (either through a click, or through a <span
+ title="option-command">menu command</span>, or any other
+ mechanism). Upon the <span
title="concept-option-selectedness">selectedness</span> of one or
more <code>option</code> elements being changed by the user, and
before the relevant user interaction event is queued (e.g. before a
@@ -30254,7 +30270,9 @@
agent must <span>queue a task</span> to <span>fire a simple
event</span> called <code title="event-change">change</code> at the
<code>select</code> element, using the <span>user interaction task
- source</span> as the task source.</p>
+ source</span> as the task source, then <span>broadcast <code
+ title="event-formchange">formchange</code> events</span> at the
+ element's <span>form owner</span>.</p>
<p>The <span title="concept-form-reset-control">reset
algorithm</span> for <code>select</code> elements is to go through
@@ -32601,12 +32619,9 @@
</ol>
- <p class="XXX">Still need to define when formchange and forminput
- fire naturally.</p>
-
<h3 id="interactive-elements">Interactive elements</h3>
<h4>The <dfn><code>details</code></dfn> element</h4>
@@ -35759,7 +35774,7 @@
is the value of the <code>option</code> element's <code
title="attr-option-label">label</code> attribute, if there is one,
or the value of the <code>option</code> element's
- <code>textContent</code> DOM attribute if it doesn't.</p>
+ <code>textContent</code> DOM attribute if there isn't.</p>
<p>The <span title="command-facet-Hint">Hint</span> of the command
is the string given by the element's <code
@@ -35775,27 +35790,25 @@
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-option-disabled">disabled</code> attribute, and
- false otherwise.</p>
+ 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-option-disabled">disabled</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 <code
- title="dom-option-selected">selected</code> DOM attribute is true,
- and false otherwise.</p>
+ of the command is true (checked) if the element's <span
+ title="concept-option-selectedness">selectedness</span> is true, and
+ false otherwise.</p>
<p>The <span title="command-facet-Action">Action</span> of the
command depends on its <span
title="command-facet-Type">Type</span>. If the command is of <span
- title="command-facet-Type">Type</span> "radio" then this must set
- the <code title="dom-option-selected">selected</code> DOM attribute
- of the <code>option</code> element to true, otherwise it must toggle
- the state of the <code title="dom-option-selected">selected</code>
- DOM attribute (set it to true if it is false and vice versa). Then
- <span title="fire a change event">a <code title="">change</code>
- event must be fired</span> on the <code>option</code> element's
- nearest ancestor <code>select</code> element (if there is one), as
- if the selection had been changed directly.</p>
+ title="command-facet-Type">Type</span> "radio" then it must <span
+ title="concept-select-pick">pick</span> the <code>option</code>
+ element. Otherwise, it must <span
+ title="concept-select-toggle">toggle</span> the <code>option</code>
+ element.</p>
<h5>Using the <dfn
@@ -37917,13 +37930,6 @@
values appropriately describing the state of the key input device at
the time the event is created.</p>
- <p><dfn title="fire a change event">Firing a <code
- title="event-change">change</code> event</dfn> means that a <a
- href="http://www.w3.org/TR/DOM-Level-3-Events/events.html#event-change"><code>change</code></a>
- event with no namespace, which bubbles but is not cancelable, and
- which uses the <code>Event</code> interface, must be dispatched at
- the given element.</p>
-
<p><dfn title="fire a contextmenu event">Firing a <code
title="event-contextmenu">contextmenu</code> event</dfn> means that
a <code title="event-contextmenu">contextmenu</code> event with no
@@ -44975,7 +44981,9 @@
title="concept-input-type-file-selected">selected files</span>
while the control was focused without committing that change, then
<span>fire a simple event</span> called <code
- title="event-change">change</code> at the element.</p>
+ title="event-change">change</code> at the element, then
+ <span>broadcast <code title="event-formchange">formchange</code>
+ events</span> at the element's <span>form owner</span>.</p>
<li><p>Unfocus the element.</p></li>
More information about the Commit-Watchers
mailing list