/[pub]/suikawiki/sw4data/ids/2/620.txt
Suika

Contents of /suikawiki/sw4data/ids/2/620.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations) (download)
Wed Nov 21 00:00:43 2012 UTC (12 years ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +5 -0 lines
File MIME type: text/plain
updated by (anon)

1 wakaba 1.1 * [CODE(HTMLe)@en[input]] 要素 [CODE(HTMLa)@en[step]] 属性 (HTML)
2    
3     [2] [[HTML]] の [CODE(HTMLe)@en[[[input]]]] [[要素]]の
4     [DFN[[CODE(HTMLa)@en[step]] [[属性]]]]は、
5     [[フォーム制御子]]の[[精度]]を制御します。
6     [[日時]]や[[数値]]に関係する [CODE(HTMLa)@en[[[type]]]]
7     に対して有効です。
8     [SRC@en[WF2 2.4.2]]
9    
10     [4]
11     :状態:[[WHATWG]] [[WD]]
12     :[[要素型]]:[CODE(HTMLe)@en[[QN[[[input]]][[[http://www.w3.org/1999/xhtml]]]]]]
13     :[CODE(HTMLa)@en[[[type]]]]:
14     [CODE(HTML)@en[[[date]]]],
15     [CODE(HTML)@en[[[datetime]]]],
16     [CODE(HTML)@en[[[datetime-local]]]],
17     [CODE(HTML)@en[[[month]]]],
18     [CODE(HTML)@en[[[time]]]],
19     [CODE(HTML)@en[[[week]]]],
20     [CODE(HTML)@en[[[number]]]],
21     [CODE(HTML)@en[[[range]]]]
22     :[[属性名]]:[CODE(HTMLa)@en[[[step]]]]
23     ([Q@en[[[step]]]] ([Q[[[段階]]]]) より)
24     :[[属性値]]:[CODE(HTMLa)@en[[[type]]]] に依存 (>>5)
25     :[[既定値]]:[CODE(HTMLa)@en[[[type]]]] に依存 (>>6)
26    
27     [3] 仕様書:
28     - [[Web Forms 2.0]]
29     -- [CSECTION@en[2.4.2. Precision]]
30     <IW:WF2:"#precision">
31    
32     ** 属性値
33    
34     [5] [SRC@en[WF2 2.4, 2.4.2]]
35     ,[CODE(HTMLa)@en[[[type]]]],[[属性値]],[[既定値]]
36     ,[CODE(HTML)@en[[[date]]]],[[日]]数,[CODE(HTML)[[[1]]]] (1[[日]])
37     ,[CODE(HTML)@en[[[datetime]]]],[[秒]]数,[CODE(HTML)[[[60]]]] (1[[分]])
38     ,[CODE(HTML)@en[[[datetime-local]]]],[[秒]]数,[CODE(HTML)[[[60]]]] (1[[分]])
39     ,[CODE(HTML)@en[[[month]]]],[[月]]数,[CODE(HTML)[[[1]]]] (1ヶ[[月]])
40     ,[CODE(HTML)@en[[[number]]]],値,[CODE(HTML)[[[1]]]]
41     ,[CODE(HTML)@en[[[range]]]],値,[CODE(HTML)[[[1]]]]
42     ,[CODE(HTML)@en[[[time]]]],[[秒]]数,[CODE(HTML)[[[60]]]] (1[[分]])
43     ,[CODE(HTML)@en[[[week]]]],[[週]]数,[CODE(HTML)[[[1]]]] (1[[週間]])
44    
45     [12]
46     [[時刻]]系[[制御子]]では、
47     [CODE(HTMLa)@en[[[step]]]] [[属性値]]は[[秒]]数です。
48     [[秒]][[未満]]の値のために[[小数]]を使用[['''して構いません''']]。
49     書式は、それぞれの [CODE(HTML)@en[[[number]]]]
50     の[[値]]に用いられるものと同じですが、
51     [[零]]よりも大きく[['''しなければなりません''']]。
52     [SRC@en[WF2 2.4.2]]
53    
54     [6]
55     [[日付]]系[[制御子]]では、
56     [CODE(HTMLa)@en[[[step]]]] [[属性値]]は[[日]]、[[週]]、[[月]]の数です。
57     書式は1[[桁]][[以上]]の [CODE(HTML)[[[0]]]]〜[CODE(HTML)[[[9]]]]
58     で、[[十進数]]として解釈されます。
59     [[零]]は[[既定値]]として解釈されます。
60     [SRC@en[WF2 2.4.2]]
61    
62     [14]
63     [[数値]]系[[制御子]]では、
64     書式は [CODE(HTML)@en[[[number]]]] の[[値]]と同じですが、
65     [[零]]よりも大きく[['''しなければなりません''']]。
66     [SRC@en[WF2 2.4.2]]
67    
68     [18]
69     更に、いずれの [CODE(HTMLa)@en[[[type]]]] でも、
70     [CODE(HTML)@en[[[any]]]]
71     という特別な値を使用[['''して構いません''']]。
72     この[[値]]は、どんな[[値]]も使用[['''して構いません''']]と示すことになります。
73     [SRC@en[WF2 2.4.2]]
74    
75     ;; [CODE(HTMLa)@en[[[step]]]] に関する制約はなくなりますが、
76     その他の制約は通常通り適用されます。
77    
78     [22] [[著者]]が与えた [CODE(HTMLa)@en[[[step]]]]
79     が適切な[[値]]でなければ、
80     [[既定値]]が用いられます。
81     [SRC@en[WF2 2.4.2]]
82    
83     [[#comment]]
84    
85     ** 妥当性
86    
87     [7] [[フォーム制御子]]が[[妥当]]となるためには、
88     基準点から [CODE(HTMLa)@en[[[step]]]]
89     の[[整数倍]]の[[値]]を有[['''しなければなりません''']]。
90     [SRC@en[WF2 2.4.2]]
91    
92     [8] ここでいう基準点は、
93     [CODE(HTMLa)@en[[[min]]]] [[属性値]]か、
94     なければ [CODE(HTMLa)@en[[[max]]]]
95     [[属性値]]か、それもなければ[[零点]]です。
96     [SRC@en[WF2 2.4.2]]
97    
98     [20]
99     [[値]]が [CODE(HTMLa)@en[[[step]]]] に照らして適切でなければ、
100     [CODE(DOM)@en[[[stepMismatch]]]] [[妥当性検証誤り]]が用いられます。
101     しかし、[[利用者エージェント]]は、この[[誤り]]を[[報告]]する代わりに、
102     [[数値]]を [CODE(HTMLa)@en[[[step]]]] で認められる直近の[[値]]に黙って[[丸め]]ることに[['''して構いません''']]。
103     [SRC@en[WF2 2.4.2]]
104    
105     ;; しかし、その[[丸め]]により、
106     [[値]]が範囲外になり、 [CODE(DOM)@en[[[rangeOverflow]]]]
107     などの[[妥当性検証誤り]]が生じることもあります。
108    
109     [[#comment]]
110    
111     ** レンダリング
112    
113     [11]
114     [CODE(HTMLa)@en[[[step]]]] [[属性]]を[[利用者界面]]にどう反映させるべきかは、
115     [[Web Forms 2.0]] では規定していませんが、
116     [CODE(HTMLa)@en[[[step]]]] が [CODE(HTML)[[[1]]]]
117     の [CODE(HTML)@en[[[datetime]]]] について、
118    
119     <IMG:http://www.whatwg.org/specs/web-forms/current-work/sample-datetime-ui-1>
120    
121     のように、[[文章入力制御子]]のうち、
122     [[年]]〜[[秒]]がそれぞれ編集可能になっており、
123     [[暦]]や[[時計]]を表示するための[[ボタン]]が付されている例を示しています。
124     [SRC@en[WF2 2.4.2]]
125    
126     [[#comment]]
127    
128     ** 実装の精度
129    
130     [21]
131     [[著者]]が [CODE(HTMLa)@en[[[step]]]]
132     で指定した[[値]]が[[利用者エージェント]]にとって小さすぎる時、
133     [[利用者エージェント]]は [CODE(HTML)@en[[[any]]]]
134     であるかのように取り扱い[['''するべきです''']]。
135     [SRC@en[WF2 2.4.2]]
136    
137     ;; 例えば、多くの[[利用者エージェント]]では
138     [CODE(HTML)@en[[[1e-9999999]]]]
139     は [[underflow]] になり、扱えませんので、
140     [CODE(HTML)@en[[[any]]]] であるかのように扱うべきです。
141    
142     [23]
143     [[利用者エージェント]]は[[利用者]]や[[著者]]が指定した[[値]]を[[二進表現]]に変換せずに、
144     元の[[文字列]]形のままで[[比較]]を行うことが[['''推奨''']]されます。
145     それにより、[[十進数]]と[[二進数]]の変換による[[誤差]]が生じるのを防ぐことができます。
146     [SRC@en[WF2 2.4.2]]
147    
148     [24]
149     [[利用者エージェント]]がどうしても[[二進数]]に変換する必要がある時は、
150     [[ECMA 262]] の 9.3.1 節 ([CODE@en[[[ToNumber]]]])
151     や 8.5 節 ([CODE(JS)@en[[[Number]]]])
152     で定義されているものと[[等価]]な[[算法]]を
153     (扱える[[数値]]の範囲はその[[利用者エージェント]]で適当なものと読み替えて)
154     使用[['''するべきです''']]。
155     [SRC@en[WF2 2.4.2]]
156    
157     [[#comment]]
158    
159     ** 例
160    
161     [9]
162     [PRE(HTML example code)[
163     <input type="datetime" step="120" name="start">
164     ]PRE]
165    
166     この例では、任意の[[年月日]]を選択できますが、
167     [[時刻]]は[[偶数]][[分]]丁度でなければなりません。
168     [SRC@en[WF2 2.4.2]]
169    
170     [10]
171     [PRE(HTML example code)[
172     <input type="time" min="00:00:15.20" name="t">
173     ]PRE]
174    
175     この例では、[[時]]と[[分]]はいつでも構いませんが、
176     [[分]]丁度から15と10分の2[[秒]]後でなければなりません。
177     従って、
178     [CODE(HTML)[00:00:15.2]],
179     [CODE(HTML)[00:01:15.2]],
180     [CODE(HTML)[00:02:15.2]], ...
181     [CODE(HTML)[23:59:15.2]]
182     が選択肢となります。
183     [SRC@en[WF2 2.4.2]]
184    
185     ;; [CODE(HTMLa)@en[[[step]]]] の[[既定値]]が
186     [CODE(HTML)[[[60]]]] (1[[分]]) だからです。
187    
188     [13]
189     [PRE(HTML example code)[
190     <input type="date" min="1900-01-07" step="7" name="sunday">
191     ]PRE]
192    
193     この例では、[[1900]]年以降の[[日曜日]]だけが選択できます。
194     [SRC@en[WF2 2.4.2]]
195    
196     [15]
197     [PRE(HTML example code)[
198     <input type="number" step="25e-2" max="-1.1">
199     ]PRE]
200    
201     この例では、
202     [CODE(HTML)[-1.1]],
203     [CODE(HTML)[-1.35]],
204     [CODE(HTML)[-1.60]],
205     [CODE(HTML)[-1.85]],
206     [CODE(HTML)[-2.1]], ...
207     が認められる値となります。
208     [SRC@en[WF2 2.4.2]]
209    
210     [16]
211     [PRE(HTML example code)[
212     <input type="range" step="2" name="evenN">
213     ]PRE]
214    
215     この例では、[[偶数]]だけが認められます。
216     [SRC@en[WF2 2.4.2]]
217    
218     ;; [CODE(HTML)@en[[[range]]]] では [CODE(HTMLa)@en[[[min]]]]
219     の[[既定値]]が [CODE(HTML)[[[0]]]] だからです。
220    
221     [17]
222     [PRE(HTML invalid example code)[
223     <input type="range" step=".1" name="n">
224     ]PRE]
225    
226     この例では、 [CODE(HTMLa)@en[[[step]]]] [[属性]]の書式が不適当なので、
227     [CODE(HTMLa)@en[[[step]]]] [[属性値]]は使われず、
228     [[既定値]]の [CODE(HTML)[[[1]]]] が使われます。
229     [SRC@en[WF2 2.4.2]]
230    
231     ;; 十分の一は、 [CODE(HTML example)[[[0.1]]]]
232     と書かなければなりません。
233    
234     [19]
235     [PRE(HTML example code)[
236     <input type="number" step="any" name="n">
237     ]PRE]
238    
239     この例では、任意の[[浮動小数点数]]が使用できます。
240     [SRC@en[WF2 2.4.2]]
241    
242     [[#comment]]
243    
244     * メモ
245     - [1] 日本語では[[歩み]], [[歩調]], [[段]], [[段階]], [[手順]], [[踊り方]], [[音程]],[[手段]], [[処置]], [[階級]]など。
246 wakaba 1.2
247    
248     [1901] [CITE@en[Web Applications 1.0 r7517 Make it possible for <input type="time" name="t" value="14:39:24"> to be submitted (before, it couldn't because it didn't match the step, but now, if possible, the step is based on the default value rather than zero if there's no min).]]
249     ( ([TIME[2012-11-21 04:49:00 +09:00]] 版))
250     <http://html5.org/tools/web-apps-tracker?from=7516&to=7517>

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24