この記事の要点(UIXHERO視点) UIXHEROでは、図と地の関係を「主役(操作対象)と舞台(背景)の照明設計」と捉える。 本記事では、影・ぼかし・余白を駆使して、ユーザーが今見るべき「図」を背景から明確に切り離すコントラストの技法を整理する。
図と地の関係とは?
「ルビンの壺」という有名な絵があります。 白い部分に注目すると「壺」に見え、黒い部分に注目すると「向き合う2人の顔」に見えます。 このように、私たちは視野の中のどこをメイン(図:Figure)とし、どこをバック(地:Ground)とするかを切り分けますが、その境界が曖昧だと認知に混乱が生じます。 UIデザインにおいては、「何が操作できる要素で、何が背景なのか」を明確に区別させることが不可欠です。
UXデザインでの活用事例
1. ドロップシャドウと奥行き(Elevation)
マテリアルデザインなどで見られる「影」は、オブジェクトを背景から浮き上がらせ、「これは操作可能なカードである(図)」ことを直感的に伝えます。フラットデザインでも、適度な影や枠線がないとクリック可能かどうかが分かりづらくなります。
2. モーダルとオーバーレイ
重要な確認画面(モーダル)を表示する際、背景を半透明の黒(バックドロップ)で覆うのは、強制的に背景を「地」に落とし込み、モーダルを「図」として際立たせるためです。
3. ホワイトスペース
たっぷりと余白(背景)を取ることで、中央にあるコンテンツ(図)の輪郭が際立ち、注目を集めやすくなります。詰め込みすぎたレイアウトは「図と地」の分離を困難にします。
実装例: どっちが主役?
図(Figure)と地(Ground)の境界が曖昧なUIと、明確なUI。 情報の見やすさと、操作の迷いにどう影響するか比較するデモです。
Interactive Example (Live)
const FigureGroundDemo = () => { const [isClear, setIsClear] = useState(false); return ( <div className="p-8 bg-muted rounded-xl shadow-lg border max-w-md mx-auto"> <div className="flex justify-between items-center mb-6"> <label className="flex items-center space-x-2 cursor-pointer bg-card px-3 py-1 rounded shadow-sm"> <input type="checkbox" checked={isClear} onChange={(e) => setIsClear(e.target.checked)} className="accent-blue-600" /> <span className="text-sm font-bold text-foreground">明確化 (ON)</span> </label> </div> <div className="relative h-64 border-2 border-dashed border-border rounded-lg overflow-hidden flex items-center justify-center p-4"> {/* Background Content */} <div className={`absolute inset-0 p-4 text-muted-foreground text-xs leading-relaxed transition-all duration-500 ${isClear ? 'blur-sm opacity-50' : 'opacity-100'}`}> <h3 className="font-bold text-lg mb-2">Webサイトのコンテンツ</h3> <p>ここは背景となるコンテンツです。通常はここに記事本文や画像リストなどが並んでいます。ユーザーが何かの操作をした時、この上にポップアップが表示されますが、コントラストが低いと...</p> <div className="mt-4 grid grid-cols-3 gap-2"> {[1,2,3,4,5,6].map(i => <div key={i} className="h-12 bg-muted rounded"></div>)} </div> </div> {/* Modal / Alert (Figure) */} <div className={` relative w-64 p-6 rounded-xl transition-all duration-500 ${isClear ? 'bg-card shadow-2xl scale-100 border border-border/50' : 'bg-muted border border-border scale-95 opacity-90' } `} > <div className="text-center"> <div className={`text-4xl mb-2 transition-transform ${isClear ? 'scale-110' : ''}`}>🔔</div> <h4 className={`font-bold mb-2 ${isClear ? 'text-card-foreground' : 'text-muted-foreground'}`}> ご確認ください </h4> <p className="text-xs text-muted-foreground mb-4"> これが「図(Figure)」となる要素です。 {isClear ? '背景をぼかして影をつけることで、明確に分離しています。' : '背景との区別がつかないと、どこを見ていいか分かりません。'} </p> <button className={`w-full py-2 rounded font-bold text-white shadow transition-colors ${isClear ? 'bg-primary hover:bg-primary/90' : 'bg-secondary'}`}> OK </button> </div> </div> </div> </div> ); }; render(<FigureGroundDemo />);
倫理的配慮 (Ethical Considerations)
- 視認性の低下 : デザイン性を優先して背景画像の上にテキストを直接載せるなど、図と地のコントラスト比が低い配色にすると、視覚障害者や高齢者にとって全く読めない(図として認識できない)ものになります。WCAGのコントラスト基準を守るべきです。