Mobile App Design Standards
Comprehensive guidance for designing mobile applications that follow platform conventions, accessibility standards, and modern UX best practices.
Purpose
Apply platform-specific design guidelines, interaction patterns, and accessibility standards when designing, reviewing, or improving mobile application interfaces. Ensure designs are consistent, accessible, performant, and follow 2026 industry best practices.
When to Use This Skill
Use this skill when:
- Designing new mobile app screens or features
- Reviewing existing UI/UX implementations
- Planning interaction flows and navigation
- Establishing design systems or style guides
- Making platform-specific design decisions
- Optimizing for accessibility or performance
- Modernizing legacy mobile interfaces
Core Design Principles
Platform-Native Conventions
iOS (Human Interface Guidelines):
- Navigation: Back button in top-left, primary action in top-right
- Tab bar at bottom with 3-5 items
- Large titles for hierarchy
- System fonts: San Francisco (designed for small sizes)
- Haptic feedback for confirmations
- Swipe gestures for navigation
Android (Material Design):
- Navigation: Back in top-left, overflow menu in top-right
- Bottom navigation or navigation drawer
- Floating Action Button (FAB) for primary actions
- System fonts: Roboto
- Ripple effects for touch feedback
- Navigation drawer for hierarchical content
React Native Cross-Platform:
- Use platform-specific components where behavior differs
- Respect platform conventions for navigation patterns
- Test on both iOS and Android devices
- Consider using React Navigation for platform-aware navigation
- Use Platform API for conditional rendering
Touch Targets and Spacing
Minimum Sizes:
- iOS: 44 × 44 points minimum for all interactive elements
- Android: 48 × 48 dp minimum for all touch targets
- Spacing between targets: minimum 8dp/pt
Best Practices:
- Larger targets for primary actions (56dp FAB on Android)
- Adequate spacing prevents accidental taps
- Consider thumb zones on large screens
- Test with actual fingers, not mouse clicks
Typography Standards
Minimum Sizes:
- Body text: 16sp/pt minimum (14sp absolute minimum)
- Labels: 11-12pt minimum
- Avoid text smaller than 11pt for legibility
Hierarchy:
- Clear visual hierarchy through size, weight, color
- Consistent scale across the app (e.g., 12/14/16/20/24/32pt)
- Use platform system fonts unless brand requires custom
- Support dynamic type (iOS) and font scaling (Android)
Color and Contrast
WCAG Standards:
- Normal text: 4.5:1 contrast ratio minimum
- Large text (18pt+): 3:1 contrast ratio minimum
- UI components: 3:1 contrast ratio for boundaries
Color Usage:
- Don't rely solely on color to convey information
- Provide alternative indicators (icons, labels, patterns)
- Support dark mode where applicable
- Test color blindness scenarios
Component Architecture
Container/Presentational Pattern
Presentational Components:
- Focus on rendering UI elements
- Receive data via props
- No state management or business logic
- Highly reusable and testable
Container Components:
- Handle data fetching and state
- Manage business logic
- Pass data to presentational components
- Connect to app state/context
Atomic Design Methodology
Atoms: Basic building blocks (buttons, inputs, icons)
- Single-purpose components
- Highly reusable
- Consistent styling
Molecules: Simple component groups (form fields, search bars)
- Combine atoms into functional units
- Maintain single responsibility
Organisms: Complex component assemblies (headers, cards, forms)
- Combine molecules and atoms
- Represent distinct sections
Templates: Page-level layouts
- Define structure and placement
- No real content
Pages: Specific instances
- Real content applied to templates
- Actual screens in the app
Accessibility (a11y)
Screen Reader Support
Labels and Hints:
- All interactive elements need accessible labels
- Use
accessibilityLabel (React Native) or contentDescription (Android)
- Provide hints for complex interactions
- Announce dynamic content changes
Navigation:
- Logical focus order (top to bottom, left to right)
- Skip navigation for repetitive content
- Clear heading hierarchy
- Announce screen changes
Cognitive Accessibility
Reduce Cognitive Load:
- Clear, concise labels (avoid jargon)
- Consistent patterns throughout app
- Progressive disclosure (show what's needed)
- Clear error messages with recovery steps
Focus Management:
- Highlight focused elements clearly
- Support keyboard navigation where applicable
- Maintain focus context during navigation
Performance Optimization
Perceived Performance
Loading States:
- Skeleton screens for content loading
- Progress indicators for operations >1 second
- Optimistic UI updates (show action immediately)
- Prevent layout shift during load
Responsiveness:
- Touch feedback within 100ms
- Visual feedback for all interactions
- Smooth animations (60fps target)
- Debounce rapid inputs
React Native Best Practices
Component Optimization:
- Use
React.memo for expensive components
- Implement
shouldComponentUpdate or useMemo
- Lazy load heavy components
- Virtualize long lists (FlatList, SectionList)
Bundle Optimization:
- Code splitting for large apps
- Remove unused dependencies
- Optimize image sizes and formats
- Use Hermes engine (Android)
Design System Essentials
Consistency Checklist
Visual Consistency:
Behavioral Consistency:
Component Documentation
Document each component with:
- Purpose and use cases
- Props and their types
- Visual variants (states, sizes, styles)
- Accessibility requirements
- Platform-specific considerations
- Usage examples
2026 Design Trends (Optional Enhancement)
AI-Driven Interaction
Predictive UI:
- Anticipate user needs based on context
- Smart defaults in forms
- Personalized content ordering
- Contextual suggestions
Conversational Interfaces:
- Voice interaction support
- Natural language input
- Progressive disclosure through conversation
Advanced Visual Design
Spatial Computing:
- Consider depth and layering
- Subtle parallax effects
- 3D elements where appropriate
- Immersive experiences
Micro-Interactions:
- Delightful animation details
- Haptic feedback coordination
- Sound design for actions
- Emotional engagement
Workflow Integration
Design Phase
- Define requirements - Understand user needs and business goals
- Research patterns - Review platform guidelines and competitors
- Sketch wireframes - Low-fidelity layouts first
- Create prototypes - Interactive mockups for testing
- Validate designs - User testing and accessibility checks
Review Phase
When reviewing designs or implementations:
- Check platform conventions (iOS vs Android)
- Verify touch target sizes (44pt/48dp minimum)
- Test color contrast ratios (WCAG AA minimum)
- Validate accessibility labels
- Confirm consistency with design system
- Review performance considerations
Implementation Phase
- Use presentational/container pattern
- Build atomic components bottom-up
- Implement accessibility from start
- Test on real devices (both platforms)
- Optimize for performance
- Document component usage
Additional Resources
Reference Files
For detailed platform-specific guidance, consult:
Platform Guidelines:
references/ios-guidelines.md - Comprehensive iOS HIG summary (SF Fonts, Navigation, VoiceOver, Haptics)
references/android-guidelines.md - Material Design 3 essentials (Components, Motion, TalkBack)
references/platform-differences.md - iOS vs Android quick reference (navigation, gestures, components)
Implementation Guides:
references/accessibility-checklist.md - Complete WCAG 2.1 AA testing guide (screen readers, contrast, touch targets)
references/performance-patterns.md - React Native optimization (FlatList, animations, bundle size, memory)
references/common-mistakes.md - Common design errors and fixes (touch targets, typography, accessibility, forms)
references/ui-libraries.md - React Native UI library comparison (Paper, Elements, Tamagui, NativeBase)
Example Files
Working code examples in examples/:
profile-screen-example.tsx - Complete profile screen with Atomic Design, accessibility labels, performance optimization
form-validation-example.tsx - Accessible form with real-time validation, proper keyboard types, error handling
optimized-list-example.tsx - FlatList with virtualization, React.memo, skeleton loading, pull-to-refresh
design-system-config.ts - Complete design tokens (colors, typography, spacing, shadows, component variants)
Utility Scripts
Development tools in scripts/:
check-contrast.py - WCAG contrast ratio validator (usage: python check-contrast.py "#FFFFFF" "#000000")
validate-touch-targets.sh - Validates minimum 44pt/48dp touch targets (usage: ./validate-touch-targets.sh src/)
accessibility-audit.sh - Audits for missing labels, roles, and a11y issues (usage: ./accessibility-audit.sh src/)
Quick Reference
Touch Targets
- iOS: 44×44pt minimum
- Android: 48×48dp minimum
Typography
- Body: 16sp/pt minimum
- Labels: 11pt minimum
Contrast
- Text: 4.5:1 minimum
- Large text: 3:1 minimum
- Components: 3:1 minimum
Navigation
- iOS: Back top-left, action top-right, tabs bottom
- Android: Back top-left, menu top-right, FAB bottom-right
Performance
- Touch feedback: <100ms
- Animations: 60fps target
- Loading indicators: >1 second operations
1---2name: mobile-app-design-standards3description: This skill should be used when the user asks to "design mobile UI", "review app design", "check UI guidelines", "improve app UX", "design React Native interface", "create app screens", "follow design standards", or mentions iOS/Android design patterns, accessibility, or mobile user experience. Provides comprehensive mobile app UI/UX design guidance.4---5
6# Mobile App Design Standards
7
8Comprehensive guidance for designing mobile applications that follow platform conventions, accessibility standards, and modern UX best practices.
9
10## Purpose
11
12Apply platform-specific design guidelines, interaction patterns, and accessibility standards when designing, reviewing, or improving mobile application interfaces. Ensure designs are consistent, accessible, performant, and follow 2026 industry best practices.
13
14## When to Use This Skill
15
16Use this skill when:
17- Designing new mobile app screens or features
18- Reviewing existing UI/UX implementations
19- Planning interaction flows and navigation
20- Establishing design systems or style guides
21- Making platform-specific design decisions
22- Optimizing for accessibility or performance
23- Modernizing legacy mobile interfaces
24
25## Core Design Principles
26
27### Platform-Native Conventions
28
29**iOS (Human Interface Guidelines):**
30- Navigation: Back button in top-left, primary action in top-right
31- Tab bar at bottom with 3-5 items
32- Large titles for hierarchy
33- System fonts: San Francisco (designed for small sizes)
34- Haptic feedback for confirmations
35- Swipe gestures for navigation
36
37**Android (Material Design):**
38- Navigation: Back in top-left, overflow menu in top-right
39- Bottom navigation or navigation drawer
40- Floating Action Button (FAB) for primary actions
41- System fonts: Roboto
42- Ripple effects for touch feedback
43- Navigation drawer for hierarchical content
44
45**React Native Cross-Platform:**
46- Use platform-specific components where behavior differs
47- Respect platform conventions for navigation patterns
48- Test on both iOS and Android devices
49- Consider using React Navigation for platform-aware navigation
50- Use Platform API for conditional rendering
51
52### Touch Targets and Spacing
53
54**Minimum Sizes:**
55- iOS: 44 × 44 points minimum for all interactive elements
56- Android: 48 × 48 dp minimum for all touch targets
57- Spacing between targets: minimum 8dp/pt
58
59**Best Practices:**
60- Larger targets for primary actions (56dp FAB on Android)
61- Adequate spacing prevents accidental taps
62- Consider thumb zones on large screens
63- Test with actual fingers, not mouse clicks
64
65### Typography Standards
66
67**Minimum Sizes:**
68- Body text: 16sp/pt minimum (14sp absolute minimum)
69- Labels: 11-12pt minimum
70- Avoid text smaller than 11pt for legibility
71
72**Hierarchy:**
73- Clear visual hierarchy through size, weight, color
74- Consistent scale across the app (e.g., 12/14/16/20/24/32pt)
75- Use platform system fonts unless brand requires custom
76- Support dynamic type (iOS) and font scaling (Android)
77
78### Color and Contrast
79
80**WCAG Standards:**
81- Normal text: 4.5:1 contrast ratio minimum
82- Large text (18pt+): 3:1 contrast ratio minimum
83- UI components: 3:1 contrast ratio for boundaries
84
85**Color Usage:**
86- Don't rely solely on color to convey information
87- Provide alternative indicators (icons, labels, patterns)
88- Support dark mode where applicable
89- Test color blindness scenarios
90
91## Component Architecture
92
93### Container/Presentational Pattern
94
95**Presentational Components:**
96- Focus on rendering UI elements
97- Receive data via props
98- No state management or business logic
99- Highly reusable and testable
100
101**Container Components:**
102- Handle data fetching and state
103- Manage business logic
104- Pass data to presentational components
105- Connect to app state/context
106
107### Atomic Design Methodology
108
109**Atoms:** Basic building blocks (buttons, inputs, icons)
110- Single-purpose components
111- Highly reusable
112- Consistent styling
113
114**Molecules:** Simple component groups (form fields, search bars)
115- Combine atoms into functional units
116- Maintain single responsibility
117
118**Organisms:** Complex component assemblies (headers, cards, forms)
119- Combine molecules and atoms
120- Represent distinct sections
121
122**Templates:** Page-level layouts
123- Define structure and placement
124- No real content
125
126**Pages:** Specific instances
127- Real content applied to templates
128- Actual screens in the app
129
130## Accessibility (a11y)
131
132### Screen Reader Support
133
134**Labels and Hints:**
135- All interactive elements need accessible labels
136- Use `accessibilityLabel` (React Native) or `contentDescription` (Android)
137- Provide hints for complex interactions
138- Announce dynamic content changes
139
140**Navigation:**
141- Logical focus order (top to bottom, left to right)
142- Skip navigation for repetitive content
143- Clear heading hierarchy
144- Announce screen changes
145
146### Cognitive Accessibility
147
148**Reduce Cognitive Load:**
149- Clear, concise labels (avoid jargon)
150- Consistent patterns throughout app
151- Progressive disclosure (show what's needed)
152- Clear error messages with recovery steps
153
154**Focus Management:**
155- Highlight focused elements clearly
156- Support keyboard navigation where applicable
157- Maintain focus context during navigation
158
159## Performance Optimization
160
161### Perceived Performance
162
163**Loading States:**
164- Skeleton screens for content loading
165- Progress indicators for operations >1 second
166- Optimistic UI updates (show action immediately)
167- Prevent layout shift during load
168
169**Responsiveness:**
170- Touch feedback within 100ms
171- Visual feedback for all interactions
172- Smooth animations (60fps target)
173- Debounce rapid inputs
174
175### React Native Best Practices
176
177**Component Optimization:**
178- Use `React.memo` for expensive components
179- Implement `shouldComponentUpdate` or `useMemo`
180- Lazy load heavy components
181- Virtualize long lists (FlatList, SectionList)
182
183**Bundle Optimization:**
184- Code splitting for large apps
185- Remove unused dependencies
186- Optimize image sizes and formats
187- Use Hermes engine (Android)
188
189## Design System Essentials
190
191### Consistency Checklist
192
193**Visual Consistency:**
194- [ ] Unified color palette (primary, secondary, accent, neutrals)
195- [ ] Typography scale defined (font sizes, weights, line heights)
196- [ ] Spacing system (4pt/8pt grid or similar)
197- [ ] Component library documented
198- [ ] Icon set consistent in style and size
199
200**Behavioral Consistency:**
201- [ ] Navigation patterns unified
202- [ ] Button actions predictable
203- [ ] Form validation consistent
204- [ ] Error handling standardized
205- [ ] Loading states uniform
206
207### Component Documentation
208
209Document each component with:
210- Purpose and use cases
211- Props and their types
212- Visual variants (states, sizes, styles)
213- Accessibility requirements
214- Platform-specific considerations
215- Usage examples
216
217## 2026 Design Trends (Optional Enhancement)
218
219### AI-Driven Interaction
220
221**Predictive UI:**
222- Anticipate user needs based on context
223- Smart defaults in forms
224- Personalized content ordering
225- Contextual suggestions
226
227**Conversational Interfaces:**
228- Voice interaction support
229- Natural language input
230- Progressive disclosure through conversation
231
232### Advanced Visual Design
233
234**Spatial Computing:**
235- Consider depth and layering
236- Subtle parallax effects
237- 3D elements where appropriate
238- Immersive experiences
239
240**Micro-Interactions:**
241- Delightful animation details
242- Haptic feedback coordination
243- Sound design for actions
244- Emotional engagement
245
246## Workflow Integration
247
248### Design Phase
249
2501. **Define requirements** - Understand user needs and business goals
2512. **Research patterns** - Review platform guidelines and competitors
2523. **Sketch wireframes** - Low-fidelity layouts first
2534. **Create prototypes** - Interactive mockups for testing
2545. **Validate designs** - User testing and accessibility checks
255
256### Review Phase
257
258When reviewing designs or implementations:
2591. Check platform conventions (iOS vs Android)
2602. Verify touch target sizes (44pt/48dp minimum)
2613. Test color contrast ratios (WCAG AA minimum)
2624. Validate accessibility labels
2635. Confirm consistency with design system
2646. Review performance considerations
265
266### Implementation Phase
267
2681. Use presentational/container pattern
2692. Build atomic components bottom-up
2703. Implement accessibility from start
2714. Test on real devices (both platforms)
2725. Optimize for performance
2736. Document component usage
274
275## Additional Resources
276
277### Reference Files
278
279For detailed platform-specific guidance, consult:
280
281**Platform Guidelines:**
282- **`references/ios-guidelines.md`** - Comprehensive iOS HIG summary (SF Fonts, Navigation, VoiceOver, Haptics)
283- **`references/android-guidelines.md`** - Material Design 3 essentials (Components, Motion, TalkBack)
284- **`references/platform-differences.md`** - iOS vs Android quick reference (navigation, gestures, components)
285
286**Implementation Guides:**
287- **`references/accessibility-checklist.md`** - Complete WCAG 2.1 AA testing guide (screen readers, contrast, touch targets)
288- **`references/performance-patterns.md`** - React Native optimization (FlatList, animations, bundle size, memory)
289- **`references/common-mistakes.md`** - Common design errors and fixes (touch targets, typography, accessibility, forms)
290- **`references/ui-libraries.md`** - React Native UI library comparison (Paper, Elements, Tamagui, NativeBase)
291
292### Example Files
293
294Working code examples in `examples/`:
295- **`profile-screen-example.tsx`** - Complete profile screen with Atomic Design, accessibility labels, performance optimization
296- **`form-validation-example.tsx`** - Accessible form with real-time validation, proper keyboard types, error handling
297- **`optimized-list-example.tsx`** - FlatList with virtualization, React.memo, skeleton loading, pull-to-refresh
298- **`design-system-config.ts`** - Complete design tokens (colors, typography, spacing, shadows, component variants)
299
300### Utility Scripts
301
302Development tools in `scripts/`:
303- **`check-contrast.py`** - WCAG contrast ratio validator (usage: `python check-contrast.py "#FFFFFF" "#000000"`)
304- **`validate-touch-targets.sh`** - Validates minimum 44pt/48dp touch targets (usage: `./validate-touch-targets.sh src/`)
305- **`accessibility-audit.sh`** - Audits for missing labels, roles, and a11y issues (usage: `./accessibility-audit.sh src/`)
306
307## Quick Reference
308
309### Touch Targets
310- iOS: 44×44pt minimum
311- Android: 48×48dp minimum
312
313### Typography
314- Body: 16sp/pt minimum
315- Labels: 11pt minimum
316
317### Contrast
318- Text: 4.5:1 minimum
319- Large text: 3:1 minimum
320- Components: 3:1 minimum
321
322### Navigation
323- iOS: Back top-left, action top-right, tabs bottom
324- Android: Back top-left, menu top-right, FAB bottom-right
325
326### Performance
327- Touch feedback: <100ms
328- Animations: 60fps target
329- Loading indicators: >1 second operations