GH GambleHub

Nyşanlar we piktogrammalar ulgamy

1) Önümdäki nyşanlaryň roly

Nyşanlar many we ýagdaýyň ykjam göterijisidir. Skanerleri çaltlaşdyrýarlar, ýer tygşytlamaga kömek edýärler we patternleriň tanalmagyny ýokarlandyrýarlar. Önüm interfeýslerinde nyşan teksti we reňki doldurýar, olary çalyşmaýar.

Ýörelgeler:

1. Manysy> stili: her nyşanyň anyk ulanyş ssenariýasy bolmaly.

2. Yzygiderlilik: ýekeje tor, ştrih, burçlar, dolduryş ritmi.

3. Elýeterlilik: nyşan ýeke-täk signal däl; elmydama/tooltip/aria bar.

4. Öndürijilik: bir SVG-paýlanyş, spraýtlar we reňk/ululyk bellikleri.

2) Tor we esasy çyzyklar

Esasy artbordlar: 16 × 16, 20 × 20, 24 × 24 (esasy), 32 × 32.
Esasy çyzyk (keyline): optiki balans üçin 1-2 px girişi bilen ýazylan tegelek/inedördül.
Piksel ädimi: tutuş koordinatlara çyzýarys; stroke kraten 0. 5 px (adatça 1. 5 px 24 × 24).

Optiki kompensasiýa:
  • "Galyň" diagonallary has inçe görünýär - 0 goşuň. 25 px problemaly ýerlerde stroke.
  • Ýiti burçlaryň depelerini "ýyldyrym çakmazlygy" üçin 1 px-de keyline azajyk gyzdyrýarys.
  • Tegelekler we nokatlar köplenç deň wizual massa üçin diametri + 1 px talap edýär.

Basmagyň zolaklary: interaktiw zona ≥ 40 × 40 px (ykjam), ≥ 32 × 32 px (desktop); nyşan merkezleşdirildi.

3) Toplumyň stili

Çyzykly (outline):
  • stroke: 1. 5 px (24×24), 1. 25 px (20×20), 1 px (16×16).
  • linecap/linejoin: 'round' dostluk üçin ýa-da 'miter' tehniki stil üçin (gidline ýazýarys).
  • Geometriýadaky radius burçlary: 2-3 px (24 × 24).

Doldurma (filled) - dykyz ýerler we status nyşanlary üçin.
Dvoton (duotone) - suratly boş ýagdaýlar üçin rugsat berilýär, ýöne möhüm UI signallary üçin däl.

Agram iýerarhiýasy:
  • Outline - esasy ýagdaý.
  • Filled - aktiw/saýlama.
  • Two-tone - bezeg/kömek.

4) Reňk we kontrast (WCAG)

Esasy re modeim - 'currentColor' arkaly monohrom: nyşan tekstiň/kontekstiň reňkini miras alýar.

Kritiki statuslar (ýalňyşlyk/üstünlik/duýduryş) - semantik bellikler:
  • `icon. error ', fon ≥ 3:1, gol bilen (diňe reňk däl).
  • `icon. on-surface ', fon ≥ 3:1; ownuk ölçegler üçin nyşana almak 4. 5:1.
  • Reňkli ploshkalarda 'on-' reňkleri ulanyň (reňk ulgamyndan kontrasty awto-saýlamak).

5) Ýagdaýlar we özara gatnaşyklar

Default/Hover/Active/Disabled/Focus: tapawut diňe bir reňkde däl - aç-açanlygy/guýulmagy/galyňlygy/fon-dermany üýtgedýäris, focus ring goşýarys.
Badges: sanlaryň kontrasty ≥ 4. 5:1 çeňňege; san ululygy ≥ 10-11 px.
Toggle-nyşanlar (saýlanan, halaýan): diňe bir reňk däl, guýulýan we/ýa-da içki nokady üýtgedýäris.

6) Nyşan + tekst

Nyşanlar esasy hereketlerde bellikleriň ornuny tutmaýar. Iň az jübüt: nyşan + gysga tekst (ýa-da tooltip 'aria-label'). Sanawlarda we tablisalarda nyşan tekstiň we esasy çyzygyň beýikligi boýunça tekizlenýär.

7) Elýeterlilik (A11y)

Bezeg nyşanlary üçin: 'role = "img" aria-hidden = "true' ýa-da elýeterlilik akymyndan aýyryň.
Semantik üçin:' <svg role =" img" aria-labelledby =" id">' +' <title id = "id "> Düşündiriş </title>' ýa-da 'aria-label '.
Nyşan statusyň ýeke-täk göterijisi bolmaly däldir: teksti/maslahaty/ikonografiki patterni (görnüşi, ştrih) goşuň.
Tekstiň ululygy we goluň garşylygy WCAG-a laýyk gelýär (adaty ≥ 4. 5:1).

8) SVG-paýlanyş we öndürijilik

Näme üçin SVG: wektor aýdyňlygy, CSS arkaly stilizasiýa, optimizasiýa bilen ownuk agram.

Teklipler:
  • "Figma" -da esasy faýllary saklamak, SVG-e eksport etmek: artykmaç 'group' -siz, 'fill-rule' -siz, 'viewBox' atributy bilen we 'width/height' -siz (CSS-de täzeden kesgitleýäris).
  • SVGO (taslama profili) arkaly geçmek: meta maglumatlary aýyrmak, koordinatlary azaltmak, ýollary birleşdirmek.
  • Nyşan şriftlerinden ýüz öwürmek (icon fonts) - elýeterlilik we render meselesi.
Gurmagyň usullary:

1. SVG-sprite:

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>

Käbir − 'stroke-width' -ni aňsatlyk bilen üýtgedip bolmaýan arzan gaýtalamalar.
2. Inline-SVG (React komponenti): stilleriň we propslaryň çeýeligi, tree-shaking.
3. External '<img>' - diňe bezeg/illýustrasiýa üçin.

CSS gözegçiligi:
css
.i { width: 1em; height: 1em; color: var(--icon-color, currentColor); }
.i--muted { opacity:.64; }
.i--danger { color: var(--role-danger); }

9) Komponentiň API (React mysaly)

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;
};
Hereket:
  • 'Size = "1em' we 'stroke = 1. 5`.
  • Eger 'decorative' bolsa, 'aria-hidden =' true '-ni goşýarys.
Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Telegram
@Gamble_GC
Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.