Sparkle Design

Table

テーブルはデータを2軸で表示してユーザーに提示するために使用するコンポーネントです。

Table の概要図

Anatomy: 解剖図

Tableの構成要素を示す解剖図。1はコンテナ要素を表すContainerを、2はヘッダー要素を表すHeaderを、3はボディ要素を表すBodyを示します。2列のテーブルが表示され、上部にグレーの背景の「Header」というヘッダー行があり、その下に「Data」という3行のデータ行が配置されています。
ItemNameDescriptionComponentOptional
1Containerコンテナ要素
2Headerヘッダー要素
3Bodyボディ要素

Options: 選択肢

Align

Left (Default)

左揃えのテーブルセルです。

Align Leftの状態。2つのテーブルセルに「Left」というテキストが左揃えで表示されています。

Center

中央揃えのテーブルセルです。

Align Centerの状態。2つのテーブルセルに「Center」というテキストが中央揃えで表示されています。

Right

中央揃えのテーブルセルです。

Align Rightの状態。2つのテーブルセルに「Right」というテキストが右揃えで表示されています。

Size

Xs

最も小さなサイズのテーブルセルです。文字列のみなどのコンテンツを扱う際に使用します。

Size Xsの状態。左側にチェックボックス、中央に「SLOT」という紫色の枠線で囲まれたラベル、右側に「xs」というテキストが表示されています。

Sm (Default)

デフォルトのテーブルセルのサイズです。smが最も使用されるサイズです。他のサイズのテーブルセルはsmを基準に重要度に応じて使用します。

Size Smの状態。左側にチェックボックス、中央に「SLOT」という紫色の枠線で囲まれたラベル、右側に「sm」というテキストが表示されています。

Md

smの次に大きなサイズのテーブルセルです。Slotなどで大きな要素を配置する際に使用します。

Size Mdの状態。左側にチェックボックス、中央に「SLOT」という紫色の枠線で囲まれたラベル、右側に「md」というテキストが表示されています。

Type

Text (Default)

テキスト要素を配置するためのデフォルトのオプションです。

Type Textの状態。幅が異なる3つのテーブルセルに「Text」というテキストが表示されています。

Checkbox

チェックボックスを挿入するためのオプションです。
チェックボックスは列の先頭に配置します。

Type Checkboxの状態。幅が異なる3つのテーブルセルにチェックボックスが表示されています。

Slot

任意のコンポーネントを挿入するためのオプションです。

Type Slotの状態。幅が異なる3つのテーブルセルに「SLOT」という紫色の枠線で囲まれたラベルが表示されています。

States: 状態

Enable状態。白い背景のテーブルセルに「Enable」というテキストが表示されています。

Enable

ユーザーがテーブルセルを操作する前のデフォルトの状態。

Hover状態。薄い青い背景のテーブルセルに「Hover」というテキストが表示されています。

Hover

ユーザーがテーブルセルにマウスオーバーしている状態。

Focus状態。青い背景のテーブルセルに「Focus」というテキストが表示されています。

Focus

ユーザーがテーブルセルを操作している状態。

Disabled状態。薄いグレーの背景のテーブルセルに薄いグレーの「Disabled」というテキストが表示されています。

Disabled

システムによってテーブルセルが非活性化されている状態。ユーザーによる操作は不能です

Behaviors: 振る舞い

テーブルのスクロール

テーブル要素のサイズに対してテーブルデータが超過する場合において、ヘッダーは固定され、テーブルデータ要素はスクロール可能な状態へと変化します。

テーブルのスクロールを示す図。「国」「面積(km²)」というヘッダー行が固定され、その下に「日本」「アメリカ」「中国」「ドイツ」というデータ行がスクロール可能な状態で表示されています。右側にスクロールバーが表示されています。

Metrics: 寸法

Xs

  • Vertical Resizing: Hug
  • Horizontal Resizing: Hug
  • Container Height: 40px
  • padding Vertical: 16px
  • padding Horizontal: 8px
xsサイズの寸法仕様を示す図。

Sm

  • Vertical Resizing: Hug
  • Horizontal Resizing: Hug
  • Container Height: 56px
  • padding Vertical: 16px
  • padding Horizontal: 8px
smの寸法仕様を示す図。

Md

  • Vertical Resizing: Hug
  • Horizontal Resizing: Hug
  • Container Height: 80px
  • padding Vertical: 16px
  • padding Horizontal: 12px
mdの寸法仕様を示す図。

Usage: 使い方

不適切な使用例。左側のテーブルは通常の背景色で、右側のテーブルは「国」「面積(km²)」「公用語」というヘッダー行の下に、行ごとに白とグレーの背景色が交互に配置されています。
Don’t

テーブルには既に行を区切るための線があります。行の視認性を向上させる目的で背景色を交互に入れ替えないでください。

不適切な使用例。テーブルの列を区分する線を付与されています。
Don’t

テーブルには既にセル同士の区分を明らかにするための余白があります。カラムをグルーピングする以外の目的で列を区分する線を付与しないでください。

不適切な使用例。4列構成のテーブルで、最上部に属性を定義し、地域(州)を独立した親行として配置。その直下に属する国データを並べ、国行の州列を空白にすることで親子関係を視覚化した、グルーピング構造になっています。
Don’t

階層構造があるデータを表現するためにテーブルを使用しないでください。別の表現を検討してください。

Contents: 内容

適切な使用例。「国」「面積(km²)」というヘッダー行の下に、数値が等幅フォントで表示され、桁が揃っています。
Do

定数 (日にちなど) ではない、比較をする必要がある数値には等幅フォント (monospace) を使用します。

不適切な使用例。「国」「面積(km²)」というヘッダー行の下に、数値が可変幅フォントで表示されています。
Don’t

数値同士を比較する必要がある場合は可変幅フォント (proportional) を使用しないでください。数字ごとに幅が変わるため、可視性が低下します。

適切な使用例。「面積(km²)」というヘッダー行の下に、数値が右揃えで表示され、桁が揃っています。
Do

比較の必要がある数値は右揃えにします。算術的に比較や結合ができない値 (郵便番号, 電話番号など)は数値であっても右揃え対象外です。

適切な使用例。「半径(km)」というヘッダー行の下に、数値が左揃えで表示されています。
Don’t

比較の必要がある数値は左揃えや中央揃えにしないでください。

適切な使用例。「首都」というヘッダー行の下に、テキストが左揃えで表示されています。
Do

テキストデータは行頭を揃えるために左揃えにします。

適切な使用例。「首都」というヘッダー行の下に、テキストが中央揃えで表示され、行頭が揃っていません。
Don’t

テキストデータは中央揃えや右揃えに整列させないでください。行頭が揃わないため、視認性が低下します。

適切な使用例。「国 / 公用語」というヘッダー行の下に、それぞれ「日本 / なし」、「アメリカ / なし」、「中国 / 標準中国語」、「ドイツ / ドイツ語」と表示されています。
Do

セルに値が存在しない場合は存在しない理由を記述します。

適切な使用例。「国 / 公用語」というヘッダー行の下に、「日本 / ---」、「アメリカ / ---」と表示されています。
Don’t

セルに値が存在しない場合に空白やハイフンなどでデータが空であることを表現しないでください。ハイフンや空白は適切に読み上げが行われないため、使用を避けます。

注意が必要な使用例。「国」というヘッダー行の下に、「Japan 日本 アジア」という2つのラベルが1つのセルに配置され、「USA アメリカ 北アメリカ」という3つのラベルが1つのセルに配置されています。
Caution

1つのセルの中に複数のデータを挿入しないでください。挿入可能なデータは1つのセルに対して1つまでです。
例外的に複数のデータを挿入する場合はヘッダーのラベルに即した要素に限定して配置します。

Change log: 変更履歴

DateChanges
2024/12/06ドキュメントを公開
2023/10/14Figmaを公開
小さな気づきや違和感があればお気軽に教えてください。
フィードバック
Chat illustration
Table | Sparkle Design