ACE Journal

Adaptive Font Scaling for Low-Vision Desktop Workflows

Abstract

Operating system display scaling and browser zoom give users a single multiplier applied uniformly to all rendered text, which is a blunt instrument for the heterogeneous reading demands of a typical desktop session. A developer reading dense code in a monospace font at 80 characters per line has different legibility needs than the same person scanning their email subject lines or reading inline documentation. Adaptive font scaling systems, which apply per-context or per-element sizing based on inferred reading demand and user-provided vision profile data, represent a more precise approach. This piece examines the design space, current tooling, and the accessibility case for making adaptive scaling a platform-level primitive rather than an application-level workaround.

The Limitation of Uniform Scaling

WCAG 2.1 Success Criterion 1.4.4 requires that text can be resized up to 200 percent without loss of content or functionality. Most platforms achieve compliance through OS-level scaling, which multiplies all UI element sizes by a single factor. The limitation of this approach is that legibility is not a linear function of font size: the optimal size for a given reading task depends on viewing distance, ambient illumination, font weight and letterform, line spacing, contrast ratio against the background, and the cognitive load associated with the task itself. A uniform 150 percent scale addresses some of these variables for some content while introducing visual density problems and horizontal overflow for others.

Users with age-related macular degeneration, glaucoma, or moderate uncorrected refractive error typically manage this mismatch by constantly adjusting zoom levels across applications, a pattern documented in accessibility research as “zoom cycling.” A 2024 diary study of 30 low-vision desktop users conducted by the Inclusive Technology Lab at the University of Washington found that participants performed an average of 47 manual zoom adjustments per work session, each requiring a keyboard shortcut or menu interaction that interrupted the primary reading task.

Per-Context Scaling Approaches

Per-context scaling decouples the global display multiplier from the font size applied to specific rendering contexts. At the application level, this is already partially implemented: most IDEs including VS Code, JetBrains IDEs, and Emacs allow independent font sizes for editor areas, terminal panels, and UI chrome. The gap is that these settings are static and require manual configuration per application, with no cross-application coordination.

A more dynamic approach would use a vision profile, analogous to a color profile, stored at the OS level and read by applications to determine appropriate font size and weight for each content type. Microsoft has explored this direction with the Accessibility Insights framework, and the Gnome Accessibility Toolkit exposes APIs that applications can query for user preference data. The missing layer is a richer profile schema that specifies not just a global scale factor but per-content-type preferences: body text, code, navigation labels, tooltips, form fields.

Reading Demand as a Scaling Signal

Beyond static user profiles, there is a case for dynamic adaptation based on inferred reading demand. Eye-tracking data, where available, can distinguish between scanning behavior and deep reading, with corresponding differences in optimal font size. Peripheral reading and skim reading are faster and more accurate at slightly larger sizes; careful sequential reading benefits from density that supports line tracking. Without eye-tracking hardware, coarser signals are available: document type (inferred from application context and file extension), cursor movement velocity, and the ratio of reading to typing activity all correlate with reading demand modes.

Researchers at the ACM ASSETS 2025 conference presented a prototype system called AdaptType that combined a static user vision profile with a lightweight activity classifier running on a laptop’s integrated GPU. The classifier identified reading-dominant states with 79 percent accuracy and applied a per-window font boost of 15 to 25 percent during those states. Participants with mild-to-moderate low vision reported reduced eye strain over a two-week deployment period, and task completion time on reading-heavy tasks improved by 12 percent compared to a fixed scaling baseline.

Path Toward Platform Integration

The obstacle to platform integration of adaptive font scaling is not primarily technical. The required APIs exist or can be extended; GPU and CPU cost of per-window font rendering adjustment is negligible on current hardware. The obstacle is ecosystem coordination: a system that works in browsers, native apps, Electron apps, terminal emulators, and PDF viewers simultaneously requires buy-in across a fragmented application landscape. The most tractable path is OS-level CSS variable injection for web content combined with Accessibility API extensions for native content, with a documented profile schema that application developers can optionally consume. GNOME, KDE, and the Windows accessibility team have each explored pieces of this architecture. Coordinated standards work, potentially through the W3C’s Personalization Task Force, would accelerate convergence.