Bold Text — функция за достъпност, която заменя стандартния вид на шрифта с удебелен във всички елементи на интерфейса на операционната система. В 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 показват, че удебеляването повишава точността на четене с 12–18% при потребители с увредено зрение в сравнение с обикновен шрифт със същия размер. 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 е една от най-старите функции за достъпност, появила се в 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 е активен на устройството и да адаптира интерфейса. Например, ако заглавията на таблица вече използват удебеляване, при активна функция може да се наложи намаляване на дебелината за избягване на визуален шум. Кодът за проверка използва рамката 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() {
// Актуализиране на интерфейса при промяна на Bold Text
updateFonts()
}Класът BoldTextManager проверява isBoldTextEnabled, адаптира теглото на шрифта (намалява heavy/bold до semibold/medium, когато функцията е активна) и се абонира за известието boldTextStatusDidChangeNotification. Това предотвратява ефекта double-bold, когато разработчикът вече използва удебеляване за заглавия, а системата ги прави още по-дебели.
Bold Text влияе на оформлението на клетките на 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 няма директен API еквивалент на UIAccessibility.isBoldTextEnabled. Проверката се извършва чрез 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 не предоставя канал за известия за промяна на Bold Text — разработчикът проверява настройката при стартиране на Activity или чрез ContentObserver.
За проследяване на промени на Bold Text по време на изпълнение, Android разработчикът може да използва ContentObserver. При промяна на настройката font_weight_adjustment системата уведомява ContentResolver и приложението може да актуализира интерфейса. Това е важно за 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 предоставят възможност за избор на оптимална дебелина за всеки потребител. При настройки за достъпност може да се използва по-широк диапазон.
/* Вариативен шрифт с плавно регулиране на дебелината */
@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 е активен. Този метод се използва в библиотеки за достъпност за автоматично настройване на стилове.
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 — функция за достъпност, която заменя системния шрифт с удебелен във всички елементи на интерфейса. Включва се в Settings > Display & Brightness > Bold Text. След включване се изисква рестартиране на iPhone. Функцията влияе на системни приложения и приложения на трети страни, които използват стандартния шрифт San Francisco.
За проверка на Bold Text в iOS използвайте статичното свойство UIAccessibility.isBoldTextEnabled, което връща Bool. За проследяване на промени се абонирайте за известието UIAccessibility.boldTextStatusDidChangeNotification. При промяна актуализирайте шрифтовете в интерфейса — извикайте 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 г. Ще ви консултираме и ще предложим най-доброто решение.
Прочетете също