Reference

UI部品名鑑

「このボタンみたいなやつ、なんて言うの?」ってなやんだら、
ここ見て。名前とよくあるバグをまとめたよ。

送信する キャンセル
ボタンButton

クリック(タップ)するとアクションを実行するやつ。色・形・サイズでプライマリ/セカンダリ/ゴーストなどのバリエーションを作る。

よくあるバグ

  • ダブルクリックで2回フォームが送信される
  • disabled状態なのにクリックイベントが発火する
  • ホバーしてもカーソルが矢印のまま(cursor: pointer 忘れ)
  • 非同期処理中にボタンが連打できてしまう
メールアドレス
テキストフィールドText Input

ユーザーが文字を入力するやつ。フォーカス中は枠の色が変わるのが一般的。type属性でメール・電話・パスワード用に切り替えられる。

よくあるバグ

  • iOSでフォーカス時に画面がズームインしてしまう(font-size: 16px 未満)
  • プレースホルダーと入力テキストの色が同じで見えない
  • オートフィルで背景が黄色くなってデザインが崩れる
  • 日本語変換が確定する前にsubmitが走る
利用規約に同意する メルマガを受け取る
チェックボックスCheckbox

複数の選択肢をそれぞれオン・オフできるやつ。「利用規約に同意する」みたいな場面でよく使われる。

よくあるバグ

  • クリック範囲がボックスだけで、ラベルをクリックしても反応しない
  • 全選択チェックボックスと個別の状態が同期されない
  • フォーム送信時にチェックなしの値がPOSTされない
  • CSSリセットでチェックマークが消える
クレジットカード 銀行振込 コンビニ払い
ラジオボタンRadio Button

グループから必ず1つだけ選ぶやつ。支払い方法・性別選択でよく出てくる。同じname属性でグループになる。

よくあるバグ

  • name属性が違うと別グループになって複数選べてしまう
  • 一度選んだ選択肢を解除できず、リセットできない
  • labelとinputが紐づいていないのでラベルクリックが効かない
  • デフォルト選択なしで送信すると未選択エラーになる
通知オン ダークモード
トグルスイッチToggle Switch

オン/オフをぱちっと切り替えるやつ。設定画面でよく見かける。チェックボックスより「今すぐ切り替える」感が強い。

よくあるバグ

  • アニメーションなしでガクッと瞬間移動する
  • 色だけで状態を伝えていて色覚多様性に対応していない
  • クリック範囲が小さくてスマホで操作しにくい
  • 表示はオフなのに値はオンのまま(状態の同期ミス)
東京都 大阪府
セレクトボックスSelect / Dropdown

リストから1つ選ぶやつ。都道府県・カテゴリ・並び順などの選択に使う。選択肢が多いときはスクロールできる。

よくあるバグ

  • iOSでCSSが効かず角丸やフォントが無視される
  • 長い選択肢テキストがはみ出す(overflow: hidden 忘れ)
  • 「-- 選択してください --」がそのまま送信されてしまう
  • Androidのドロップダウンがシステムデザインに上書きされる
ホバーすると出てくるよ ?
ツールチップTooltip

ホバーしたときに補足説明がひょこっと出てくるやつ。アイコンだけのボタンの説明によく使う。

よくあるバグ

  • 画面端で外にはみ出して見えない
  • スマホはホバーがないので永遠に表示されない
  • 親要素に overflow: hidden があると切れる
  • テキストが長くて吹き出しが巨大になりすぎる
概要 詳細 レビュー コンテンツがここに表示される
タブTabs

ページ内で複数のコンテンツを切り替えて表示するやつ。商品の「概要・仕様・レビュー」みたいに場面を分けたいときに使う。

よくあるバグ

  • 非アクティブタブのコンテンツが検索エンジンに読まれてSEOが混乱する
  • URLにページ番号がないのでリロードで最初のタブに戻る
  • スマホで横並びタブが画面から溢れてはみ出す
  • アクティブ状態のスタイルが他のCSSに上書きされる
返品はできますか? 14日以内であれば返品可能です。 送料は無料ですか?
アコーディオンAccordion

クリックで開いたり閉じたりするやつ。FAQや設定項目をコンパクトに並べるときに使う。

よくあるバグ

  • height: auto へのCSSアニメーションができずガクッと瞬間展開する
  • 「1つだけ開ける」仕様なのに複数同時に開いてしまう
  • 閉じた状態のコンテンツがタブキーでフォーカスを受けてしまう
  • 開くと内容が画面外に押し出されスクロールが必要になる
¥ 30,000 ¥0 ¥50,000
スライダーRange Slider

数値をドラッグして調整するやつ。価格帯の絞り込みや音量調整など、連続した値を入力するのに向いている。

よくあるバグ

  • スマホでドラッグしようとするとページのスクロールが始まる
  • ブラウザによってデザインが全然違う(特にiOS/Android)
  • 0.1 + 0.2 = 0.30000000000000004 みたいな浮動小数点誤差が表示される
  • min/maxの範囲外の値を手入力で打ててしまう
アップロード中… 68% 不定長(ローディング中)
プログレスバーProgress Bar

処理の進み具合を視覚的に示すやつ。ファイルアップロードや読み込み中に表示する。長さがわからないときはアニメーション版になる。

よくあるバグ

  • 100%になっても表示が消えず完了したか分からない
  • 処理が速すぎて一瞬しか見えない(かえって点滅みたいでびっくり)
  • バーの幅が実際の進捗と合っておらず「演技」になっている
  • aria属性がないのでスクリーンリーダーに進捗が伝わらない
公開中 エラー レビュー中 JavaScript React CSS
バッジ・タグBadge / Tag

ステータスやカテゴリを小さく示すラベル。「公開中・エラー」みたいな状態がバッジ、カテゴリ分類がタグ。

よくあるバグ

  • 長い文字列でバッジが横に伸びてレイアウトが崩れる
  • 色だけでステータスを表現して色覚多様性の人に伝わらない
  • タグのバツボタンが小さすぎてスマホで消せない
  • 数字バッジが2桁になったら円形が崩れて楕円になる
保存しました プロフィールを更新しました
トースト通知Toast

操作の結果を一時的にポップアップで知らせるやつ。「保存しました」「エラーが発生しました」などが代表例。

よくあるバグ

  • 連続して発火すると複数重なって積み上がる
  • 3秒で消えて、読み終わる前にすっと消えてしまう
  • スマホのホームバー(iPhoneの下部)に被って×ボタンを押せない
  • エラートーストが自動消滅してしまいユーザーが読めない
商品タイトル ¥ 2,980 別の商品 ¥ 5,500
カードCard

関連する情報をひとまとめにしたコンテナ。商品・記事・プロフィールなど「1つのもの」を表す単位として広く使われる。

よくあるバグ

  • テキストの量が違うとカードの高さがバラバラになる
  • 画像の縦横比がバラバラで並べたときにガタガタになる
  • カード全体をリンクにしようとして a タグが入れ子になる
  • ホバーのbox-shadowアニメーションでレイアウトがずれる(transformを使うべき)
ホーム 会社概要
ハンバーガーメニューHamburger Menu

三本線のアイコンをクリックするとナビゲーションが開くやつ。スマホで画面が狭いときにメニューをたたむために使う。形がハンバーガーに見えることからその名前。

よくあるバグ

  • 開いているのに再度押しても閉じない(×アイコンへの切り替え忘れ)
  • メニューが開いた状態でスクロールが背景に伝わる
  • アニメーションなしでメニューが瞬間出現する
  • メニュー外をタップしても閉じない
  • タブレット幅でハンバーガーが出続けてメニューが余裕なのに隠れる
スケルトンローディングSkeleton

データを読み込んでいる間、実際のコンテンツの「骨格」を薄いグレーで先に表示するやつ。くるくるスピナーより「何が来るか」が分かって体感が速い。

よくあるバグ

  • データが来た後もスケルトンが消えず、実コンテンツに重なる
  • 実際のレイアウトとスケルトンの形が全然違ってガクッと変わる
  • シマーアニメーションが重すぎてかえってカクつく
  • エラー時のハンドリングがなく、スケルトンが永遠に表示され続ける
読み込み中… しばらくお待ちください
スピナーSpinner / Loader

処理中であることを示すくるくる回るやつ。「何かが起きている」ことは伝えられるが、どのくらいかかるかは分からない。

よくあるバグ

  • 処理が終わっても回り続ける(非表示切り替え忘れ)
  • ボタンの上にスピナーを表示すると、ボタンが連打できてしまう
  • CSSアニメーションが重いページで回転がカクつく
  • 背景と色が似ていてスピナーが見えない
フィルター カテゴリ 価格帯 ブランド ×
ドロワーDrawer / Side Panel

画面の端からスライドして出てくるパネル。フィルター・カート・通知一覧など、メインコンテンツを置き換えずに追加情報を見せたいときに使う。

よくあるバグ

  • ドロワー内でスクロールしようとすると背景がスクロールされる
  • スライドアニメーション中にコンテンツが一瞬チラつく
  • 背景オーバーレイをタップしても閉じない
  • ドロワーが開いているのに×ボタンが見切れてタップできない
  • スマホの仮想キーボードが出るとドロワーが押し上げられて崩れる