コンポーネント
← すべてのコンポーネント

単一リストの並べ替え

stimeo--sortable

キーボードとスクリーンリーダーで本当に操作できる、単一リストの並べ替え。

  • Core

stimeo--sortable はアクセシブルなドラッグ&ドロップ並べ替えで、pointer-drag プリミティブの旗艦的な消費者です。合成はマークアップレベルで行います。各アイテムの pointer-drag が(キーボード代替込みの)正規化ドラッグ信号を発火し、リストの roving がハンドル群を単一 Tab 停止に保ち、sortable がその信号を解釈します。ポインタでは兄弟要素の中点を跨ぐたびにアイテムがライブで移動します。キーボードでは Space でグラブ、矢印 1 押下で 1 ポジション移動、Space でドロップ、Esc で拾い上げ位置へ復元 — 各ステップは status ライブリージョンでアナウンスされ(「Card A を掴みました、 5 件中 2 件目」)、data-* テンプレートでローカライズできます。位置が変わったドロップでは { item, from, to }(0 始まり)と共に reorder が発火します — 実アプリはこれを購読して順序を永続化します(Turbo Streams で broadcast すれば協調ボードに)。実際の DOM ノードが動くため、見た目の順序と読み上げ順序が乖離しません。マルチリストボード・ネストツリー・端の自動スクロール・仮想化は、この無料の単一リスト版のスコープ外です。

実行中

ハンドルをドラッグするか、キーボードで操作します。Tab でハンドルへ(ハンドル間は矢印キーで移動)、Space でグラブ、↑/↓ でアイテムを 1 つずつ移動、もう一度 Space でドロップ、Esc でキャンセルします。

  • リリースノートを書く
  • ログインのリダイレクトを直す
  • デザイン案をレビューする
  • 依存パッケージを更新する

キーボード操作

キー動作
Space / Enter フォーカス中ハンドルのアイテムをグラブ、またはドロップ(位置が変わっていれば reorder を発火)。
↑ / ↓ グラブ中、アイテムを 1 ポジション移動(縦向き。端でクランプ)。
Esc キャンセル — アイテムは拾い上げた位置に戻る。