Skeleton

データ取得中にコンテンツの形を維持したローディング表示。全画面スピナーより体感速度が速く感じられ、レイアウトシフトも防ぐ。

インストール

npx shoji add skeleton

プレビュー

使用例

使い方

こんなときに使う

  • APIからデータを取得するまでの待機表示
  • 画像・テキスト・カードなど、表示予定のコンテンツの形に合わせて配置
  • テーブルやリストの件数が不明な場合(固定件数分のスケルトンを表示)

使わないほうがいい場面

  • 0.5秒以内に完了する操作(ちらつきが生じる)
  • ローディング中のインタラクション(ボタンクリックなど)への応答表示(スピナーのほうが適切)

JP 最適化のポイント

  • bg-slate-200 を固定で使用日本語コンテンツは英語より行数が増えやすいため、一貫したスケルトン色が重要
  • aria-busy="true" + role="status" を付与スクリーンリーダーがローディング中であることを伝える