Ultimate guide to table UI patterns
テーブルの「(エクセルでいうところの)行と列」の表記は、「横列と縦列」に統一しています。
- はじめに
- 1. 列を交互にスタイリング
- 2. 列をフルに
- 3. テーブルのセクション
- 4. ソート
- 5. フィルタリング
- 6. ページネーション
- 7. スクロール
- 8. 固定されたヘッダ
- 9. ヘッダのないテーブル
- 10. 拡張可能な列
- 11. 列のアクション
- 12. マルチプルな列のアクション
はじめに
テーブルは構造化されたデータをみせるものです。そして、その目的はデータを読みやすくし、走査しやすく、簡単に比較ができるようにすることです。
テーブルがよくない評判をうけるのはデータが不明慮で、とても退屈なものが多いからです。
ここではテーブルを必要とする人のために、それほど悪くないテーブルを作成するために、助けることができるいくつかのパターンを紹介します。
1. 横列を交互にスタイリング

テーブルの横列を交互にスタイリングすることで、混雑したデータが区別しやくなります。背景のスタイルはカラーか画像を使用します。
背景にカラーを使用する場合はページの背景と比べて、より明るくするか暗くするかのどちらかになります。画像を使用する場合は使用しているカラースキームと一致するグラデーションがよいでしょう。
テーブルのヘッダとフッタも一目で分かるようにカラーを変更するようにします。カラーは横列で使用したものより、さらに明るいかさらに暗いかのどちらかです。
2. 横列をフルに

横列にアクションを設置する場合、その横列全部をクリック可能なようにします。これはすわなち、クリック可能エリアを拡大するということです。例えば、横列でできる唯一のアクションが詳細表示のみである場合、これは非常に有用です。
横列全体をクリック可能にするには、jQueryのプラグイン「RowSelect」などを使用すると便利です。
3. テーブルのセクション

関連した横列をまとめる必要があるとき、セクションやグルーピングを使うことを検討してみてください。セクションとは関連したデータをまとめるテーブルの一部です。すべての項目を縦列と同じようにまとめます。
例えば、国のリストを示すテーブルで、地域は横列でグルーピングを行うほうが自然です。そしてそれぞれのセクションは折りたたみ可能にしてもよいでしょう。
4. ソート

データの量が非常に多かったり、なじみのない言葉が多い場合、ソート機能は有効です。また、隣接したデータを比較するのにも利用できます。
テーブルにソート機能をつける場合は、一般的にはヘッダををクリック可能なようにすることです。そして縦列でソートがされるべきです。もしソートが不可能なコラムがあるときは、ソート可能なコラムと明確に相違がある必要があります。
テーブルにソート機能をつけるにはjQueryのプラグイン「TableSorter」が非常に簡単です。多くのデータタイプに対応しており、マルチ縦列のソートもサポートしています。
5. フィルタリング

データ量が多い場合は、フィルタリングも非常に有用です。これはドロップダウンやラジオボタン・チェックボックスを使用してフィルターします。
フィルタリングの大きな特徴は、あらかじめフィルタするキーワードを決めることです。
6. ページネーション

データ量が多い場合、ページネーションで分けることも良い習慣です。ページネーションは認知度も高いです。
しかしながら、ページの数と前へと次へのリンクだけで、あなたはどこに何があるか言うことができますか? こういったページネーションの問題を解決できる方法があります。

ここではページを定義するために、数字とアルファベットを使用しています。
また、ページネーション自体の量が多い場合は、補足などのインフォメーションを表示するのも効果的です。
7. スクロール

ページネーションとは対照的に、ページを連続的にスクロールすることでデータを見せるテクニックがあります。スクロールさせる際は、ロード時にはプログレスインジケーターなどを設置します。
このパターンには特定のユーザビリティとアクセシビリティの問題があります。これを使用する場合は事前にユーザーテストを行ってください。

上記のような問題をもっていない変種のパターンもあります。.リストの一番下にあるボタンをクリックすることで、次のデータセットを表示します。
8. 固定されたヘッダ

これは簡単に利用できるすてきなシンプルなテクニックです。
かなり大きく複雑なデータでも、ヘッダが常に固定表示されていると、多くの縦列を識別するのに役立ちます。
FixedHeaderTableは簡単に固定されたヘッダを実現するプラグインです。
9. ヘッダのないテーブル

もし、テーブルのデータが自明であるなら、ヘッダを設置する必要はありません。Eメールのテーブルが良い例でしょう。
Eメールでは件名と送り主と日付はヘッダの必要がない自明で特有なデータです。
しかしながら、ヘッダを削除することが可能ではないケースがあります。例えば、日付が二つあるようなあいまいなデータがある場合です。この場合はヘッダが必要になるでしょう。
10. 拡張可能な列

このパターンのキーポイントはテーブルに追加のインフォメーションや機能性を加えることを可能にします。目に見える重要なインフォメーションに加え、更に詳細などを表示するために使用します。
11. 列のアクション
テーブルは通常スタティックに果てしないデータを表示するものですが、特定の行動を行うことができるインタラクションのエレメントでもありえます。アクションは一つの横列や複数の横列で実行することができます。
インラインのアクション

最も単純なアクションは、横列のデータと一致して、先頭もしくは終わりにアクションを設置することです。
上記の例では、投票ボタンを終わりに設置しています。
ホバーのアクション

これは多くのアクションをもっているとき、利用できるパターンの変化です。ホバーで表示・非表示することで、編集や削除をすることができます。
メニューのアクション

横列の上でホバーやクリックで多くのアクションをおこさせる必要がある場合は、このパターンです。
この例ではそれぞれのファイルでできる多くのアクションがあるため、コンテクストメニューのようにアクションを表示します。
12. マルチプルな列のアクション

複数のファイルを選択し、メニューからはアクションを選択してひつとだけ実行できるようになっています。
こういった良いアプローチの場合、ユーザーは多数の横列の上でアクションを行うことができるはずです。
0 件のコメント:
コメントを投稿