本文へスキップ

タッチリップル付きリスト

Android 型のリスト。押した位置から波紋が広がって「どこを押したか」を返す。スクロール中は指が動いた量で判定してリップルを出さず、タップだけに反応する。

プレビュー

クリック

操作クリック/タップで動きます。

仕様書

向く場面
  • Android 風の連絡先・設定リスト
  • 押した位置を返したい長い一覧
  • スクロール中は反応させたくないリスト
避ける場面
  • 中央から広がる波紋(押した点が分からない)
  • 強い色の波紋
  • 角丸からはみ出す描画
構成要素
  • スクロールする一覧
  • 行(アバター+名前+所属)
  • 波紋
  • 選択チェック
  • 件数表示
  • 状態の案内文
持っている状態
  • 通常
  • フォーカス
  • 押下中
キーボード

Tab で一覧領域と各行へ、Enter/Space で選択の切替。波紋はタッチ/クリックのときだけ出る

支援技術

行は button+aria-pressed で選択を伝え、チェック記号と背景色で二重に示す。結果は role=status で読み上げ。reduced-motion では波紋の代わりに :active の背景色

動き

指を置いて 80ms 待ってから波紋 420ms ease-out、離すと 200ms で消える。8px 動いたら出さない

デザインの要点

  • 波紋は押した点から始める。中央から出す波紋は「押した」ではなく「何か起きた」に見えてしまう
  • 指を置いてから 80ms 待ち、その間に 8px 以上動いたら出さない。スクロールのたびに光るリストは目障り
  • 波紋の色は文字色を 12〜16% の透明度で。強い色にすると背景ごと塗り替えたように見える
  • リップルは overflow:hidden の行の中で描く。行の角丸からはみ出すと安っぽくなる

プロのサイトでの実例

実例は「型の使われ方」の観察であり、コード・ロゴの転載ではありません。サイト側の更新で見え方が変わることがあります。

コード(コピーして使えます)

<div class="trl-phone">
  <header class="trl-head"><h2 class="trl-title">連絡先</h2><span class="trl-meta" id="trl-meta">12 人</span></header>
  <div class="trl-scroll" id="trl-scroll" tabindex="0" aria-label="連絡先一覧(スクロール)">
    <ul class="trl-list" id="trl-list"></ul>
  </div>
  <p class="trl-status" id="trl-status" role="status" aria-live="polite">タップすると選択、スクロール中は波紋が出ません</p>
</div>

タグ

同じカテゴリ「モバイル・タッチ操作」のほかのパーツ

関連パーツ