本文へスキップ

プログレッシブ・ディスクロージャ

最初は必要最小限だけを見せ、求められたときに詳細を段階的に開く。初心者の迷いを減らしつつ、上級者の機能も失わない。

Progressive Disclosure

なぜ効くか

Jakob Nielsen が 1990 年代から使ってきた設計手法で、根拠は「一度に見せる情報が多いほど、どれを見ればいいかの判断に時間がかかり、誤りも増える」という観察にある。すべてを最初から並べると、めったに使わない設定が毎回の操作の邪魔になり、逆に隠しすぎると存在に気づかれない。要点は「主要な操作は隠さず、二次的なものは 1 手で開ける場所に置く」こと。Web UI では、FAQ の折りたたみ、主ボタンの隣の▼から出る別動作、AI の推論過程の折りたたみ、フォルダの開閉、編集者アイコンの「+4」、フォームの段階分けとして現れる。開く操作には何が出るかの手掛かり(矢印・件数・ラベル)が要る。

UIでの当て方

  1. 01画面に出す項目を「全員が毎回使う」「一部が時々使う」に分け、後者は折りたたみ・メニュー・次の段階に送る。
  2. 02隠した内容の存在は見せる。「+4 人」「4 秒 思考しました ▸」のように、開く前に中身の量と種類を予告する。
  3. 03開閉の状態は aria-expanded で伝え、開いた内容は開閉ボタンの直後に置いて読み上げ順を保つ。
  4. 04段階を増やしすぎない。1 回開けば目的の情報に届く深さに留め、開いた先にさらに折りたたみを置かない。

誤用・反例

  • 主要な操作(購入・保存・検索)をメニューの奥に隠し、画面を空にしすぎる。
  • 折りたたみの中に必須の注意事項(料金・解約条件)を入れ、開かないと気づけない状態にする。

この原則を体現するパーツ

  • クリック

    アコーディオン解説あり

    Accordion

    クリックで項目が開閉し、アイコンが回転。一度に1つだけ開く排他制御で高さを抑える。

  • クリック

    ネイティブ開閉アニメ(details)

    Native Details Disclosure

    HTMLの<details>だけで、中身がふわっと高さアニメーションしながら開閉する。::details-contentとcalc-size()でJSなしのアコーディオン。

  • クリック

    思考ステップ開示

    Chain-of-Thought Disclosure

    「4秒 思考しました」の折りたたみをタップすると、AIの推論ステップが1つずつチェックされながら展開する。ChatGPT/Claude系の定番。

  • クリック

    スプリットボタン

    Split Button

    主操作ボタンの右端に▼トグルが連結し、押すと別動作(名前を付けて保存など)のメニューが開く。外側クリック・Escで閉じる。

  • クリック

    ツリービュー

    Tree View

    フォルダを開閉できるファイルツリー。クリックでフォルダが開き、キャレットが回転する。階層はインデントで表現し、キーボード(矢印キー)でも操作できる。

  • ホバー

    アバターグループ

    Avatar Group

    共同編集者のアイコンが少しずつ重なって並び、末尾に「+N」で残数を表示。ホバー/タップで扇状に広がって全員が見える。

  • 入力

    ステップフォーム解説あり

    Multi-Step Form (Wizard)

    3ステップ(基本情報→住所→確認)を進捗バー付きで切り替え。次へ/戻るボタンと必須チェックを備え、最後に入力内容を確認表示する。

  • クリック

    サイドバーナビ解説あり

    Sidebar Navigation

    セクション見出し付きの縦型ナビ。折りたたみグループはクリックで開閉し、現在の項目は藍色でハイライトされる。管理画面やダッシュボードの定番。

関わるカテゴリ

出典