GH GambleHub

アイコンとピクトグラムのシステム

1)製品におけるアイコンの役割

アイコンは意味と状態のコンパクトなキャリアです。スキャンを高速化し、スペースを節約し、パターン認識を向上させます。プロダクトインターフェイスでは、アイコンはテキストと色を補完します。

原則:

1.意味>スタイル:各アイコンには明確なアプリケーションシナリオが必要です。

2.一貫性:単一の格子、打撃、角度、満ちるリズム。

3.可用性:アイコンは唯一の信号ではありません。署名/ツールチップ/アリアが常にあります。

4.パフォーマンス:1つのSVGパイプライン、スプライト、カラー/サイズトークン。

2)格子および主線

基本的なアートボード:16 × 16、20 × 20、24 × 24(メイン)、32 × 32。
光学バランスのために1-2 pxに刻まれたKeyline-Aの円/正方形。
ピクセルピッチ:整数座標で描画します。ストロークは0の倍数です。5 px(通常1。5 pxで24 × 24)。

光学補償:
  • 対角線「厚く」薄く見える-0を追加します。トラブルスポットでストロークする25 px。
  • 「ガラガラ」しないように、キーライン内の鋭角の上部をわずかに1 pxで沈めます。
  • 円と点は、しばしば、等しい視覚質量のために直径に+1 pxを必要とする。

クリックゾーン:インタラクティブゾーン≥ 40 × 40 px(モバイル)、≥ 32 × 32 px(デスクトップ);アイコンが中心になっています。

3)タイプセットスタイル

デフォルトのアウトライン:
  • ストローク:1。5 px (24 × 24)、1。25 px (20 × 20)、1 px (16 × 16)。
  • linecap/linejoin:親しみやすさのための「ラウンド」またはテクニカルスタイルの「マイター」(ガイドラインで固定)。
  • ジオメトリの半径角度:2-3 px (24 × 24)。

充填-密な領域とステータスアイコンのために。
Duotoneは例外的な空の状態では許可されますが、重要なUI信号では許可されません。

重量階層:
  • 概要-基本状態。
  • 充填-資産/割り当て。
  • ツートーン-装飾/ヘルプ。

4)色および対照(WCAG)

基本モードは'currentColor'経由でモノクロです。アイコンはテキスト/コンテキストの色を継承します。

クリティカルステータス(エラー/成功/警告)-セマンティックトークン:
  • 'アイコン。エラー'↔背景≥ 3:1、テキストで署名されています(色だけではありません)。
  • 'アイコン。on-surface '↔ background ≥ 3:1;小さいサイズのために4を目指して下さい。5:1.
  • カラーダイでは、'on-'色(カラーシステムからの自動コントラスト)を使用します。

5)状態と相互作用

デフォルト/ホバー/アクティブ/無効/フォーカス:違いは色だけではありません-不透明度/塗りつぶし/厚さ/背景ピルを変更し、フォーカスリングを追加します。
バッジ-ディジットコントラスト≥ 4。5:1死にます;ディジットサイズ≥ 10-11 px。
切り替えアイコン(お気に入りなど):塗りつぶしや内部点を変更します。色だけではありません。

6)アイコン+テキスト

アイコンはキーアクションのラベルを置き換えません。最小ペア:アイコン+ショートテキスト(または'aria-label'によるツールチップ)。リストとテーブルでは、アイコンはテキストとベースラインのキャップの高さに合わせられます。

7)空室状況(A11y)

装飾的なアイコンの場合:'role=」img」 aria-hidden=」true」またはストリームからアクセシビリティを削除します。
意味:'<svg role=」img」 aria-labelledby=」id「>'+'<title id=「id「>説明</title>'または'aria-label'。
アイコンはステータスの唯一のキャリアであるべきではありません:テキスト/ヒント/図像パターン(フォーム、ストローク)を追加します。

テキストサイズとシグネチャーコントラストはWCAG(通常≥ 4に対応しています。5:1).

8) SVGのパイプラインおよび性能

なぜSVG:ベクトルの明快さ、CSSによるスタイリング、最適化と軽量。

推奨事項:
  • マスターファイルをFigmaに保存し、オプションを指定してSVGにエクスポートします。'group'を追加せず、'fill-rule'を指定せず、'viewBox'属性、'width/height' (CSSでは上書き)を指定します。
  • SVGO(プロジェクトプロファイル)を実行:メタデータの削除、座標の削減、パスのマージ。
  • アイコンフォントの放棄-アクセシビリティとレンダリングの問題。
埋め込みメソッド:

1.SVGのスプライト:

html
<svg style="display:none">
<symbol id="icon-upload" viewBox="0 0 24 24">…</symbol>
</svg>
…
<svg class="i"><use href="#icon-upload"></use></svg>

安価な繰り返しです−、パイプラインによっては'stroke-width'を簡単に変更することはできません。
2.インラインSVG (Reactコンポーネント):スタイルとプロップの柔軟性、ツリーシェイク。
3.外部'<img>'-装飾/イラストのみ。

CSS制御:
css
.i { width: 1em; height: 1em; color: var(--icon-color, currentColor); }
.i--muted { opacity:.64; }
.i--danger { color: var(--role-danger); }

9)コンポーネントAPI (Reactの例)

tsx type IconProps = {
name: 'upload'      'download'      'wallet'      'trophy'      'shield'      string;
size?: number      '1em'      'sm'      'md'      'lg';
stroke?: number;       // 1      1. 25      1. 5 title?: string;        // для a11y decorative?: boolean;     // если true -> aria-hidden className?: string;
};
ビヘイビア:
  • デフォルトでは、'size=」1em」'と'stroke=1。5`.
  • 'decorative'の場合、'aria-hidden=」true」を追加します。
Contact

お問い合わせ

ご質問やサポートが必要な場合はお気軽にご連絡ください。いつでもお手伝いします!

Telegram
@Gamble_GC
統合を開始

Email は 必須。Telegram または WhatsApp は 任意

お名前 任意
Email 任意
件名 任意
メッセージ 任意
Telegram 任意
@
Telegram を入力いただいた場合、Email に加えてそちらにもご連絡します。
WhatsApp 任意
形式:+国番号と電話番号(例:+81XXXXXXXXX)。

ボタンを押すことで、データ処理に同意したものとみなされます。