Design System Problems

Text Scaling Accessibility

January 15, 2026 • 5 min read

Text Scaling Accessibility

Text scaling accessibility refers to platform features that allow users to increase or decrease text sizes based on their visual needs. iOS provides Dynamic Type, while Android uses system font scaling. Design systems must support these features to ensure applications remain usable for people with visual impairments and meet accessibility requirements.

What Is Text Scaling Accessibility

Text scaling accessibility enables users to adjust text size across applications through system settings. Users with low vision can increase text to readable sizes. Users with limited screen space might decrease text for more content. These preferences persist across applications when apps properly support the feature.

Accessibility requirements increasingly mandate text scaling support. WCAG 2.1 Success Criterion 1.4.4 requires text to be resizable up to 200% without loss of content or functionality. Platform text scaling features help meet this requirement when properly implemented.

Both iOS and Android provide text scaling, but implementations differ. iOS Dynamic Type offers categorical scaling with specific text styles. Android provides percentage-based scaling affecting sp (scalable pixel) units. Cross-platform design systems must address both approaches.

How Text Scaling Accessibility Works

iOS Dynamic Type scales text through content size categories. Users select from preset sizes in Settings. Applications using system text styles or fonts configured with UIFontMetrics scale automatically.

Platform Text Scaling Comparison:

iOS Dynamic Type:
- Content size categories (XS to XXXL)
- Additional accessibility sizes (5 larger options)
- System text styles scale automatically
- Custom fonts use UIFontMetrics for scaling
- Up to ~310% scaling at largest accessibility size

Android Font Scale:
- Percentage-based (typically 85% to 200%+)
- System setting affects sp (scalable pixels) units
- dp units do not scale (use for layout)
- No categorical styles like iOS
- Some manufacturers extend scaling range

Implementation Requirements:
iOS: Use system text styles or UIFontMetrics
Android: Use sp units for all text sizing
Both: Layouts must accommodate scaled text

Android text scaling uses a font scale multiplier applied to sp units. Default scale is 1.0 (100%). Users can adjust this in accessibility settings. Text specified in sp scales by this factor. Text in dp does not scale, which is incorrect for accessibility.

Layout accommodation prevents scaling from breaking interfaces. Flexible layouts using constraints (iOS Auto Layout, Android ConstraintLayout) accommodate variable text sizes. Fixed-size containers fail when text grows beyond their bounds.

Extreme sizes require special consideration. At largest accessibility sizes, text may be four times the default size. Layouts must function at these extremes through scrolling, reflowing, or adaptive changes.

Key Considerations

Common Questions

How do design systems ensure text scaling works across platforms?

Platform-appropriate specifications ensure both systems work. iOS specs use text styles or UIFontMetrics. Android specs use sp units exclusively for text.

Token systems can abstract platform differences. A text-body-size token translates to appropriate platform units: points with Dynamic Type configuration for iOS, sp for Android.

Testing requirements cover both platforms. Quality assurance includes testing at multiple scale settings on both iOS and Android.

Documentation explains text scaling support requirements. Developers understand what is required for accessibility compliance on each platform.

What happens to layouts when text scales dramatically?

Scrolling enables access to content that exceeds viewport. Text that grew too large for a fixed view becomes scrollable.

Reflowing changes layout structure. Horizontal arrangements become vertical. Multi-column layouts become single column. These changes maintain functionality at large sizes.

Truncation with access provides abbreviated display with full content accessible elsewhere. A card might truncate at large sizes with full content in a detail view.

Some elements may reasonably limit scaling. A tab bar label might have maximum size while still being readable. The key is ensuring information remains accessible through some means.

How should teams test text scaling accessibility?

iOS testing uses Dynamic Type settings in Control Center or Settings app. Accessibility Inspector in Xcode enables quick switching without changing device settings.

Android testing adjusts font size in Settings > Display > Font Size or Accessibility settings. Some devices offer larger maximum sizes than others.

Automated testing can verify text uses scalable units. Static analysis catches dp usage where sp is required on Android.

Manual testing at extremes validates layout behavior. Testing at smallest and largest sizes reveals most issues. Pay special attention to largest accessibility sizes.

User testing with people who use text scaling provides real-world validation. Testers who actually need large text reveal practical issues developers might miss.

Summary

Text scaling accessibility enables users to adjust text sizes through iOS Dynamic Type and Android font scaling. Design systems must ensure all text uses platform-appropriate scalable units and that layouts accommodate dramatic size increases. Testing at extreme sizes validates that applications remain functional for users who rely on text scaling features.

Buoy scans your codebase for design system inconsistencies before they ship

Detect Design Drift Free
← Back to Cross Platform Consistency