Перейти к содержимому

Unified Design System Master

Версия: 2.0 | Дата: 2025-02 Платформы: iOS, Android, Web Назначение: Единый референс для AI-оценки дизайн-макетов всех платформ


РазделСодержание
1. Quick ReferenceУниверсальные минимумы
2. Platform ComparisonСравнительные таблицы
3. Units & MeasurementsЕдиницы измерения
4. AccessibilityДоступность (WCAG)
5. TypographyТипографика
6. Color SystemЦветовая система
7. Layout & GridСетка и макет
8. ComponentsКомпоненты
9. NavigationНавигация
10. MotionАнимация
11. Scoring SystemСистема оценки
12. AI EvaluationПромпты для AI

ДокументПлатформаРазмер
ios-human-interface-guidelines.mdiOS~27K
android-design-guidelines.mdAndroid~30K
web-design-guidelines.mdWeb~50K
cross-platform-design-system.mdiOS + Android~32K

┌─────────────────────────────────────────────────────────────────┐
│ UNIVERSAL DESIGN MINIMUMS — ВСЕ ПЛАТФОРМЫ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ACCESSIBILITY (Доступность) │
│ ├─ Text contrast (normal): ≥4.5:1 │
│ ├─ Text contrast (large): ≥3:1 │
│ ├─ UI component contrast: ≥3:1 │
│ ├─ Touch target minimum: ≥44×44 (iOS pt / Web px) │
│ │ ≥48×48 (Android dp) │
│ └─ Touch spacing: ≥8 (all platforms) │
│ │
│ TYPOGRAPHY (Типографика) │
│ ├─ Body text minimum: ≥16 (all platforms) │
│ ├─ Absolute minimum: ≥11 (caption/legal text) │
│ ├─ Line height (body): 1.4-1.6 │
│ └─ Line length (web): 45-75 characters │
│ │
│ LAYOUT (Макет) │
│ ├─ Page margins (mobile): 16 │
│ ├─ Component spacing: 8, 16, 24 (scale) │
│ └─ Grid base: 8 (all platforms) │
│ │
│ COMPONENTS (Компоненты) │
│ ├─ Button height: ≥40 (desktop), ≥44 (mobile) │
│ ├─ Input height: ≥44 (mobile), ≥40 (desktop) │
│ ├─ Input font (mobile): 16px (prevents iOS zoom) │
│ └─ Icon size (touch): 24 minimum │
│ │
│ ANIMATION (Анимация) │
│ ├─ Micro-interactions: 100-200ms │
│ ├─ Standard transitions: 200-400ms │
│ ├─ Complex animations: ≤500ms │
│ └─ Reduce motion: ОБЯЗАТЕЛЬНО поддерживать │
│ │
└─────────────────────────────────────────────────────────────────┘
MetriciOS (pt)Android (dp)Web (px)
Touch target44×4448×4844×44
Body font1714-1616
Button height44-504040-48
Nav bar height44-966456-80
Tab bar height49-838040-48
Input height34-445640-48
Icon size22-282420-24
Side margins161616-32

AspectiOSAndroid (M3)Web
PhilosophyClarity, Deference, DepthMaterial metaphor, SurfacesResponsive, Accessible
Visual styleFlat with blur effectsLayered surfaces, elevationFlexible, content-first
Color systemSystem colors + tintsDynamic Color, Tonal palettesCSS variables, theming
TypographySF Pro (system)Roboto (system)System fonts / Web fonts
MotionSpring physicsEmphasized/Standard easingCSS transitions
IconographySF SymbolsMaterial SymbolsSVG, icon fonts
PropertyiOSAndroidWeb
Height44-50 pt40 dp40-56 px
Corner radius10-14 pt20 dp (full)4-8 px
Min width48 dp88 px
Primary styleFilled/TintedFilledFilled
Secondary styleGray/TintedOutlined/TonalOutlined
Tertiary stylePlain textTextGhost/Text
ComponentiOSAndroidWeb
Top bar nameNavigation BarTop App BarHeader/Navbar
Top bar height44-96 pt64 dp56-80 px
Bottom bar nameTab BarNavigation BarTab Bar/Bottom Nav
Bottom bar height49-83 pt80 dp56-64 px
Drawer— (Sheet)Navigation DrawerSidebar/Drawer
Back actionSwipe + ButtonSystem gesture + ButtonButton only
PropertyiOSAndroidWeb
Height34-44 pt56 dp40-48 px
StyleRounded rectOutlined/FilledVarious
Label positionPlaceholderFloating labelAbove/Floating
Corner radius10 pt4 dp4-8 px
Font size17 pt16 sp16 px
PropertyiOSAndroidWeb
Corner radius10-16 pt12 dp8-16 px
Padding16 pt16 dp16-24 px
ElevationShadow1-3 levelsShadow
BorderNoneNone/1dpOptional
TokenValueUse
Compact4 ptTight inline spacing
Standard8 ptDefault spacing
Medium12 ptRelated groups
Large16 ptSection margins
XL20-24 ptMajor sections
TokenValueUse
space-00 dp
space-14 dpInline
space-28 dpTight
space-312 dpCompact
space-416 dpStandard
space-524 dpComfortable
space-632 dpLarge
space-748 dpSection
TokenValueUse
space-14 pxInline
space-28 pxComponent internal
space-312 pxCompact
space-416 pxStandard
space-524 pxBetween components
space-632 pxLarge
space-848 pxSection
space-964 pxMajor section

PlatformUnitBaseConversion
iOSpt (points)1pt = 1pt@2x: 1pt = 2px, @3x: 1pt = 3px
Androiddp (density-independent pixels)1dp ≈ 1/160 inch160dpi: 1dp = 1px
Webpx (CSS pixels)variesrem = px/16
При стандартных условиях:
1 pt (iOS) ≈ 1 dp (Android) ≈ 1 px (Web @1x)
Но помните:
- iOS @3x: 1pt = 3 физических пикселя
- Android xxhdpi: 1dp = 3 физических пикселя
- Web: зависит от device pixel ratio
ContextiOSAndroidWeb
Font sizesptsprem
Spacingptdprem, px
Bordersptdppx
Iconsptdppx, rem
Border radiusptdppx, rem

CriterionLevelRequirement
1.4.3 Contrast (Minimum)AAText ≥4.5:1, Large ≥3:1
1.4.6 Contrast (Enhanced)AAAText ≥7:1, Large ≥4.5:1
1.4.11 Non-text ContrastAAUI components ≥3:1
2.4.7 Focus VisibleAAClear focus indicators
2.5.5 Target SizeAAA≥44×44 CSS px
2.5.8 Target Size (Minimum)AA≥24×24 CSS px
PlatformStandardRequirementSpacing
iOSApple HIG44×44 pt8 pt min
AndroidMaterial 348×48 dp8 dp min
WebWCAG 2.2 AA24×24 px min8 px min
WebBest Practice44×44 px8 px min
ForegroundBackgroundRatioPass AA TextPass AA LargePass UI
#000000#FFFFFF21:1
#212121#FFFFFF16.1:1
#616161#FFFFFF5.9:1
#757575#FFFFFF4.6:1
#9E9E9E#FFFFFF3.5:1
#BDBDBD#FFFFFF2.2:1
#RequirementiOSAndroidWebPriority
1Text contrast ≥4.5:1🔴 Critical
2UI contrast ≥3:1🔴 Critical
3Touch targets ≥44pt/48dp/44px🔴 Critical
4VoiceOver/TalkBack labels🔴 Critical
5Keyboard accessible🔴 Critical
6Focus visible🔴 Critical
7Dynamic Type support🟠 Important
8Text scalable to 200%🟠 Important
9Reduce motion support🟠 Important
10Color independence🟠 Important

StyleSizeWeightLeading
Large Title34 ptBold41 pt
Title 128 ptBold34 pt
Title 222 ptBold28 pt
Title 320 ptSemibold25 pt
Headline17 ptSemibold22 pt
Body17 ptRegular22 pt
Callout16 ptRegular21 pt
Subhead15 ptRegular20 pt
Footnote13 ptRegular18 pt
Caption 112 ptRegular16 pt
Caption 211 ptRegular13 pt
StyleSizeWeightLine Height
Display Large57 spRegular64 sp
Display Medium45 spRegular52 sp
Display Small36 spRegular44 sp
Headline Large32 spRegular40 sp
Headline Medium28 spRegular36 sp
Headline Small24 spRegular32 sp
Title Large22 spRegular28 sp
Title Medium16 spMedium24 sp
Title Small14 spMedium20 sp
Body Large16 spRegular24 sp
Body Medium14 spRegular20 sp
Body Small12 spRegular16 sp
Label Large14 spMedium20 sp
Label Medium12 spMedium16 sp
Label Small11 spMedium16 sp
StyleSize (px)Size (rem)Line Height
Display 1724.51.1
H14831.2
H2362.251.2
H3301.8751.3
H4241.51.3
H5201.251.4
H6181.1251.4
Body1611.5
Small140.8751.5
Caption120.751.4
RuleiOSAndroidWeb
Min body size17 pt14 sp16 px
Absolute minimum11 pt11 sp11 px
Line height (body)1.31.4-1.51.5-1.6
Line length45-75 chars
Font weights used2-32-32-3

RoleDescriptioniOSAndroidWeb
PrimaryBrand, main actionsSystem BluePrimaryPrimary
SecondaryComplementarySecondarySecondary
TertiaryAccentsTertiaryAccent
ErrorErrors, destructiveSystem RedErrorError (#D32F2F)
SuccessPositive statesSystem GreenSuccess (#388E3C)
WarningCautionSystem YellowWarning (#F57C00)
ContextiOS LightiOS DarkAndroid LightAndroid DarkWeb LightWeb Dark
Primary BG#FFFFFF#000000#FFFBFE#1C1B1F#FFFFFF#121212
Secondary BG#F2F2F7#1C1C1E#E6E0E9#2B2930#F5F5F5#1E1E1E
Elevated#FFFFFF#1C1C1ESurface + tintSurface + tintShadow#2D2D2D
ContextiOS LightiOS DarkAndroidWeb
Primary text#000000 (100%)#FFFFFF (100%)#1C1B1F#212121
Secondary text60% opacity60% opacityOn-surface-variant#666666
Tertiary text30% opacity30% opacity#9E9E9E
Disabled20% opacity20% opacity38% opacity38% opacity

CategoryWidth (pt)Example
Compact<390iPhone SE
Regular390-430iPhone 14-16
Large>430iPhone Pro Max, iPad
Window ClassWidth (dp)Example
Compact<600Phone portrait
Medium600-839Tablet portrait, Foldable
Expanded≥840Tablet landscape
BreakpointWidth (px)Columns
XS<5764
SM≥5764
MD≥7688
LG≥99212
XL≥120012
XXL≥140012
PlatformColumnsGutterMargins
iOS (Phone)Flexible8-16 pt16 pt
iOS (Tablet)4-616-20 pt20 pt
Android (Compact)416 dp16 dp
Android (Medium)824 dp24 dp
Android (Expanded)1224 dp24 dp
Web (Mobile)416 px16 px
Web (Tablet)824 px24 px
Web (Desktop)1224-32 px32 px
AreaPortraitLandscape
Top (Dynamic Island)59 pt0 pt
Top (Notch)47 pt0 pt
Bottom (Home Indicator)34 pt21 pt
Left/Right0 pt59 pt
AreaValue
Status bar~24 dp
Navigation bar (gesture)~24 dp
Navigation bar (buttons)~48 dp
Gesture insets20-24 dp from edges

SizeiOSAndroidWeb
Small32 pt32 dp32 px
Medium44 pt40 dp40-44 px
Large50 pt56 dp48-56 px
StateAll Platforms
DefaultBase appearance
HoverSubtle highlight (web/desktop)
PressedDarker/opacity change
FocusedFocus ring/outline
Disabled30-50% opacity
LoadingSpinner/progress
PropertyiOSAndroidWeb
Height34-44 pt56 dp40-48 px
Font size17 pt16 sp16 px
LabelPlaceholderFloatingAbove
Border radius10 pt4 dp4-8 px
Padding8-12 pt16 dp12-16 px
PropertyiOSAndroidWeb
Corner radius10-16 pt12 dp8-16 px
Padding16 pt16 dp16-24 px
ElevationShadow1-3 levelsShadow
Gap between8-16 pt8 dp16-24 px
PropertyiOSAndroidWeb
Row height (min)44 pt56 dp48 px
Row height (standard)44-88 pt72-88 dp48-72 px
SeparatorInset lineNone/DividerLine
Padding horizontal16 pt16 dp16-24 px
Padding vertical8-12 pt12-16 dp12-16 px

ComponentiOSAndroidWeb
NameNavigation BarTop App BarHeader/Navbar
Height (standard)44 pt64 dp56-80 px
Height (large title)96 pt
Title alignmentCenterLeftLeft/Center
Leading elementBack buttonNav icon/BackLogo/Nav
Trailing elementsActions (1-3)Actions (1-3)Actions + Menu
ComponentiOSAndroidWeb
NameTab BarNavigation BarBottom Nav
Height49-83 pt80 dp56-64 px
Items2-53-53-5
Icon size22-28 pt24 dp24 px
LabelAlwaysAlways/SelectedOptional
ComponentiOSAndroidWeb
Name— (use Sheet)Navigation DrawerSidebar
Width (collapsed)72 dp64-72 px
Width (expanded)360 dp200-280 px
Item height56 dp40-48 px

Animation TypeiOSAndroidWeb
Micro-interaction100-200ms50-200ms100-200ms
Enter/Exit200-350ms200-400ms200-300ms
Page transition350-450ms300-400ms300-500ms
Complex350-500ms300-500ms400-600ms
TypeiOSAndroidWeb
DefaultSpringEmphasizedease
EnterSpring (underdamped)Emphasized decelerateease-out
ExitSpring (overdamped)Emphasized accelerateease-in
LinearLinearLinearlinear
/* iOS-like spring (approximation) */
transition: transform 350ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
/* Material emphasized */
transition: transform 300ms cubic-bezier(0.2, 0, 0, 1);
/* Standard web */
transition: all 200ms ease;
PlatformAPIFallback
iOSUIAccessibility.isReduceMotionEnabledCrossfade
AndroidSettings.Global.ANIMATOR_DURATION_SCALEInstant
Webprefers-reduced-motion: reduceMinimal/none

CategoryWeightPoints
Accessibility35%35
Typography15%15
Layout & Spacing20%20
Components15%15
Visual Polish10%10
Performance5%5
Total100%100
CriterionPointsRequirement
Text contrast10≥4.5:1 for all text
UI contrast5≥3:1 for UI components
Touch targets8≥44pt/48dp/44px
Keyboard/Focus5All elements reachable
Labels4All inputs labeled
Color independence3Not relying on color alone
CriterionPointsRequirement
Size hierarchy5Clear visual hierarchy
Readability4Correct line height
Font weights32-3 weights used well
Consistency3Type scale followed
CriterionPointsRequirement
Grid alignment5Elements on grid
Spacing consistency5Using spacing scale
Responsive5Works all sizes
Safe areas5Respects platform insets
CriterionPointsRequirement
Correct sizes5Per platform specs
States5All states designed
Platform native5Uses correct patterns
CriterionPointsRequirement
Color consistency3Using color system
Elevation/Depth3Proper layering
Icons/Assets2Consistent style
Dark mode2Proper implementation
ScoreGradeDescription
90-100AExcellent, production ready
80-89BGood, minor improvements
70-79CAcceptable, several issues
60-69DBelow standard, significant issues
<60FFailing, major rework needed

IDENTIFY PLATFORM by visual indicators:
iOS indicators:
- SF Pro typography
- Blue tint system colors
- Tab Bar at bottom (49-83pt)
- Navigation Bar with centered title
- Large Title style headers
- SF Symbols iconography
- Rounded rect buttons
- No FAB
Android indicators:
- Roboto typography
- Material You colors
- Navigation Bar at bottom (80dp)
- Top App Bar with left-aligned title
- FAB (Floating Action Button)
- Material Symbols iconography
- Pill-shaped buttons
- Dynamic Color
Web indicators:
- Custom typography (Inter, etc.)
- Full-width layouts
- Header with logo
- Sidebar navigation
- Card-based layouts
- Hover states designed
## Design Evaluation Request
**Platform**: [iOS / Android / Web / Cross-platform]
**Design Type**: [App Screen / Website / Dashboard / etc.]
**File**: [attached]
### Evaluate against:
1. **Accessibility (35 points)**
- Check text contrast ratios (≥4.5:1)
- Verify touch targets (iOS: 44pt, Android: 48dp, Web: 44px)
- Ensure UI component contrast (≥3:1)
2. **Typography (15 points)**
- Verify type scale compliance
- Check line heights and spacing
- Ensure readability (min sizes)
3. **Layout (20 points)**
- Check grid alignment
- Verify spacing consistency
- Confirm safe area compliance
4. **Components (15 points)**
- Verify component sizes
- Check all states (hover, pressed, disabled)
- Confirm platform-native patterns
5. **Visual Polish (10 points)**
- Color system consistency
- Proper elevation/shadows
- Dark mode support
6. **Performance (5 points)**
- Image optimization
- Font loading strategy
### Output Format:
- Overall Score: X/100 (Grade)
- Category Breakdown
- Critical Issues (must fix)
- Recommendations
- Platform Compliance Notes
□ Text contrast ≥4.5:1
□ UI contrast ≥3:1
□ Touch targets ≥44pt/48dp/44px
□ Body text ≥16-17
□ Min text ≥11
□ Line height 1.4-1.6
□ Safe areas respected
□ Spacing from scale (8px base)
□ Grid alignment
□ All states designed
□ Platform patterns followed
□ Color system used
□ Dark mode ready

Formula: (L1 + 0.05) / (L2 + 0.05)
Where L1 = lighter color luminance
L2 = darker color luminance
Common ratios needed:
- Normal text: 4.5:1 (AA), 7:1 (AAA)
- Large text: 3:1 (AA), 4.5:1 (AAA)
- UI components: 3:1 (AA)
Online tools:
- WebAIM Contrast Checker
- Figma Contrast plugin
- Stark (Figma/Sketch)

iOS to Android:
1 pt ≈ 1 dp
iOS to Web:
1 pt ≈ 1 px (at standard density)
Android to Web:
1 dp ≈ 1 px (at standard density)
Font units:
iOS: pt
Android: sp (scales with system font size)
Web: px, rem (1rem = 16px default)

┌────────────────────────────────────┐
│ TOUCH TARGETS │
├────────────────────────────────────┤
│ iOS: 44×44 pt minimum │
│ Android: 48×48 dp minimum │
│ Web: 44×44 px recommended │
│ 24×24 px WCAG AA min │
│ Spacing: 8px minimum between │
└────────────────────────────────────┘
┌────────────────────────────────────┐
│ TYPOGRAPHY MINIMUMS │
├────────────────────────────────────┤
│ Body text: ≥16-17 │
│ Secondary: ≥14 │
│ Caption: ≥11-12 │
│ Absolute min: ≥11 │
│ Line height: 1.4-1.6 │
│ Line length: 45-75 chars (web) │
└────────────────────────────────────┘
┌────────────────────────────────────┐
│ CONTRAST RATIOS (WCAG AA) │
├────────────────────────────────────┤
│ Normal text: ≥4.5:1 │
│ Large text: ≥3:1 │
│ UI components: ≥3:1 │
│ Focus rings: ≥3:1 │
│ Icons: ≥3:1 │
└────────────────────────────────────┘
┌────────────────────────────────────┐
│ COMPONENT HEIGHTS │
├────────────────────────────────────┤
│ iOS Android Web │
│ Button 44pt 40dp 40-48px │
│ Input 34-44pt 56dp 40-48px │
│ List row 44pt 56dp 48px │
│ Top nav 44-96pt 64dp 56-80px │
│ Tab bar 49-83pt 80dp 56-64px │
└────────────────────────────────────┘

ПараметрЗначение
Версия2.0
Дата2025-02
АвторAI-generated
ПлатформыiOS 17-18, Android 14-15, Web (WCAG 2.2)
ИсточникиApple HIG, Material Design 3, WCAG 2.2, MDN

END OF DOCUMENT