diff --git a/source b/source
index 7bcff3dbead..1a1a45f4535 100644
--- a/source
+++ b/source
@@ -41750,8 +41750,6 @@ interface HTMLInputElement : HTMLElement {
[CEReactions, TreatNullAs=EmptyString] attribute DOMString value;
attribute object? valueAsDate;
attribute unrestricted double valueAsNumber;
- attribute double valueLow;
- attribute double valueHigh;
[CEReactions] attribute unsigned long width;
void stepUp(optional long n = 1);
@@ -41939,9 +41937,7 @@ interface HTMLInputElement : HTMLElement {
checked
,
files
,
valueAsDate
,
- valueAsNumber
,
- valueLow
,
- valueHigh
, and
+ valueAsNumber
, and
list
IDL attributes, the
select()
method, the
selectionStart
,
@@ -42419,7 +42415,7 @@ interface HTMLInputElement : HTMLElement {
valueLow
- valueHigh
- * If the multiple
attribute
- is not specified.
** If the multiple
attribute
- is specified.
† If the control has no selectable text, the select()
method results in a no-op, with no
"InvalidStateError
" DOMException
.
Date
object to a string, which are used by max
, min
, step
, valueAsDate
,
- valueAsNumber
, valueLow
, valueHigh
,
- stepDown()
, and valueAsNumber
, and stepUp()
.
Each input
element has a boolean dirty
@@ -43386,10 +43326,8 @@ interface HTMLInputElement : HTMLElement {
selectionStart
,
selectionEnd
,
selectionDirection
,
- valueAsDate
,
- valueAsNumber
,
- valueLow
, and
- valueHigh
IDL attributes;
+ valueAsDate
, and
+ valueAsNumber
IDL attributes;
select()
,
setRangeText()
,
setSelectionRange()
,
@@ -43516,10 +43454,8 @@ interface HTMLInputElement : HTMLElement {
element:
checked
,
files
,
- valueAsDate
,
- valueAsNumber
,
- valueLow
, and
- valueHigh
IDL attributes;
+ valueAsDate
, and
+ valueAsNumber
IDL attributes;
stepDown()
and
stepUp()
methods.
checked
,
files
,
- valueAsDate
,
- valueAsNumber
,
- valueLow
, and
- valueHigh
IDL attributes;
+ valueAsDate
, and
+ valueAsNumber
IDL attributes;
stepDown()
and
stepUp()
methods.
@@ -43726,10 +43660,8 @@ interface HTMLInputElement : HTMLElement {
element:
checked
,
files
,
- valueAsDate
,
- valueAsNumber
,
- valueLow
, and
- valueHigh
IDL attributes;
+ valueAsDate
, and
+ valueAsNumber
IDL attributes;
stepDown()
and
stepUp()
methods.
@@ -44006,10 +43938,8 @@ ldh-str = < as defined in selectionStart,
selectionEnd
,
selectionDirection
,
- valueAsDate
,
- valueAsNumber
,
- valueLow
, and
- valueHigh
IDL attributes;
+ valueAsDate
, and
+ valueAsNumber
IDL attributes;
setRangeText()
,
setSelectionRange()
,
stepDown()
and
@@ -44103,10 +44033,8 @@ ldh-str = < as defined in checked,
files
,
list
,
- valueAsDate
,
- valueAsNumber
,
- valueLow
, and
- valueHigh
IDL attributes;
+ valueAsDate
, and
+ valueAsNumber
IDL attributes;
stepDown()
and
stepUp()
methods.
@@ -44278,10 +44206,8 @@ ldh-str = < as defined in checked,
selectionStart
,
- selectionEnd
,
- selectionDirection
,
- valueLow
, and
- valueHigh
IDL attributes;
+ selectionEnd
, and
+ selectionDirection
IDL attributes;
setRangeText()
, and
setSelectionRange()
methods.
@@ -44433,10 +44359,8 @@ ldh-str = < as defined in checked,
files
,
selectionStart
,
- selectionEnd
,
- selectionDirection
,
- valueLow
, and
- valueHigh
IDL attributes;
+ selectionEnd
, and
+ selectionDirection
IDL attributes;
setRangeText()
, and
setSelectionRange()
methods.
@@ -44590,10 +44514,8 @@ ldh-str = < as defined in checked,
files
,
selectionStart
,
- selectionEnd
,
- selectionDirection
,
- valueLow
, and
- valueHigh
IDL attributes;
+ selectionEnd
, and
+ selectionDirection
IDL attributes;
setRangeText()
, and
setSelectionRange()
methods.
@@ -44744,10 +44666,8 @@ ldh-str = < as defined in checked,
files
,
selectionStart
,
- selectionEnd
,
- selectionDirection
,
- valueLow
, and
- valueHigh
IDL attributes;
+ selectionEnd
, and
+ selectionDirection
IDL attributes;
setRangeText()
, and
setSelectionRange()
methods.
@@ -44893,10 +44813,8 @@ ldh-str = < as defined in files,
selectionStart
,
selectionEnd
,
- selectionDirection
,
- valueAsDate
,
- valueLow
, and
- valueHigh
IDL attributes;
+ selectionDirection
, and
+ valueAsDate
IDL attributes;
setRangeText()
, and
setSelectionRange()
methods.
@@ -45057,10 +44975,8 @@ ldh-str = < as defined in files,
selectionStart
,
selectionEnd
,
- selectionDirection
,
- valueAsDate
,
- valueLow
, and
- valueHigh
IDL attributes;
+ selectionDirection
, and
+ valueAsDate
IDL attributes;
setRangeText()
, and
setSelectionRange()
methods.
@@ -45102,305 +45018,157 @@ ldh-str = < as defined in Range state operates depends on whether the
- multiple
attribute is specified or not.
+ The input
element represents a control for setting the element's
+ value to a string representing a number, but with the
+ caveat that the exact value is not important, letting UAs provide a simpler interface than they
+ do for the Number state.
multiple
attribute is not specified on the
- elementIf the element is mutable, the user agent should allow the + user to change the number represented by its value, as + obtained from applying the rules for parsing floating-point number values to it. + User agents must not allow the user to set the value to a + string that is not a valid floating-point number. If the user agent provides a user + interface for selecting a number, then the value must be + set to a best + representation of the number representing the user's selection as a floating-point + number. User agents must not allow the user to set the value to the empty string.
-Constraint validation: While the user interface describes input that the + user agent cannot convert to a valid floating-point number, the control is + suffering from bad input.
-The input
element represents a control for setting the element's
- value to a string representing a number, but with the
- caveat that the exact value is not important, letting UAs provide a simpler interface than they
- do for the Number state.
The value
attribute, if specified, must have a value
+ that is a valid floating-point number.
If the element is mutable, the user agent should allow the - user to change the number represented by its value, as - obtained from applying the rules for parsing floating-point number values to it. - User agents must not allow the user to set the value to a - string that is not a valid floating-point number. If the user agent provides a user - interface for selecting a number, then the value must be - set to a best - representation of the number representing the user's selection as a floating-point - number. User agents must not allow the user to set the value to the empty string.
- -Constraint validation: While the user interface describes input that the - user agent cannot convert to a valid floating-point number, the control is - suffering from bad input.
+The value sanitization algorithm is as follows: If the value of the element is not a valid floating-point + number, then set it to the best representation, as a floating-point number, of the default value.
-The value
attribute, if specified, must have a value
- that is a valid floating-point number.
The default value is the minimum plus half the difference between the minimum and the maximum, unless the maximum is less than the minimum, in which case the default value is the minimum.
-The value sanitization algorithm is as follows: If the value of the element is not a valid floating-point - number, then set it to the best representation, as a floating-point number, of the default value.
+When the element is suffering from an underflow, the user agent must set the + element's value to the best representation, as a floating-point + number, of the minimum.
-The default value is the minimum plus half the difference between the minimum and the maximum, unless the maximum is less than the minimum, in which case the default value is the minimum.
+When the element is suffering from an overflow, if the maximum is not less than the minimum, the user agent must set the element's value to a valid floating-point number that + represents the maximum.
-When the element is suffering from a step mismatch, the user agent must round + the element's value to the nearest number for which the + element would not suffer from a step + mismatch, and which is greater than or equal to the minimum, and, if the maximum is not less than the minimum, which is less than or equal to the maximum, if there is a number that matches these constraints. + If two numbers match these constraints, then user agents must use the one nearest to positive + infinity.
-When the element is suffering from an underflow, the user agent must set the - element's value to the best representation, as a floating-point - number, of the minimum.
- -When the element is suffering from an overflow, if the maximum is not less than the minimum, the user agent must set the element's value to a valid floating-point number that - represents the maximum.
- -When the element is suffering from a step mismatch, the user agent must round - the element's value to the nearest number for which the - element would not suffer from a step - mismatch, and which is greater than or equal to the minimum, and, if the maximum is not less than the minimum, which is less than or equal to the maximum, if there is a number that matches these constraints. - If two numbers match these constraints, then user agents must use the one nearest to positive - infinity.
- -For example, the markup
- <input type="range" min=0 max=100 step=20 value=50>
- results in a range control whose initial value is 60.
For example, the markup
+ <input type="range" min=0 max=100 step=20 value=50>
+ results in a range control whose initial value is 60.
Here is an example of a range control using an autocomplete list with the list
attribute. This could be useful if there are values along
- the full range of the control that are especially important, such as preconfigured light levels
- or typical speed limits in a range control used as a speed control. The following markup
- fragment:
Here is an example of a range control using an autocomplete list with the list
attribute. This could be useful if there are values along
+ the full range of the control that are especially important, such as preconfigured light levels
+ or typical speed limits in a range control used as a speed control. The following markup
+ fragment:
<input type="range" min="-100" max="100" value="0" step="10" name="power" list="powers"> +<input type="range" min="-100" max="100" value="0" step="10" name="power" list="powers"> <datalist id="powers"> - <option value="0"> - <option value="-30"> - <option value="30"> +<option value="0"> +<option value="-30"> +<option value="30"> <option value="++50"> </datalist>
-...with the following style sheet applied:
+...with the following style sheet applied:
-input { height: 75px; width: 49px; background: #D5CCBB; color: black; }+input { height: 75px; width: 49px; background: #D5CCBB; color: black; }-...might render as:
+...might render as:
-+
-
Note how the UA determined the orientation of the control from the ratio of the - style-sheet-specified height and width properties. The colours were similarly derived from the - style sheet. The tick marks, however, were derived from the markup. In particular, the
+step
attribute has not affected the placement of tick marks, - the UA deciding to only use the author-specified completion values and then adding longer tick - marks at the extremes.Note how the UA determined the orientation of the control from the ratio of the + style-sheet-specified height and width properties. The colours were similarly derived from the + style sheet. The tick marks, however, were derived from the markup. In particular, the
-step
attribute has not affected the placement of tick marks, + the UA deciding to only use the author-specified completion values and then adding longer tick + marks at the extremes.Note also how the invalid value
+++50
was completely ignored.Note also how the invalid value
-++50
was completely ignored.
For another example, consider the following markup fragment:
+For another example, consider the following markup fragment:
-<input name=x type=range min=100 max=700 step=9.09090909 value=509.090909>+
<input name=x type=range min=100 max=700 step=9.09090909 value=509.090909>-
A user agent could display in a variety of ways, for instance:
+A user agent could display in a variety of ways, for instance:
- + -Or, alternatively, for instance:
+Or, alternatively, for instance:
- + -The user agent could pick which one to display based on the dimensions given in the style - sheet. This would allow it to maintain the same resolution for the tick marks, despite the - differences in width.
+The user agent could pick which one to display based on the dimensions given in the style + sheet. This would allow it to maintain the same resolution for the tick marks, despite the + differences in width.
-Finally, here is an example of a range control with two labeled values:
+Finally, here is an example of a range control with two labeled values:
-<input type="range" name="a" list="a-values"> +<input type="range" name="a" list="a-values"> <datalist id="a-values"> - <option value="10" label="Low"> - <option value="90" label="High"> +<option value="10" label="Low"> +<option value="90" label="High"> </datalist>-With styles that make the control draw vertically, it might look as follows:
- -- -
multiple
attribute is specified on
- the elementThe input
element represents a control for setting the element's
- values to two strings representing numbers, but
- with the caveat that the exact values are not important, enabling UAs provide a graphical
- interface rather than requiring the user to type the numbers directly.
If the element is mutable, the user agent should allow the - user to change either the first or second number represented by its values, as obtained from applying the rules for parsing - floating-point number values to them, and ensuring that the first value is never larger - than the second value. User agents must not allow the user to set either the first or second of - the values to a string that is not a valid - floating-point number. If the user agent provides a user interface for selecting a - number, then these values must be set to the best representations of - the numbers representing the user's selections as floating-point numbers. User agents - must not allow the user to set the values to the empty - string.
- -Constraint validation: While the user interface describes input that the - user agent cannot convert to a pair of valid - floating-point numbers, the control is suffering from bad input.
- -The value
attribute, if specified, must have a value
- that is a pair of valid floating-point numbers
- separated by a single U+002C COMMA character (,).
The value sanitization algorithm is as follows:
- -Split on commas the element's value.
If there are not exactly two values, or if either value is not a valid - floating-point number, then let the element's values be a pair of values consisting of a best representation, as a - floating-point number, of the element's minimum - and the element's maximum, with the smaller value - first.
Otherwise, let the element's values be the two - values, with the smaller value first.
Let the element's value be the result of - concatenating the element's values, separating them by - a single U+002C COMMA character (,), with the lower value coming first.
Whenever the user changes the element's values, the - user agent must set the element's value to the result of - concatenating the element's values, separating them by a - single U+002C COMMA character (,), with the lower value coming first.
- -With styles that make the control draw vertically, it might look as follows:
-When the element is suffering from an underflow, the user agent must set either - of the element's values that represent values less than - the minimum to the best representation, as a floating-point number, - of the minimum.
- -When the element is suffering from an overflow, if the maximum is not less than the minimum, the user agent must set either of the element's values that represent values greater than the maximum to a valid floating-point number that - represents the maximum.
- -When the element is suffering from a step mismatch, the user agent must round - the values represented by the element's values to, in - each case, the nearest number for which the element would not suffer from a step mismatch, and which is greater than or equal to the - minimum, and, if the maximum is not less than the minimum, which is less than or equal to the maximum, if there is a number that matches these constraints. - If two numbers match these constraints, then user agents must use the one nearest to positive - infinity.
- -Whenever the user agent changes the element's values - according to the three previous paragraphs, the user agent must set the element's value to the result of concatenating the element's values, separating them by a single U+002C COMMA character - (,), with the lower value coming first.
- --
Consider a user interface that filters possible flights by departure and arrival time:
- -<form ...> - <fieldset> - <legend>Outbound flight time</legend> - <select ...> - <option>Departure - <option>Arrival - </select> - <p><output name=o1>00:00</output> – <output name=o2>24:00</output></p> - <input type=range multiple min=0 max=24 value=0,24 step=1.0 ... - oninput="o1.value = valueLow + ':00'; o2.value = valueHigh + ':00'"> - </fieldset> - ... -</form>- -
With appropriate styling, this might look like:
- - - -When the multiple
attribute is set or removed, the
- user agent must run the value sanitization algorithm.
In this state, the range and step constraints are enforced even during user input, and there is no way to set the value to the empty string.
@@ -45437,8 +45205,7 @@ ldh-str = < as defined in autocomplete,list
,
max
,
- min
,
- multiple
, and
+ min
, and
step
content attributes;
list
,
value
, and
@@ -45446,17 +45213,6 @@ ldh-str = < as defined in stepDown() and
stepUp()
methods.
- The following common input
IDL attribute applies to the element if the multiple
content attribute is not specified:
- valueAsNumber
.
The following common input
IDL attributes apply to the element if the multiple
content attribute is specified:
- valueLow
and
- valueHigh
.
The value
IDL attribute is in mode value.
maxlength
,
minlength
,
+ multiple
,
pattern
,
placeholder
,
readonly
,
@@ -45492,25 +45249,12 @@ ldh-str = < as defined in files,
selectionStart
,
selectionEnd
,
- selectionDirection
,
- valueAsDate
,
- valueLow
, and
- valueHigh
IDL attributes;
+ selectionDirection
, and
+ valueAsDate
IDL attributes;
select()
,
setRangeText()
, and
setSelectionRange()
methods.
- The following common input
IDL attributes do not apply to the
- element if the multiple
content
- attribute is not specified:
- valueLow
and
- valueHigh
.
The following common input
IDL attribute does not
- apply to the element if the multiple
content attribute is specified:
- valueAsNumber
.
selectionEnd
,
selectionDirection
,
- valueAsDate
,
- valueAsNumber
,
- valueLow
, and
- valueHigh
IDL attributes;
+ valueAsDate
and,
+ valueAsNumber
IDL attributes;
setRangeText()
,
setSelectionRange()
,
stepDown()
, and
@@ -45735,10 +45477,8 @@ ldh-str = < as defined in selectionStart,
selectionEnd
,
selectionDirection
,
- valueAsDate
,
- valueAsNumber
,
- valueLow
, and
- valueHigh
IDL attributes;
+ valueAsDate
, and
+ valueAsNumber
IDL attributes;
select()
,
setRangeText()
,
setSelectionRange()
,
@@ -45898,10 +45638,8 @@ ldh-str = < as defined in selectionStart,
selectionEnd
,
selectionDirection
,
- valueAsDate
,
- valueAsNumber
,
- valueLow
, and
- valueHigh
IDL attributes;
+ valueAsDate
, and
+ valueAsNumber
IDL attributes;
select()
,
setRangeText()
,
setSelectionRange()
,
@@ -46161,10 +45899,8 @@ ldh-str = < as defined in selectionStart,
selectionEnd
,
selectionDirection
,
- valueAsDate
,
- valueAsNumber
,
- valueLow
, and
- valueHigh
IDL attributes;
+ valueAsDate
, and
+ valueAsNumber
IDL attributes;
setRangeText()
,
setSelectionRange()
,
stepDown()
, and
@@ -46266,10 +46002,8 @@ ldh-str = < as defined in selectionStart,
selectionEnd
,
selectionDirection
,
- valueAsDate
,
- valueAsNumber
,
- valueLow
, and
- valueHigh
IDL attributes;
+ valueAsDate
, and
+ valueAsNumber
IDL attributes;
select()
,
setRangeText()
,
setSelectionRange()
,
@@ -46525,10 +46259,8 @@ ldh-str = < as defined in selectionStart,
selectionEnd
,
selectionDirection
,
- valueAsDate
,
- valueAsNumber
,
- valueLow
, and
- valueHigh
IDL attributes;
+ valueAsDate
, and
+ valueAsNumber
IDL attributes;
select()
,
setRangeText()
,
setSelectionRange()
,
@@ -46644,10 +46376,8 @@ ldh-str = < as defined in selectionStart,
selectionEnd
,
selectionDirection
,
- valueAsDate
,
- valueAsNumber
,
- valueLow
, and
- valueHigh
IDL attributes;
+ valueAsDate
, and
+ valueAsNumber
IDL attributes;
select()
,
setRangeText()
,
setSelectionRange()
,
@@ -46731,10 +46461,8 @@ ldh-str = < as defined in selectionStart,
selectionEnd
,
selectionDirection
,
- valueAsDate
,
- valueAsNumber
,
- valueLow
, and
- valueHigh
IDL attributes;
+ valueAsDate
, and
+ valueAsNumber
IDL attributes;
select()
,
setRangeText()
,
setSelectionRange()
,
@@ -47187,71 +46915,31 @@ You cannot submit this form when the field is incorrect.
How these range limitations apply depends on whether the element has a multiple
attribute.
Constraint validation: When the element has a minimum and does not have a + reversed range, and the result of applying the algorithm to convert a string to a number to + the string given by the element's value is a number, and + the number obtained from that algorithm is less than the minimum, the element is suffering from an + underflow.
-multiple
attribute
- specified or if the multiple
attribute does not applyConstraint validation: When the element has a minimum and does not have a - reversed range, and the result of applying the algorithm to convert a string to a number to - the string given by the element's value is a number, and - the number obtained from that algorithm is less than the minimum, the element is suffering from an - underflow.
- -Constraint validation: When the element has a maximum and does not have a - reversed range, and the result of applying the algorithm to convert a string to a number to - the string given by the element's value is a number, and - the number obtained from that algorithm is more than the maximum, the element is suffering from an - overflow.
- -Constraint validation: When an element has a reversed range, - and the result of applying the algorithm to - convert a string to a number to the string given by the element's value is a number, and the number obtained from that algorithm - is more than the maximum and less than the minimum, the element is simultaneously suffering from an - underflow and suffering from an overflow.
- -multiple
attribute
- specified and the multiple
attribute does applyConstraint validation: When the element has a minimum, and the result of applying the algorithm to convert a string to a number to - any of the strings in the element's values is a number - that is less than the minimum, the element is - suffering from an underflow.
- -Constraint validation: When the element has a maximum, and the result of applying the algorithm to convert a string to a number to - any of the strings in the element's values is a number - that is more than the maximum, the element is - suffering from an overflow.
+Constraint validation: When the element has a maximum and does not have a + reversed range, and the result of applying the algorithm to convert a string to a number to + the string given by the element's value is a number, and + the number obtained from that algorithm is more than the maximum, the element is suffering from an + overflow.
- - -Constraint validation: When an element has a reversed range, + and the result of applying the algorithm to + convert a string to a number to the string given by the element's value is a number, and the number obtained from that algorithm + is more than the maximum and less than the minimum, the element is simultaneously suffering from an + underflow and suffering from an overflow.
min
content
attribute is not an error, then return that result and abort these steps.
- If the element does not have a multiple
attribute
- specified or if the multiple
attribute does not apply, then: if the element has a value
content attribute, and the result of applying the algorithm to convert a string to a number to
- the value of the value
content attribute is not an error,
- then return that result and abort these steps.
Otherwise, the element's type
attribute is in the Range state and the element has a multiple
attribute specified: run these substeps:
If the element does not have a value
content
- attribute, skip these substeps.
Split on commas the value of the value
content attribute.
If the result of the previous step was not exactly two values, or if either gets an - error when you apply the algorithm to convert - a string to a number, then skip these substeps.
Return the lower of the two numbers obtained in the previous step, and abort these - steps.
If the element has a value
content attribute, and
+ the result of applying the algorithm to convert
+ a string to a number to the value of the value
+ content attribute is not an error, then return that result and abort these steps.
If a default step base is defined for
this element given its type
attribute's state, then return
@@ -47382,44 +47040,13 @@ You cannot submit this form when the field is incorrect.
-
How these range limitations apply depends on whether the element has a multiple
attribute.
multiple
attribute
- specified or if the multiple
attribute does not applyConstraint validation: When the element has an allowed value step, and the result of applying the algorithm to convert a string to a number to - the string given by the element's value is a number, and - that number subtracted from the step base is not an - integral multiple of the allowed value step, the - element is suffering from a step mismatch.
- -multiple
attribute
- specified and the multiple
attribute does applyConstraint validation: When the element has an allowed value step, and the result of applying the algorithm to convert a string to a number to - any of the strings in the element's values is a number - that, when subtracted from the step base, is not an - integral multiple of the allowed value step, the - element is suffering from a step mismatch.
- -Constraint validation: When the element has an allowed value step, and the result of applying the algorithm to convert a string to a number to + the string given by the element's value is a number, and + that number subtracted from the step base is not an + integral multiple of the allowed value step, the + element is suffering from a step mismatch.
@@ -47494,24 +47121,6 @@ You cannot submit this form when the field is incorrect. - -type
attribute is in the Range state and the element has a multiple
attribute specifiedWhen the user selects a suggestion, the user agent must identify which value in the element's - values the user intended to update, and must then update - the element's values so that the relevant value is - changed to the value given by the selected suggestion's value, as if the user had themself set it to that - value.
- -type
attribute is in the Email state and the element has a
- - input .
valueLow
[ = value ]
- - input .
valueHigh
[ = value ]
-
- -
-
-
Returns a number representing the low and high components of form control's value respectively, if applicable; otherwise, returns NaN.
-
- Can be set, to change the value.
-
- Throws an "InvalidStateError
" DOMException
if the
- control is not a two-handle range control.
-
-
-
- input .
stepUp
( [ n ] )
- input .
stepDown
( [ n ] )
@@ -47934,65 +47528,6 @@ You cannot submit this form when the field is incorrect.
- The valueLow
and valueHigh
IDL attributes represent the value of the element, interpreted as a comma-separated pair of
- numbers.
-
- On getting, if the attributes do not apply, as defined for the input
- element's type
attribute's current state, then return zero;
- otherwise, run the following steps:
-
-
-
- Let values be the values of
- the element, interpreted according to the algorithm to convert a string to a number, as
- defined by the input
element's type
- attribute's current state.
-
- If the attribute in question is valueLow
, return
- the lowest of the values in values; otherwise, return the highest of the
- values in values.
-
-
-
- On setting, if the attributes do not apply, as defined for the input
- element's type
attribute's current state, then throw an
- "InvalidStateError
" DOMException
. Otherwise, run the
- following steps:
-
-
-
- Let values be the values of
- the element, interpreted according to the algorithm to convert a string to a number, as
- defined by the input
element's type
- attribute's current state.
-
- Let new value be the result of running the algorithm to convert a number to a string, as
- defined for that state, on the new value.
-
- If the attribute in question is valueLow
, replace
- the lower value in values with new value; otherwise,
- replace the higher value in values with new
- value.
-
- Sort values in increasing numeric order.
-
- Let values be the result of running the algorithm to convert a number to a string, as
- defined by the input
element's type
- attribute's current state, to the values in values.
-
- Set the element's value to the concatenation of the
- strings in values, separating each value from the next
- by a U+002C COMMA character (,).
-
-
-
-
-
The stepDown(n)
and stepUp(n)
methods, when invoked,
must run the following algorithm: