contentintech

Mobile UI/UX Cheatsheet

Quick reference for platform conventions, touch targets, type scales, contrast rules, navigation patterns, and accessibility checks on iOS and Android.

Design SystemsAccessibilityNavigation PatternsTouch Targets
NotesCheatsheet

Platform Conventions

iOS 18+ HIG vs Material 3

Concern iOS Android (M3)
Nav Bottom tab bar (≤5) Navigation bar (3–5)
Back Top chevron + left-edge swipe System back + predictive back
Primary action Bar button / in-content FAB
Font SF Pro Roboto / Roboto Flex
Menus Context menu, action sheet Overflow menu, bottom sheet
Color model Semantic system colors Dynamic color + tonal surfaces

Touch Targets & Spacing

Guideline Min target Spacing
iOS 44 × 44 pt ≥ 8 pt
Android 48 × 48 dp ≥ 8 dp
WCAG 2.2 AAA 44 × 44 px adequate offset

Spacing

  • Base on an 8pt grid (4pt for fine tuning).
  • Keep primary actions in the thumb zone (bottom-center).
  • Give small icons a larger invisible hit area.

Typography Scale

Role iOS style M3 role
Title Large Title / Title 1 Headline / Display
Section Title 2 / Title 3 Title Large / Medium
Body Body Body Large / Medium
Meta Footnote / Caption Label / Body Small

Use named text styles so Dynamic Type / font scaling works automatically.

Color & Contrast

  • Normal text: 4.5:1 (WCAG AA).
  • Large text (≥18pt / 14pt bold) & UI: 3:1.
  • Never convey state with color alone — add icon/label.
  • Prefer semantic tokens (label, systemBackground) over raw hex.
  • Test contrast at reduced brightness (outdoor use).

Navigation Patterns

Pattern Use for
Tab bar 3–5 peer top-level sections
Stack / push Drill-down (list → detail)
Drawer / rail Many / secondary destinations
Modal / sheet Focused self-contained tasks

Always give an exit from modals; preserve scroll position; never break the system back gesture.

Accessibility Checklist

  • Label every control for VoiceOver / TalkBack.
  • Hide decorative images from screen readers.
  • Support Dynamic Type / font scaling (no hardcoded sizes).
  • Honor Reduce Motion; ensure logical focus order.
  • SwiftUI: .accessibilityLabel("Add item")
  • Compose: contentDescription = "Add item"
  • Test at 200% text size + screen reader on.

Dark Mode

  • Don't invert — design dedicated dark tokens.
  • Avoid pure #000000 for large surfaces; use dark gray.
  • Desaturate bright accents so they don't vibrate.
  • M3: higher elevation = lighter tonal surface.
  • Define both light & dark for every semantic token.

Do / Don't

Do Don't
Use native components Reinvent OS controls
Meet 44pt / 48dp targets Ship tiny tap areas
Design empty/loading/error Show blank screens
Show gesture affordances Hide critical actions in gestures
Give fields the right keyboard Block submit behind keyboard

Section navigation