week

<input type=week) (HTML)

[4] HTML の input 要素の type 属性を week とすると、 週を指定するフォーム制御子となります。

[5] 仕様書:

値

構文

[6] DOM 内やフォーム提出時に用いられる値は、 ISO 8601 のプロファイルであり、 次のような構文を有します。

数は十進数としなければなりません。 必要なら零埋めしなければなりません。

WF2 2.4

暦

[2] 週は月曜日から始まるとします。 ある年の第1週は、1月4日を含む週です。 WF2 2.4

[15] 暦に関しては、 datetime (>>12) の項を参照してください。

例

[7] 2005-W52 WF2 2.4

この週は、 2005年の最後の月曜日から 2006年の最初の日曜日までを含みます。

メモ

[16] 零点は、 1970-W01 です。これは、1969年12月29日に始まる週で、 1970年1月1日を含んでいます。 WF2 2.4.2

属性との関係

[8] step 属性は週単位の精度を表します。 既定値は 1 (1週間) です。 WF2 2.4

レンダリング

[9] 利用者エージェントは適切な widget を使うことが期待されます。

互換性

[13] 未対応利用者エージェントとの互換性

month に対応していない利用者エージェントは、 text (単一行文章入力制御子) として扱います。従って、利用者は任意の文字列を入力することができます。

ですから、著者は、対応している利用者エージェントが一般的になるまでの間、 フォーム制御子の近くで記入方法を説明しておくのがよいでしょう。 フォーム処理エージェントは記入された値が適当か検査するべきです (これは安全性の観点からも重要です)。

実装

[11] Opera 9 が実装しています。

[17] Blink (Chrome, Edge) が実装しています。

[18] Safari と Firefox は未だに実装していません。何考えてるんですかね?

歴史

[10] この input type は Web Forms 2.0 で導入されました。

関連

[12] input type として、日付のための date、 月のための month などがあります。

メモ

[3] 年と週による時期の指定は、 日本では馴染みが薄いものですが、 欧州の産業界ではよく使われているようです WF2 2.4。

[14] もっとも、年と週により記述されるのは内部や提出の際の表現で、 必ずしも利用者に提示される表現とは一致しませんから、 利用者エージェントが日本の利用者に対しては (何年の) 何月の第何週という形で選択・表示するようにすれば、 利用価値はあるでしょう。

そのためには、 Web Forms 2.0 が多くの利用者エージェントで実装されるようになる (または著者が XBL などによる代替実装を提供する) 必要があります。いくら利用者が >>13 のように入力可能とはいっても、 週番号を数えるという慣れない作業が必要になります。

メモ