Bold Text в мобилните приложения: какво е това, настройка на удебелен текст

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

Bold Text — функция за достъпност, която заменя стандартния вид на шрифта с удебелен във всички елементи на интерфейса на операционната система. В iOS настройката се намира в Settings > Display & Brightness > Bold Text и изисква рестартиране на устройството за прилагане. В Android аналогичната функция се нарича „Подобрена четливост“ или High Contrast Text в зависимост от версията. Според данни на W3C WAI, удебеленият текст повишава четливостта с 20–25% за хора с увредено зрение.

Основни точки

  • Bold Text — системна функция за достъпност, която заменя шрифта с удебелен във всички елементи на интерфейса на ОС
  • iOS включва Bold Text в Settings > Display & Brightness със задължително рестартиране на устройството
  • Android предлага настройката „Подобрена четливост“ в раздела „Достъпност“
  • CSS font-weight — уеб свойство, което управлява дебелината на шрифта: bold = 700, normal = 400
  • Достъпност Bold Text помага на хора с амблиопия, пресбиопия и дислексия

Какво е Bold Text в достъпността?

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

Функцията принадлежи към категорията display accommodations — настройки на екрана, които помагат на хора с увредено зрение да възприемат информацията по-удобно. Bold Text е особено ефективен при ниска зрителна острота (амблиопия), свързано с възрастта далекогледство (пресбиопия) и някои форми на дислексия, при които буквите се „удвояват“ или „плават“ при стандартна дебелина.

Удебеленият шрифт повишава readability — скоростта и точността на разпознаване на отделни знаци. Изследвания на Usability.gov показват, че удебеляването повишава точността на четене с 12–18% при потребители с увредено зрение в сравнение с обикновен шрифт със същия размер. 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 е една от най-старите функции за достъпност, появила се в iOS 7 (2013). Настройката се намира в Settings > Display & Brightness > Bold Text и изисква рестартиране на iPhone: системата преизгражда всички шрифтове в системните приложения (Settings, Mail, Messages, Calendar, Notes) и приложения на трети страни, които използват системния шрифт San Francisco.

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

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

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

Разработчикът може да провери дали Bold Text е активен на устройството и да адаптира интерфейса. Например, ако заглавията на таблица вече използват удебеляване, при активна функция може да се наложи намаляване на дебелината за избягване на визуален шум. Кодът за проверка използва рамката 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() {
    // Актуализиране на интерфейса при промяна на Bold Text
    updateFonts()
}

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

Влияние върху UITableView и UICollectionView

Bold Text влияе на оформлението на клетките на 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 няма директен API еквивалент на UIAccessibility.isBoldTextEnabled. Проверката се извършва чрез 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 не предоставя канал за известия за промяна на Bold Text — разработчикът проверява настройката при стартиране на Activity или чрез ContentObserver.

ContentObserver за проследяване на промени

За проследяване на промени на Bold Text по време на изпълнение, Android разработчикът може да използва ContentObserver. При промяна на настройката font_weight_adjustment системата уведомява ContentResolver и приложението може да актуализира интерфейса. Това е важно за 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 предоставят възможност за избор на оптимална дебелина за всеки потребител. При настройки за достъпност може да се използва по-широк диапазон.

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 е активен. Този метод се използва в библиотеки за достъпност за автоматично настройване на стилове.

Как 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 — функция за достъпност, която заменя системния шрифт с удебелен във всички елементи на интерфейса. Включва се в Settings > Display & Brightness > Bold Text. След включване се изисква рестартиране на iPhone. Функцията влияе на системни приложения и приложения на трети страни, които използват стандартния шрифт San Francisco.

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

За проверка на Bold Text в iOS използвайте статичното свойство UIAccessibility.isBoldTextEnabled, което връща Bool. За проследяване на промени се абонирайте за известието UIAccessibility.boldTextStatusDidChangeNotification. При промяна актуализирайте шрифтовете в интерфейса — извикайте 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 — системна функция за достъпност на 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
  • Разработчикът трябва да тества интерфейса с Bold Text: проверка на double-bold, отрязване на текст, оформление на таблици
  • Variable Fonts позволяват плавно регулиране на font-weight в диапазон 100–900 чрез една CSS променлива

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

IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.

Обсъдете проекта

Прочетете също