Bold Text — accessibility-функция, которая заменяет стандартное начертание шрифта на жирное во всех элементах интерфейса операционной системы. В iOS настройка находится в Settings > Display & Brightness > Bold Text и требует перезагрузки устройства для применения. В Android аналогичная функция называется «Улучшенная читаемость» или High Contrast Text в зависимости от версии. По данным W3C WAI, жирный текст повышает читаемость на 20–25% для людей с нарушениями зрения.
Главное
Bold Text — это системная настройка операционных систем, которая предписывает использовать жирное начертание шрифта для всех текстовых элементов интерфейса вместо стандартного (regular или normal). В отличие от простого увеличения размера шрифта, Bold Text не меняет масштаб — он увеличивает толщину линий букв, делая их более насыщенными и контрастными на фоне.
Функция относится к категории display accommodations — настроек экрана, помогающих людям с нарушениями зрения комфортнее воспринимать информацию. Bold Text особенно эффективен при низкой остроте зрения (амблиопия), возрастной дальнозоркости (пресбиопия) и некоторых формах дислексии, при которых буквы «двоятся» или «плывут» при стандартной толщине.
Жирный шрифт увеличивает readability — скорость и точность распознавания отдельных символов. Исследования Usability.gov показывают, что bold-начертание повышает точность чтения на 12–18% у пользователей с нарушениями зрения по сравнению с regular-шрифтом того же кегля. При этом Bold Text не заменяет увеличение текста — обе функции можно комбинировать.
Ключевое отличие Bold Text от Dynamic Type (iOS) или Font Size (Android) — механизм воздействия. Увеличение шрифта изменяет размер букв, Bold Text — только толщину. При увеличении шрифта страдает вместимость экрана (на один экран помещается меньше контента), Bold Text сохраняет количество видимых элементов. Для пользователей с пресбиопией на ранних стадиях Bold Text часто оказывается достаточным без увеличения текста.
| Параметр | Bold Text | Увеличение шрифта |
|---|---|---|
| Изменяет толщину | Да | Нет |
| Изменяет размер | Нет | Да |
| Влияет на вместимость экрана | Минимально | Значительно |
| Требует перезагрузки (iOS) | Да | Нет |
| Поддержка в веб (CSS) | font-weight: bold | font-size |
Основная аудитория Bold Text — люди с амблиопией (снижение остроты зрения, не корректируемое очками), пресбиопией (возрастная дальнозоркость после 40–45 лет) и некоторыми формами дислексии. Функция также полезна при чтении на ярком солнце — жирный шрифт сохраняет контрастность при бликах. Вспомогательные технологии, такие как VoiceOver и TalkBack, работают с Bold Text независимо — настройка влияет только на визуальное отображение.
В 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 на устройстве, и адаптировать интерфейс. Например, если заголовки таблицы уже используют bold, при включённой функции может потребоваться уменьшить жирность, чтобы избежать визуального шума. Код проверки использует UIAccessibility фреймворка.
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 для заголовков, а система утолщает их ещё сильнее.
Bold Text влияет на layout ячеек UITableView и UICollectionView, так как увеличение толщины шрифта может изменить высоту строки. При использовании self-sizing cells (estimatedRowHeight + UITableView.automaticDimension) iOS автоматически пересчитывает высоту при изменении шрифта. Для фиксированных высот ячеек разработчику нужно вызвать reloadData() после получения уведомления boldTextStatusDidChangeNotification, иначе текст может обрезаться.
В 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.
В Android нет прямого аналогичного UIAccessibility.isBoldTextEnabled API. Проверка осуществляется через ContentResolver и Settings.System. Функция хранится в глобальных настройках как font_weight_adjustment. Для Jetpack Compose доступна через LocalDensity и fontScale.
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.
Для отслеживания изменений Bold Text в рантайме Android-разработчик может использовать ContentObserver. При изменении настройки font_weight_adjustment система уведомляет ContentResolver, и приложение может обновить UI. Это важно для AccessibilityService и кастомных лаунчеров, которые должны мгновенно реагировать на изменение настроек пользователя.
В веб-разработке насыщенность шрифта управляется 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 (OpenType Font Variations) позволяют плавно регулировать насыщенность шрифта через CSS font-weight в диапазоне 1–999 с шагом в 1 единицу. В отличие от стандартных шрифтов, где доступны только дискретные значения (400, 700), variable fonts дают возможность подобрать оптимальную толщину для каждого пользователя. При accessibility-настройках можно использовать более широкий диапазон.
/* Вариативный шрифт с плавной регулировкой толщины */
@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-элементе.
Так как CSS не предоставляет прямой media query для Bold Text, веб-разработчики используют JavaScript: создают невидимый элемент с известным шрифтом, измеряют его ширину, изменяют font-weight и сравнивают разницу. Если разница больше ожидаемой — вероятно, системный Bold Text активен. Этот метод используется в accessibility-библиотеках для автоматической подстройки стилей.
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.
Современные iOS и Android развивают Bold Text в сторону более тонкой настройки: iOS 18 (2024) добавила пер-приложение настройки шрифтов, включая жирность, а Android 16 (2025) расширил API font_weight_adjustment для разработчиков. Ожидается, что будущие версии предоставят веб-разработчикам CSS media query для Bold Text, устранив необходимость JS-детекции.
Часто задаваемые вопросы
Bold Text в iOS — accessibility-функция, заменяющая системный шрифт на жирный во всех элементах интерфейса. Включается в Settings > Display & Brightness > Bold Text. После включения требуется перезагрузка iPhone. Функция влияет на системные и сторонние приложения, использующие стандартный шрифт San Francisco.
Для проверки Bold Text в iOS используйте статическое свойство UIAccessibility.isBoldTextEnabled, возвращающее Bool. Для отслеживания изменений подпишитесь на уведомление UIAccessibility.boldTextStatusDidChangeNotification. При изменении обновите шрифты в UI — вызовите reloadData() для таблиц и invalidateIntrinsicContentSize() для кастомных вью.
В Android аналог Bold Text называется «Улучшенная читаемость» и находится в Настройках > Специальные возможности > Текст > Улучшенная читаемость. На устройствах Samsung One UI функция называется «Высококонтрастный текст». Настройка изменяет системный Typeface, утолщая шрифт во всех элементах интерфейса и сторонних приложениях.
CSS font-weight — свойство веб-страниц, управляющее насыщенностью шрифта (normal = 400, bold = 700). Системный Bold Text не передаётся в CSS напрямую — нет media query для этого сигнала. Веб-разработчики используют JavaScript-детекцию через измерение ширины шрифта или CSS-функцию prefers-contrast: more как косвенный заменитель.
Bold Text улучшает читаемость для людей с амблиопией, пресбиопией и дислексией. Жирный шрифт увеличивает контраст символов на экране без изменения размера текста. Функция компенсирует низкую контрастность дисплея на солнце и снижает зрительное утомление при длительном чтении. Bold Text входит в рекомендации WCAG 2.2 по обеспечению доступности.
Итоги
Мы разработаем мобильное приложение под ключ
IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.
Читайте также