本文へ移動

メニュー

日付ピッカー/カレンダー使い方

コンポーネント要素

日付ピッカー

スクリーンショット:日付ピッカーを構成する各パーツに、それぞれ①②③④⑤⑥⑦の番号を割り付けている。①は年フィールド。②は月フィールド。③は日フィールド。④は年月日フィールドと対になるテキストの項目ラベル。年月日フィールドの上に左寄せで配置。⑤は赤文字の要否ラベル。項目ラベルの後ろに配置。⑥はサポートテキスト。ラベルと年月日フィールドの間に配置。⑦は赤文字のエラーテキスト。年月日フィールドの下に左寄せで配置。
  1. 年フィールド
  2. 月フィールド
  3. 日フィールド
  4. 項目ラベル(必須)
  5. 要否ラベル
  6. サポートテキスト
  7. エラーテキスト

カレンダー

スクリーンショット:カレンダーを構成する各パーツに、それぞれ①②の番号を割り付けている。①はカレンダーボタン。年月日フィールドの右に配置。②はカレンダーパネル。年月日フィールドの下に左寄せで配置。
  1. カレンダーボタン
  2. カレンダーパネル

外観

表示タイプ

スクリーンショット:ConsolidatedタイプおよびSeparatedタイプの日付ピッカー

ConsolidatedタイプまたはSeparatedタイプから選んでください。 Consolidatedタイプは視覚的にはひとつにまとまった年月日のフィールドとして表現され、Separatedタイプは年月日がそれぞれ独立したフィールドとして表現されています。

入力フィールドのカスタマイズ

スクリーンショット:日フィールドが省略された日付ピッカーおよび年フィールドが省略された日付ピッカー

要件に応じて以下の使い方ができます。

  • 日フィールドを省略して年および月の入力として使う
  • 年フィールドを省略して月および日の入力として使う

カレンダーを使用するとき

カレンダーは文脈に応じて適切なタイミングでのみ使用してください。

カレンダーは、ユーザーが前後移動や曜日を確認しながら日付を選ぶことを助けるコンポーネントであり、比較的短い期間の範囲を対象とする際に有用です。たとえば、イベント開催日、宿泊期間、スケジュールの入力を目的とする場合には、カレンダーは有効に機能します。

一方で、特定可能な既知の日付を入力させる場面ではうまく機能しません。たとえば、生年月日、履歴書の経歴年月、クレジットカードの有効期限の入力のためには、直接入力のフィールドが有用です。こうしたケースではカレンダーボタンを置くべきではありません。

コンテンツ

ラベル

入力の必要性に応じて、ラベルの隣に要否ラベルを記載してください。 要否ラベルは「※必須」または「※任意」と記載します。

サポートテキスト

スクリーンショット:サポートテキストをもつ日付ピッカーの例。項目ラベルが生年月日、要否ラベルが必須、サポートテキストが「西暦で記入してください。例)2021年09月01日」となっている。
  • サポートテキストを用いて、年フィールドが西暦であることの明示、および年月日全体の具体的な入力例を記述します。
  • プレースホルダーテキストは使用しません。

和暦による入力のサポート

和暦に対応した日付ピッカーは、現時点でデジタル庁デザインシステムでは提供していません。(今後対応予定)

ふるまい

日付ピッカー

  • 年月日のフォーカスを自動で移動させないでください。 フォーカスの移動はユーザーに意思によって行います。
  • フォーカス時にIMEの制御は行わないものとします。 IMEの制御はユーザーの意思によって行います。
  • 日付ピッカーに全角数字が入力された場合、半角数字に正規化してください。 エラーにせずに、フロントエンドまたはサーバサイドで自動で訂正します。
  • ゼロ埋め(ゼロパディング)されていない数字が入力された場合、ゼロ埋めするように正規化してください。 エラーにせずに、フロントエンドまたはサーバサイドで自動で訂正します。
  • 日付ピッカーにdisabledコンテンツ属性を指定しないでください。 アクセシビリティ上の問題があります。既存システムの制約等により、どうしても日付ピッカーを無効化しなければならない場合は、すぐ近くに「そこに無効化された日付ピッカーがある」旨と、何をすると表示されるかの条件を視覚的に読めるテキストで記載してください。

日付ピッカーのキーボード操作支援

Consolidatedタイプの日付ピッカーは年月日3つのフィールドが統合されたスタイルをもちます。ユーザーはこれらを単一の入力フィールドとしての操作を期待するため、以下のインタラクションの実装を推奨します。

  • キー: 年および月フィールド内においてキャレットが右端にあるとき、フォーカスを次の入力フィールドに移動する
    • インタラクションの例:年フィールドに入力後、右キー押下で、月フィールドにフォーカスが移動する
  • キー: 月および日フィールド内においてキャレットが左端にあるとき、フォーカスを前の入力フィールドに移動する
    • インタラクションの例:月フィールドや日フィールドに入力後、キャレットが左端にある状態で左キー押下により、前のフィールドにフォーカスが移動する

カレンダー

  • カレンダーボタン押下によってのみカレンダーパネルを表示してください。 マウスオーバーまたはフォーカスをトリガーとしてカレンダーパネルを表示してはいけません。
  • はじめてカレンダーパネルを開く時は「今日」を含む年月を表示してください。 それ以外の年月をデフォルトに表示するべき合理的な理由がある場合を除きます。
  • 日付ピッカーに入力された値をカレンダーに反映してください。 入力された日付を含む年月をカレンダーパネルに表示し、入力された日付をSelectedとして反映します。
  • カレンダーボタンおよびカレンダーパネルにdisabledコンテンツ属性を指定しないでください。 アクセシビリティ上の問題があります。既存システムの制約等により、どうしてもカレンダーボタンを無効化しなければならない場合は、すぐ近くに「そこに無効化されたカレンダーボタンがある」旨と、何をすると表示されるかの条件を視覚的に読めるテキストで記載してください。
  • インタラクションを適切に実装してください。 カレンダーに求められるマークアップおよびキーボード操作は、ARIA Authoring Practices Guideの記述に準じてください。

参考情報