Mobile App Design Standards
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. Provi
By awesome-skills
npx skills add awesome-skills/mobile-app-design --skill mobile-app-design-standards
Source repository · Upstream listing
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:
[ ] Unified color palette (primary, secondary, accent, neutrals)
[ ] Typography scale defined (font sizes, weights, line heights)
[ ] Spacing system (4pt/8pt grid or similar)
[ ] Component library documented
[ ] Icon set consistent in style and size
Behavioral Consistency:
[ ] Navigation patterns unified
[ ] Button actions predictable
[ ] Form validation consistent
[ ] Error handling standardized
[ ] Loading states uniform
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
1. Define requirements Understand user needs and business goals
2. Research patterns Review platform guidelines and competitors
3. Sketch wireframes Low fidelity layouts first
4. Create prototypes Interactive mockups for testing
5. Validate designs User testing and accessibility checks
Review Phase
When reviewing designs or implementations:
1. Check platform conventions (iOS vs Android)
2. Verify touch target sizes (44pt/48dp minimum)
3. Test color contrast ratios (WCAG AA minimum)
4. Validate accessibility labels
5. Confirm consistency with design system
6. Review performance considerations
Implementation Phase
1. Use presentational/container pattern
2. Build atomic components bottom up
3. Implement accessibility from start
4. Test on real devices (both platforms)
5. Optimize for performance
6. 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