Install any skill in seconds. Free to start, no credit card required.
Get Started Free →iOS semantic system colors, dark mode, and material levels per Apple HIG (current iOS 26). Covers why you never hard-code system color values, the system vs grouped background sets, label/separator colors, dark mode base-vs-elevated + the 4.5:1/7:1 contrast floors, the four standard material levels + vibrancy, Liquid Glass color rules, and Display P3. Use when choosing colors, backgrounds, or materials for any native iOS screen.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 2% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-15 | ✓→✓ | = Same ✓ | -10% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 26% | 0% |
Source: Apple HIG Color, Dark Mode, and Materials pages (read June 2026; change logs confirm iOS-26 currency). Apple renders hex/RGB values as image swatches and explicitly says not to hard-code them — so this skill names the semantic APIs, not numbers.
"Documented color values are for your reference… The actual color values may fluctuate from release to release." Use the APIs so colors auto-adapt to light/dark + Increase Contrast + Liquid Glass.
separator as text, or secondaryLabel as a background).System named colors (SwiftUI): red orange yellow green mint teal cyan blue indigo purple pink brown — each has default + increased-contrast variants for light/dark.
Grays: UIKit systemGray, systemGray2…6; SwiftUI gray ≈ systemGray.
Background sets — two families, each primary/secondary/tertiary (express hierarchy by nesting):
systemBackground → secondarySystemBackground → tertiarySystemBackgroundsystemGroupedBackground → secondarySystemGroupedBackground → tertiarySystemGroupedBackgroundForeground / separators: label → secondaryLabel → tertiaryLabel → quaternaryLabel; placeholderText; separator (lets content show through) vs opaqueSeparator; link.
Inclusive color (required): never convey meaning/state/interactivity by color alone — pair with text, glyph shape, or position. Watch red-green / blue-orange confusions; consider cultural meaning.
ios-liquid-glass-swiftui). Don't use it in the content layer. Exception: transient controls (sliders/toggles) take a glass look only while being manipulated.Standard material levels (iOS), thin→thick: .ultraThin, .thin, .regular (default), .thick. Thicker = more opaque = better contrast for fine text; thinner = more translucent = preserves context. Choose by semantic need, not apparent color.
Vibrancy (always put system vibrant colors on top of materials for legibility):
.label (default, highest contrast) → .secondaryLabel → .tertiaryLabel → .quaternaryLabel. Avoid quaternaryLabel on .thin/.ultraThin (contrast too low)..fill / .secondaryFill / .tertiaryFill (any material). Separators: single value, any material.sRGB is fine on most displays; use Display P3, 16 bits/channel, PNG on wide-gamut displays. Provide color-space-specific asset variants when very-similar P3 colors or P3 gradients clip on sRGB.
label on a solid (.regular/.thick) surface — never low-vibrancy on a thin material.Color(hex:) tokens should become asset-catalog Color Sets before ship for proper dark-mode + contrast adaptation).Pairs with: ios-liquid-glass-swiftui, ios-motion-and-accessibility (contrast), ios-typography.
Other measured skills in the registry, with their headline benchmark lift.