Avatar (アバター) コンポーネント
Ignite UI for Angular Avatar は、画像、イニシャル、またはカスタム コンテンツを使用してユーザー、エンティティ、またはオブジェクトを表します。
アバターを使用して、リスト、カード、プロフィール メニュー、アクティビティ フィードでコンパクトな視覚的アイデンティティを提供します。
ライブ デモ
構造
アバターは、画像のセマンティクスを適用し、サポートされているコンテンツ パターンのいずれかをレンダリングする単一のホスト要素です。
2. アイコン コンテナー: アイコン コンテンツ タイプを表示します。
3. イニシャル コンテナー: テキスト コンテンツ タイプを表示します。
igx-avatar[role="img"] // ホスト - アバターを公開
└─ 優先順位順に以下のいずれか:
├─ div.igx-avatar__image // `src` が設定されている場合 - 背景として画像をレンダリング
├─ igx-icon // `icon` が設定されている場合
├─ span // `initials` が設定されている場合 - 最初の 2 文字
└─ ng-content // カスタム プロジェクション コンテンツ
作業の開始
<igx-avatar> をレンダリングする前に Angular アバター コンポーネントをインポートします。Ignite UI for Angular をまだセットアップしていない場合は、最初に共有 作業の開始 トピックを完了してください。
import { IgxAvatarComponent } from 'igniteui-angular/avatar';
使用方法
デフォルト スロットに画像ソース、イニシャル、またはカスタム コンテンツを使用してアバターをレンダリングします。
バリアント
表示するコンテンツ ソースのみを設定します。Angular アバターは、最初に src をレンダリングし、次に icon、次に initials をレンダリングし、これらのいずれの入力も設定されていない場合はプロジェクションされたカスタム コンテンツにフォールバックします。
<igx-avatar initials="AZ"></igx-avatar>
<igx-avatar src="https://static.infragistics.com/xplatform/images/people/men/1.jpg"></igx-avatar>
<igx-avatar icon="home"></igx-avatar>
形状
Shape を square、rounded、または circle に設定します。
<igx-avatar initials="AZ" shape="circle"></igx-avatar>
サイズ
プリセット アバター サイズが必要な場合は、--ig-size を共有サイズ トークンのいずれかに設定します。
<igx-avatar initials="AZ" size="large"></igx-avatar>
使用すべき場合と使用すべきでない場合
使用すべき場合: プロフィール画像、イニシャル、アイコンなど、UI が人物、組織、オブジェクト、またはアカウントの小さな表現を必要とする場合にアバターを使用します。繰り返し表示されるアイデンティティを簡単に識別できるように、同じ UI 領域内で一貫したアバター戦略を維持します。
使用すべきでない場合: エンティティを表す代わりにカウント、ステータス、または通知インジケーターを表示する必要がある場合は、Badge コンポーネントを使用します。アイデンティティとステータスの両方を一緒に表示する必要がある場合、バッジはアバターを装飾することもできます。
| 使用すべき | 使用すべきでない |
|---|---|
| | |
プロパティ
アバターは、コンテンツと形状のための小さな入力セットを公開します。
| 名前 | 型 | デフォルト | 説明 |
|---|---|---|---|
icon |
string |
n/a | アバターがレンダリングするアイコンを設定します。 |
initials |
string |
n/a | アバターがレンダリングするテキスト イニシャルを設定します。 |
shape |
"square" | "rounded" | "circle" |
"square" |
アバターの形状を設定します。 |
size |
"small" | "medium" | "large" |
"small" |
アバターのサイズを設定します。 |
src |
string |
n/a | 画像ソース URL を設定します。 |
スタイル設定
アバターの外観はテーマ変数とプラットフォーム固有のスタイル設定フックを通じて制御されます。
トークン レベルの変更にはアバター CSS 変数を使用し、特定のレンダリング タイプや形状をターゲットにする必要がある場合は Angular ホスト クラスを使用します。
| 変数 | 変更内容 |
|---|---|
--ig-avatar-background |
アバターの背景色。 |
--ig-avatar-color |
テキストとイニシャルの色。 |
--ig-avatar-icon-color |
アイコンの色。 |
--ig-avatar-border-radius |
丸みのあるアバターで使用される境界線の半径。 |
--ig-avatar-size |
アバターの幅と高さ。 |
--ig-size |
プリセット アバター サイズを導出するために使用する共有コンポーネント サイズ トークン。 |
| セレクター | 説明 |
|---|---|
igx-avatar |
アバターのホスト要素。 |
.igx-avatar--rounded |
shape が rounded の場合に適用されます。 |
.igx-avatar--circle |
shape が circle の場合に適用されます。 |
.igx-avatar--image |
アバターが画像をレンダリングするときに適用されます。 |
.igx-avatar--icon |
アバターがアイコンをレンダリングするときに適用されます。 |
.igx-avatar--initials |
アバターがイニシャルをレンダリングするときに適用されます。 |
.igx-avatar__image |
画像アバター要素。 |
Sass テーマ
アプリケーションが Sass を通じて Ignite UI テーマをカスタマイズする場合は、avatar-theme 関数を使用します。
@use "igniteui-theming/sass/themes" as *;
$custom-avatar-theme: avatar-theme(
$background: #72da67,
$border-radius: 16px,
$size: 3rem
);
:root {
@include tokens($custom-avatar-theme);
}
CSS 変数
Sass ビルド ステップなしでローカルでのスタイル設定が必要な場合は、コンポーネント CSS 変数を直接設定します。
igx-avatar {
--ig-avatar-background: var(--ig-success-500);
--ig-avatar-color: var(--ig-success-500-contrast);
--ig-avatar-border-radius: 20px;
}
Tailwind によるスタイル設定
アプリケーションが Tailwind クラスを通じて Ignite UI コンポーネントのスタイルを設定する場合は、Angular Tailwind ユーティリティ構文を使用します。
アクセシビリティ
アバターは、アクセシブルな画像セマンティクスを持つ非インタラクティブなアイデンティティ表示要素です。
キーボード インタラクション
アバターはフォーカスを受け取らず、キーボード インタラクションはありません。
| キー | アクション |
|---|---|
| n/a | アバターはキーボードによるインタラクティブ操作に対応していません。 |
スクリーン リーダー / ARIA
アバターは画像のセマンティクスと avatar のデフォルトのアクセシブル ラベルで初期化されます。
- 画像アバターがアイデンティティを伝える場合、周囲のテキストを使用して表現される人物、エンティティ、またはオブジェクトを識別します。
- 隣接するテキストがすでに同じエンティティを識別している場合、装飾的なアバターを冗長として扱います。
アクセシビリティ準拠
Infragistics は、アクセシビリティ準拠 トピックで、Section 508 および WCAG 2.1 ガイドライン領域における Ignite UI for Angular のアクセシビリティ サポートを文書化しています。
| 基準 | コンポーネントの準拠方法 |
|---|---|
| 1.1.1 非テキスト コンテンツ | アバターにはアクセシブル ラベルがあり、表現されるエンティティを識別する周囲のテキストと組み合わせることができます。 |
| 4.1.2 名前、役割、値 | コンポーネントは role="img" とデフォルトのアクセシブル ラベルで初期化されます。 |
ユーザー側の責任:
-
スタイルをオーバーライドするときに、アバターの背景とテキストまたはアイコンの色のコントラストを十分に保ちます。
-
隣接するテキストがすでに人物またはエンティティの名前を示している場合、同じアイデンティティのアナウンスを重複させないようにします。
-
アバター画像がアイデンティティを伝える場合、近くのテキストが表現されるエンティティを識別していることを確認します。
トラブルシューティング
Avatar をインタラクティブまたはステータス コンポーネントとして扱う前に、このセクションを使用して境界と一般的な決定を確認してください。
既知の制限
アバターは視覚的なアイデンティティのプリミティブであり、それ自体ではインタラクション、ステータス、または通知動作を追加しません。
- 表現されるエンティティがクリック可能でなければならない場合は、ボタンやリスト アイテムなどのインタラクティブなコンテナーを使用します。
- ステータス、カウント、または通知インジケーターを表示する必要がある場合は、アバターにバッジを使用します。
API リファレンス
完全なアバター API サーフェスについては、これらの API リファレンスを使用してください。
Avatar
依存関係
Sass スタイル設定ワークフローは、IgxAvatar テーマ および IgxIcon テーマ API を使用します。
その他のリソース
サポートおよび関連する Ignite UI ドキュメントについては、これらのリソースを使用してください。
関連コンポーネント
アイデンティティをステータス、アクション、またはより豊富なレイアウトと組み合わせる必要がある場合は、これらの関連コンポーネントを使用してください。
- Badge - カウント、ステータス、または通知インジケーターを表示するには Badge を使用します。UI にアイデンティティとステータスの両方が必要な場合、Badge は Avatar を装飾できます。
FAQ
UI が人物、アカウント、組織、またはオブジェクトを表す必要がある場合に Avatar を使用します。UI がカウント、ステータス、または通知インジケーターを表示する必要がある場合は Badge を使用します。
いいえ。Avatar は非インタラクティブであり、それ自体ではフォーカスを受け取りません。表現されるエンティティがアクションを必要とする場合は、インタラクティブなコンポーネント内に配置してください。
アバター画像が特定のエンティティを識別する場合は、意味のある代替テキストを提供します。隣接するテキストがすでにそのエンティティの名前を示している場合、同じアイデンティティのアナウンスを繰り返さないようにします。