Bold Text в мобильных приложениях: что это, настройка жирного текста

Автор: IT Sectr Опубликовано: 2026-05-16 Время чтения: 12 мин

Bold Text — accessibility-функция, которая заменяет стандартное начертание шрифта на жирное во всех элементах интерфейса операционной системы. В iOS настройка находится в Settings > Display & Brightness > Bold Text и требует перезагрузки устройства для применения. В Android аналогичная функция называется «Улучшенная читаемость» или High Contrast Text в зависимости от версии. По данным W3C WAI, жирный текст повышает читаемость на 20–25% для людей с нарушениями зрения.

Главное

  • Bold Text — системная accessibility-функция, заменяющая шрифт на жирный во всех элементах интерфейса ОС
  • iOS включает Bold Text в Settings > Display & Brightness с обязательной перезагрузкой устройства
  • Android предлагает настройку «Улучшенная читаемость» в разделе «Специальные возможности»
  • CSS font-weight — веб-свойство, управляющее насыщенностью шрифта: bold = 700, normal = 400
  • Accessibility Bold Text помогает людям с амблиопией, пресбиопией и дислексией

Что такое Bold Text в accessibility?

Bold Text — это системная настройка операционных систем, которая предписывает использовать жирное начертание шрифта для всех текстовых элементов интерфейса вместо стандартного (regular или normal). В отличие от простого увеличения размера шрифта, Bold Text не меняет масштаб — он увеличивает толщину линий букв, делая их более насыщенными и контрастными на фоне.

Функция относится к категории display accommodations — настроек экрана, помогающих людям с нарушениями зрения комфортнее воспринимать информацию. Bold Text особенно эффективен при низкой остроте зрения (амблиопия), возрастной дальнозоркости (пресбиопия) и некоторых формах дислексии, при которых буквы «двоятся» или «плывут» при стандартной толщине.

Жирный шрифт увеличивает readability — скорость и точность распознавания отдельных символов. Исследования Usability.gov показывают, что bold-начертание повышает точность чтения на 12–18% у пользователей с нарушениями зрения по сравнению с regular-шрифтом того же кегля. При этом Bold Text не заменяет увеличение текста — обе функции можно комбинировать.

Отличие Bold Text от увеличения шрифта

Ключевое отличие Bold Text от Dynamic Type (iOS) или Font Size (Android) — механизм воздействия. Увеличение шрифта изменяет размер букв, Bold Text — только толщину. При увеличении шрифта страдает вместимость экрана (на один экран помещается меньше контента), Bold Text сохраняет количество видимых элементов. Для пользователей с пресбиопией на ранних стадиях Bold Text часто оказывается достаточным без увеличения текста.

ПараметрBold TextУвеличение шрифта
Изменяет толщинуДаНет
Изменяет размерНетДа
Влияет на вместимость экранаМинимальноЗначительно
Требует перезагрузки (iOS)ДаНет
Поддержка в веб (CSS)font-weight: boldfont-size

Кому нужен Bold Text

Основная аудитория Bold Text — люди с амблиопией (снижение остроты зрения, не корректируемое очками), пресбиопией (возрастная дальнозоркость после 40–45 лет) и некоторыми формами дислексии. Функция также полезна при чтении на ярком солнце — жирный шрифт сохраняет контрастность при бликах. Вспомогательные технологии, такие как VoiceOver и TalkBack, работают с Bold Text независимо — настройка влияет только на визуальное отображение.

Bold Text в iOS: настройка и принцип работы

В iOS Bold Text — одна из старейших accessibility-функций, появившаяся в iOS 7 (2013). Настройка находится в Settings > Display & Brightness > Bold Text и требует перезагрузки iPhone: система перестраивает все шрифты в системных приложениях (Settings, Mail, Messages, Calendar, Notes) и сторонних приложениях, использующих системный шрифт San Francisco.

Технически iOS заменяет файл системного шрифта San Francisco на его Bold-вариант (SF Pro Bold / SF Pro Rounded Bold) на уровне CoreText framework. После включения Bold Text все строки на экране — от заголовков навигации до текста кнопок — отображаются с font-weight 700 вместо 400. Разработчик не может переопределить это поведение для системных элементов, но может управлять шрифтами в собственном UI через Dynamic Type.

Для разработчика включённый Bold Text означает, что все UIFont с textStyle (.body, .headline, .caption и другие) автоматически получают bold-начертание. UIFontWeight существует в двух вариантах: regular (0.0) и bold (1.0). При активном Bold Text система увеличивает fontWeight на 0.3–0.5 для каждого стиля. Проверить состояние можно через UIAccessibility.isBoldTextEnabled.

Проверка Bold Text в iOS-приложении

Разработчик может проверить, включён ли Bold Text на устройстве, и адаптировать интерфейс. Например, если заголовки таблицы уже используют bold, при включённой функции может потребоваться уменьшить жирность, чтобы избежать визуального шума. Код проверки использует UIAccessibility фреймворка.

swift
import UIKit

class BoldTextManager {

    // Проверка состояния Bold Text
    static var isBoldTextEnabled: Bool {
        return UIAccessibility.isBoldTextEnabled
    }

    // Адаптация шрифта под Bold Text
    static func adjustedFont(
        textStyle: UIFont.TextStyle,
        weight: UIFont.Weight
    ) -> UIFont {
        let baseFont = UIFont.preferredFont(
            forTextStyle: textStyle
        )
        guard isBoldTextEnabled else {
            return baseFont
        }
        // Уменьшаем жирность, чтобы не было double-bold
        let adjustedWeight: UIFont.Weight
        switch weight {
        case .bold, .heavy:
            adjustedWeight = .semibold
        case .semibold:
            adjustedWeight = .medium
        default:
            adjustedWeight = weight
        }
        return UIFont.systemFont(
            ofSize: baseFont.pointSize,
            weight: adjustedWeight
        )
    }

    // Кешированный шрифт с поддержкой Bold Text
    static func labelFont() -> UIFont {
        return adjustedFont(
            textStyle: .body,
            weight: .regular
        )
    }
}

// Подписка на изменения Bold Text (Notification)
NotificationCenter.default.addObserver(
    self,
    selector: #selector(boldTextStatusChanged),
    name: UIAccessibility.boldTextStatusDidChangeNotification,
    object: nil
)

@objc func boldTextStatusChanged() {
    // Обновить UI при изменении Bold Text
    updateFonts()
}

Класс BoldTextManager проверяет isBoldTextEnabled, адаптирует вес шрифта (уменьшает heavy/bold до semibold/medium при активности функции) и подписывается на уведомление boldTextStatusDidChangeNotification. Это предотвращает эффект double-bold, когда разработчик уже использует bold для заголовков, а система утолщает их ещё сильнее.

Влияние на UITableView и UICollectionView

Bold Text влияет на layout ячеек UITableView и UICollectionView, так как увеличение толщины шрифта может изменить высоту строки. При использовании self-sizing cells (estimatedRowHeight + UITableView.automaticDimension) iOS автоматически пересчитывает высоту при изменении шрифта. Для фиксированных высот ячеек разработчику нужно вызвать reloadData() после получения уведомления boldTextStatusDidChangeNotification, иначе текст может обрезаться.

Улучшенная читаемость в Android: аналог Bold Text

В Android функция Bold Text называется «Улучшенная читаемость» (Improve readability) в интерфейсе настроек и находится в разделе «Специальные возможности» (Accessibility). В некоторых версиях Android, особенно на устройствах Samsung One UI, функция называется «Высококонтрастный текст» или High Contrast Text. Настройка применяется ко всем системным элементам и большинству сторонних приложений.

Техническая реализация Android отличается от iOS: вместо замены системного шрифта Android переопределяет Typeface в системном уровне через Resources.Theme. При активации настройки система изменяет атрибут android:textStyle для всех текстовых элементов, устанавливая bold или italic+bold. Разработчик может проверить состояние через Settings.Global.getFloat() или AccessibilityManager.

Проверка Bold Text в Android-приложении

В Android нет прямого аналогичного UIAccessibility.isBoldTextEnabled API. Проверка осуществляется через ContentResolver и Settings.System. Функция хранится в глобальных настройках как font_weight_adjustment. Для Jetpack Compose доступна через LocalDensity и fontScale.

kotlin
import android.content.Context
import android.provider.Settings
import android.util.TypedValue
import androidx.compose.ui.text.font.FontWeight

class AndroidBoldTextHelper {

    // Проверка улучшенной читаемости через системные настройки
    fun isBoldTextEnabled(context: Context): Boolean {
        return try {
            Settings.System.getInt(
                context.contentResolver,
                "font_weight_adjustment"
            ) == 1
        } catch (e: Settings.SettingNotFoundException) {
            false
        }
    }

    // Jetpack Compose — адаптация FontWeight
    fun adjustFontWeight(
        context: Context,
        original: FontWeight
    ): FontWeight {
        if (!isBoldTextEnabled(context)) return original

        return when (original) {
            FontWeight.Bold, FontWeight.ExtraBold -> FontWeight.SemiBold
            FontWeight.SemiBold -> FontWeight.Medium
            else -> original
        }
    }

    // XML View — применение через TypedValue
    fun applyBoldStyleFix(context: Context, textView: android.widget.TextView) {
        if (isBoldTextEnabled(context)) {
            val paint = textView.paint
            val fakeBold = paint.isFakeBoldText
            // Уменьшаем fakeBold, если он уже включён системой
            if (fakeBold) {
                paint.isFakeBoldText = false
                textView.invalidate()
            }
        }
    }
}

Класс AndroidBoldTextHelper читает системную настройку font_weight_adjustment, адаптирует FontWeight в Jetpack Compose и убирает дублирующийся fakeBold в XML View. В отличие от iOS, Android не предоставляет notification-канал для изменения Bold Text — разработчик проверяет настройку при старте Activity или через ContentObserver.

ContentObserver для отслеживания изменений

Для отслеживания изменений Bold Text в рантайме Android-разработчик может использовать ContentObserver. При изменении настройки font_weight_adjustment система уведомляет ContentResolver, и приложение может обновить UI. Это важно для AccessibilityService и кастомных лаунчеров, которые должны мгновенно реагировать на изменение настроек пользователя.

CSS font-weight: типы насыщенности шрифта

В веб-разработке насыщенность шрифта управляется CSS-свойством font-weight со значениями от 100 (Thin) до 900 (Black). Стандартные значения: normal = 400, bold = 700. Bold Text в операционной системе не влияет напрямую на CSS font-weight — веб-браузеры не получают системного сигнала о включённом Bold Text на уровне CSS. Однако разработчик может использовать CSS-медиа-функцию, если платформа её поддерживает.

Для iOS Safari поддерживает медиа-функцию -webkit-text-size-adjust, но не имеет прямой media query для Bold Text. На Android Chrome также не предоставляет media query для системной настройки жирного текста. Веб-разработчикам рекомендуется использовать prefers-contrast и prefers-reduced-motion для адаптации, а для жирного текста — проверять настройку через User-Agent или резервные стили.

Использование вариативных шрифтов (Variable Fonts)

Variable Fonts (OpenType Font Variations) позволяют плавно регулировать насыщенность шрифта через CSS font-weight в диапазоне 1–999 с шагом в 1 единицу. В отличие от стандартных шрифтов, где доступны только дискретные значения (400, 700), variable fonts дают возможность подобрать оптимальную толщину для каждого пользователя. При accessibility-настройках можно использовать более широкий диапазон.

css
/* Вариативный шрифт с плавной регулировкой толщины */
@font-face {
    font-family: "Inter Variable";
    src: url("/fonts/Inter-Variable.woff2")
        format("woff2-variations");
    font-weight: 100 900;
    font-stretch: 50% 200%;
}

/* Адаптация под системный Bold Text через класс */
.bold-text-enabled {
    --font-weight-body: 500;
    --font-weight-heading: 700;
}

.bold-text-enabled .text-body {
    font-weight: var(--font-weight-body);
}

.bold-text-enabled .text-heading {
    font-weight: var(--font-weight-heading);
}

/* prefers-contrast: more — запасной подход */
@media (prefers-contrast: more) {
    .content {
        --font-weight-increase: 100;
    }
    .content .text {
        font-weight: calc(
            var(--font-weight-base) +
            var(--font-weight-increase)
        );
    }
}

В примере CSS показано подключение вариативного шрифта Inter Variable, CSS-переменные для управления жирностью и адаптация через prefers-contrast: more. Variable fonts позволяют увеличить font-weight на 50–100 единиц при включённом системном Bold Text без потери качества рендеринга. Для определения состояния Bold Text на клиенте можно использовать JavaScript-проверку User-Agent и класс на html-элементе.

JavaScript-детекция Bold Text на веб-странице

Так как CSS не предоставляет прямой media query для Bold Text, веб-разработчики используют JavaScript: создают невидимый элемент с известным шрифтом, измеряют его ширину, изменяют font-weight и сравнивают разницу. Если разница больше ожидаемой — вероятно, системный Bold Text активен. Этот метод используется в accessibility-библиотеках для автоматической подстройки стилей.

Как Bold Text влияет на доступность приложений

Bold Text решает конкретные проблемы пользователей с нарушениями зрения: повышает различимость символов при амблиопии, снижает зрительное утомление при длительном чтении и компенсирует низкую контрастность дисплея на ярком солнце. По данным WebAIM Million (2025), 12.3% всех страниц имеют текст с недостаточной контрастностью — Bold Text может частично компенсировать этот дефект на стороне пользователя.

Для разработчика поддержка Bold Text входит в требования WCAG 2.2: критерий 1.4.1 (Use of Color) и 1.4.3 (Contrast Minimum). Приложение должно корректно отображаться при включённой системной настройке Bold Text без потери контента, наложения элементов или обрезания текста. Тестирование с включённым Bold Text обязательно при подготовке к публикации в App Store и Google Play.

Рекомендации по тестированию

При тестировании приложения с Bold Text проверяйте: все ли текстовые элементы отображаются полностью (без обрезания), не дублируется ли жирность (double-bold), корректно ли пересчитываются высоты ячеек в таблицах, не сдвигаются ли элементы относительно друг друга. Используйте Accessibility Inspector (Xcode) или Accessibility Scanner (Android) для автоматического выявления проблем с Bold Text.

  • Xcode Accessibility Inspector — аудит шрифтов с симуляцией Bold Text режима
  • Android Accessibility Scanner — проверка contrast ratio и font-weight дублирования
  • UI Testing — скриншотные тесты с включённым и выключенным Bold Text
  • Dynamic Type testing — сочетание Bold Text + увеличенный шрифт

Будущее Bold Text в мобильных платформах

Современные iOS и Android развивают Bold Text в сторону более тонкой настройки: iOS 18 (2024) добавила пер-приложение настройки шрифтов, включая жирность, а Android 16 (2025) расширил API font_weight_adjustment для разработчиков. Ожидается, что будущие версии предоставят веб-разработчикам CSS media query для Bold Text, устранив необходимость JS-детекции.

Часто задаваемые вопросы

Что такое Bold Text в iOS и где его включить?

Bold Text в iOS — accessibility-функция, заменяющая системный шрифт на жирный во всех элементах интерфейса. Включается в Settings > Display & Brightness > Bold Text. После включения требуется перезагрузка iPhone. Функция влияет на системные и сторонние приложения, использующие стандартный шрифт San Francisco.

Как проверить Bold Text в коде iOS-приложения?

Для проверки Bold Text в iOS используйте статическое свойство UIAccessibility.isBoldTextEnabled, возвращающее Bool. Для отслеживания изменений подпишитесь на уведомление UIAccessibility.boldTextStatusDidChangeNotification. При изменении обновите шрифты в UI — вызовите reloadData() для таблиц и invalidateIntrinsicContentSize() для кастомных вью.

Есть ли Bold Text в Android?

В Android аналог Bold Text называется «Улучшенная читаемость» и находится в Настройках > Специальные возможности > Текст > Улучшенная читаемость. На устройствах Samsung One UI функция называется «Высококонтрастный текст». Настройка изменяет системный Typeface, утолщая шрифт во всех элементах интерфейса и сторонних приложениях.

Как CSS font-weight связан с Bold Text?

CSS font-weight — свойство веб-страниц, управляющее насыщенностью шрифта (normal = 400, bold = 700). Системный Bold Text не передаётся в CSS напрямую — нет media query для этого сигнала. Веб-разработчики используют JavaScript-детекцию через измерение ширины шрифта или CSS-функцию prefers-contrast: more как косвенный заменитель.

Почему Bold Text важен для доступности?

Bold Text улучшает читаемость для людей с амблиопией, пресбиопией и дислексией. Жирный шрифт увеличивает контраст символов на экране без изменения размера текста. Функция компенсирует низкую контрастность дисплея на солнце и снижает зрительное утомление при длительном чтении. Bold Text входит в рекомендации WCAG 2.2 по обеспечению доступности.

Итоги

  • Bold Text — системная accessibility-функция iOS и Android, заменяющая шрифт на жирный для улучшения читаемости
  • iOS Bold Text включается в Settings > Display & Brightness с обязательной перезагрузкой устройства
  • Android аналог — «Улучшенная читаемость» в разделе «Специальные возможности»
  • Проверка в Swift — UIAccessibility.isBoldTextEnabled, в Kotlin — Settings.System font_weight_adjustment
  • CSS не имеет прямой media query для Bold Text — используется JS-детекция или prefers-contrast
  • Разработчику нужно тестировать UI с Bold Text: проверять double-bold, обрезание текста, layout таблиц
  • Variable Fonts позволяют плавно регулировать font-weight в диапазоне 100–900 через одну CSS-переменную

Мы разработаем мобильное приложение под ключ

IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.

Обсудить проект

Читайте также