skillup

技術ブログ

UI

ページレイアウトに関して

投稿日:

今回からは単一のページレイアウトの構成の考え方やテクニックについて。

一般的な傾向として、人間の視覚上の特徴というのは下記のような傾向があげられます。

  • 人の視線は上から下、左から右へというのがディフォトの流れ
  • 視線は強い注目点に引き付けられ、次第に弱い注目点へと順次移行する
  • ユーザーが知覚するページのコンテンツの意味は、ユーザーがどこに注目するかを変化させる

レイアウトのポイント

グループ化

ある要素とある要素が近接しているとそれらは関連を表すことになる。

近接の要因

複数のものを近づけて配置すると、見るものはそれらを仲間として関連づける。

類似の要因

2つのものの形状や大きさ、色、向きが同じ場合、同種のものと関連づける

連続の要因

人間の目は小さな要素が連続していると連続的な直線や曲線を見出そうとする

閉合の要因

人間の目は輪郭のあいまいな余白や長方形などはっきり意図して書かれていない閉じた図形を見出そうとする

レイアウトのための考え方

視覚的なフレームワーク

ページを構成する基本的な色、フォント、文体、構成などをあらかじめ考えておく。

プログラムのフレームワーク同様、全体的なデザインの枠組みを考える。

中央ステージ

UIの最も重要な部分を、ページやウィンドウ内で一番大きなセクションとして配置する。その周囲に副次的なツールやコンテンツをまとめる。

タイトル付きセクション

主にリスト系の情報を陳列する際に、ここのセクションのタイトルを明示し、グルーピングする。

コンテンツを把握しやすい単位に分け、構造化する。

カードのスタック

ページ内に配置する情報が大きい場合一度に複数の情報を配置するとユーザーが混乱する。その場合、コンテンツの各セクションを別々のパネルまたはカードに配置し、一度に一枚だけ見えるように積み重ねる。タブやその他の仕掛けを用いる。

開閉可能パネル

コンテンツの各セクションを別々のパネルに配置し、ユーザーがそれぞれ個別に開閉できるようにする。

移動可能パネル

異なるツールやコンテンツセクションを別々のパネルに配置し、ユーザーがそれらを自由に移動してレイアウトを組めるようにする。

右そろえと左そろえ

2カラムのフォームやテーブルの場合、左側のラベルは右そろえ、右側の項目は左揃えにする。

対角線上のバランス

人間の自然は左上から右下に流れるため、処理の流れもこれにならう。決定系のコマンドは右下に置くことが望ましい。※ただしスクロールがない場合。

プロパティシート

2カラムまたはフォーム形式のレイアウトを用いて、このページでプロパティを編集できるようにする。

反応的な追加表示

ごく、最小限のUIから初めて、ユーザーが各ステップを完了するごとに追加のUIを表示しながら、一連のステップを実行できるようにする。ユーザーが初心者の場合に適している。

反応的なイネーブル化

大部分が使用不可になっているUIから初め、各ステップを完了するごとに使用できるようになっていく。

リキッドレイアウト

ユーザーがウィンドウをリサイズしたら、それに合わせてページのあ内容もリサイズする。

全体的なポイントとしては下記のようなことでしょうか。

  • 情報をグルーピングする
  • メインの情報とサブの情報のコントラストを付ける
  • 枝葉末節の情報は段階的、非表示出来るようにする

 

-UI

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

cakePHPのSSL設定+jQueryのError Loading Page

cakeで作ったアプリの認証画面でhttps環境だとError Loading Pageというエラーメッセージがでてしまい、ログインできないという事象が発生。 最初はSSLが原因かとおもっていたんです …

no image

timepickerについて

日付を入力するときに直接、文字入力するのがメンドイことからカレンダーが表示されるプラグインを使っている人は多いでしょう。 私も日頃Datepickerというライブラリを使っています。が、このプラグイン …

no image

JSリンク集+git ブランチ指定 clone

現状の私の課題としてUIに対する意識が甘いということが上げられます。 大昔のサイトで使っているようなわかりにくいUIをそのまま使っているんですよね。 UIといってもいろいろな要素が必要となってきますが …

no image

フォームとコントロール

今回はフォームについて Contents1 基本原則となる考え方1.1 寛容な入力形式1.2 構造化された入力形式1.3 穴埋め1.4 入力ヒント1.5 入力プロンプト1.6 オートコンプリート1.7 …

no image

Angularモジュール間の読み込み

Angularで以前こちらで、複数のコントロールに分ける方法を書きましたが、コントローラーだけでなく、Factory,ServiceなどいろいろなタイプのサービスがAngularにはあります。 プログ …