【どろっぷだうん】

ドロップダウン とは?

💡 クリックで「下に展開するリスト」、コンパクトに選択肢を提示するUI部品
📌 このページのポイント
ドロップダウンメニューの動作 閉じた状態 選択してください クリックすると 選択肢が表示される クリック 開いた状態 選択してください オプション1 オプション2 オプション3 ← 選択中 省スペースで複数の選択肢を提示できるUIコンポーネント
ドロップダウンメニューの開閉イメージ
ひよこ ひよこ

ドロップダウンって何?

ペンギン先生 ペンギン先生

クリックすると下方向にリストが展開して、そこから選択するUI部品。Webフォームの「都道府県を選んでください」のリスト、ナビゲーションメニューのサブメニューがドロップダウンの代表例。日本語では「プルダウン」とも呼ばれる。

ひよこ ひよこ

コンボボックスとどう違うの?

ペンギン先生 ペンギン先生

ドロップダウンは選択肢から選ぶだけ(自由入力はできない)。コンボボックスは選択もできるし自由にテキストを入力することもできる組み合わせ型。用途に合わせて選ぶ。選択肢が固定なら``タグはスマホのブラウザがネイティブのピッカー(iOS/Androidのドラム式選択UI)に変換することが多い。カスタムデザインのドロップダウンをJavaScriptで実装した場合はスマホでもPCと同じ見た目になるが、スマホ操作性に要注意。

ひよこ ひよこ

選択肢がすごく多いドロップダウンって使いにくくない?

ペンギン先生 ペンギン先生

その通り。47都道府県はまだ許容範囲だけど、200カ国の選択なんかは検索付きドロップダウン(Select2やReact Selectなど)にすべきだね。UXの観点では、選択肢が7個以上ならドロップダウンよりラジオボタンの方がユーザーの認知負荷が低い場合もあるよ。

ひよこ ひよこ

アクセシビリティって考えなきゃダメなの?

ペンギン先生 ペンギン先生

非常に重要だよ。HTMLネイティブの<select>はキーボード操作やスクリーンリーダーに対応しているけど、JavaScriptで自作したカスタムドロップダウンはaria-expanded、aria-haspopup、role属性を正しく付けないとアクセシビリティが壊れる。見た目だけ作って終わりにするのはNGで、WAI-ARIAのガイドラインに従って実装するのがプロの仕事だね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
ドロップダウンって出てきたら「クリックで展開するリストから選択するUI部品、HTMLのselectタグがその代表」と思えばOK!
📖 おまけ:英語の意味
「Dropdown」 = 下に垂れ下がる・下方向に展開する
💬 GUIの普及とともに定着した用語。「プルダウン」とも呼ばれる(特に日本語圏)。1980年代のMacintoshのメニューバーがドロップダウンメニューの原型
← 用語集にもどる