Bold Text در برنامه‌های موبایل: چیست، تنظیم متن ضخیم

نویسنده: IT Sectr منتشر شده: 2026-05-16 زمان مطالعه: 12 دقیقه

Bold Text — یک ویژگی دسترسی‌پذیری است که ظاهر استاندارد فونت را در تمام عناصر رابط سیستم‌عامل به ضخیم تغییر می‌دهد. در iOS، تنظیمات در Settings > Display & Brightness > Bold Text قرار دارد و برای اعمال نیاز به راه‌اندازی مجدد دستگاه دارد. در Android، عملکرد مشابه «خوانایی بهبودیافته» یا High Contrast Text نامیده می‌شود. بر اساس داده‌های W3C WAI، متن ضخیم خوانایی را برای افراد با اختلالات بینایی ۲۰–۲۵٪ افزایش می‌دهد.

نکات اصلی

  • Bold Text — ویژگی دسترسی‌پذیری سیستمی که فونت را در تمام عناصر رابط سیستم‌عامل به ضخیم تغییر می‌دهد
  • iOS Bold Text را در Settings > Display & Brightness با راه‌اندازی مجدد اجباری فعال می‌کند
  • Android تنظیم «خوانایی بهبودیافته» را در بخش «دسترسی‌پذیری» ارائه می‌دهد
  • CSS font-weight — ویژگی وب که ضخامت فونت را کنترل می‌کند: bold = ۷۰۰، normal = ۴۰۰
  • دسترسی‌پذیری Bold Text به افراد با آمبلیوپی، پیرچشمی و دیسلکسی کمک می‌کند

Bold Text در دسترسی‌پذیری چیست؟

Bold Text یک تنظیم سیستم‌عامل است که استفاده از فونت ضخیم را برای تمام عناصر متنی رابط به جای استاندارد (regular یا normal) تجویز می‌کند. برخلاف افزایش ساده اندازه فونت، Bold Text مقیاس را تغییر نمی‌دهد — ضخامت خطوط حروف را افزایش می‌دهد و آنها را در زمینه پررنگ‌تر و متضادتر می‌کند.

این ویژگی به دسته display accommodations — تنظیمات صفحه که به افراد با اختلالات بینایی کمک می‌کند اطلاعات را راحت‌تر درک کنند — تعلق دارد. Bold Text به ویژه در کاهش حدت بینایی (آمبلیوپی)، دوربینی پیری (پیرچشمی) و برخی اشکال دیسلکسی که در آنها حروف با ضخامت استاندارد «دوتایی» یا «شناور» به نظر می‌رسند، مؤثر است.

فونت ضخیم readability — سرعت و دقت تشخیص حروف فردی را افزایش می‌دهد. تحقیقات Usability.gov نشان می‌دهد که ضخامت bold دقت خواندن را در کاربران با اختلالات بینایی در مقایسه با فونت معمولی هم‌اندازه ۱۲–۱۸٪ افزایش می‌دهد. 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 — افراد با آمبلیوپی (کاهش حدت بینایی قابل اصلاح با عینک)، پیرچشمی (دوربینی پیری بعد از ۴۰–۴۵ سال) و برخی اشکال دیسلکسی هستند. این ویژگی همچنین هنگام خواندن در آفتاب روشن مفید است — فونت ضخیم کنتراست را در تابش نور حفظ می‌کند. فناوری‌های کمکی مانند VoiceOver و TalkBack مستقل از Bold Text کار می‌کنند — تنظیم فقط بر نمایش بصری تأثیر می‌گذارد.

Bold Text در iOS: تنظیمات و نحوه کار

در iOS، Bold Text یکی از قدیمی‌ترین ویژگی‌های دسترسی‌پذیری است که در iOS 7 (۲۰۱۳) ظاهر شد. تنظیمات در 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 جایگزین می‌کند. پس از فعال‌سازی Bold Text، تمام خطوط روی صفحه — از عنوان‌های ناوبری تا متن دکمه‌ها — با font-weight ۷۰۰ به جای ۴۰۰ نمایش داده می‌شوند. توسعه‌دهنده نمی‌تواند این رفتار را برای عناصر سیستمی لغو کند، اما می‌تواند فونت‌ها را در رابط کاربری خود از طریق Dynamic Type مدیریت کند.

برای توسعه‌دهنده، Bold Text فعال به این معنی است که تمام UIFont با textStyle (.body, .headline, .caption و غیره) به طور خودکار ضخیم می‌شوند. UIFontWeight در دو نسخه وجود دارد: regular (۰.۰) و bold (۱.۰). با Bold Text فعال، سیستم fontWeight را برای هر سبک ۰.۳–۰.۵ افزایش می‌دهد. وضعیت را می‌توان از طریق 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 بر layout سلول‌های UITableView و UICollectionView تأثیر می‌گذارد، زیرا افزایش ضخامت فونت می‌تواند ارتفاع خط را تغییر دهد. هنگام استفاده از self-sizing cells (estimatedRowHeight + UITableView.automaticDimension) iOS به طور خودکار ارتفاع را هنگام تغییر فونت دوباره محاسبه می‌کند. برای ارتفاع‌های ثابت سلول، توسعه‌دهنده باید پس از دریافت اعلان boldTextStatusDidChangeNotification، reloadData() را فراخوانی کند، در غیر این صورت متن ممکن است بریده شود.

خوانایی بهبودیافته در 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 با مقادیر ۱۰۰ (Thin) تا ۹۰۰ (Black) کنترل می‌شود. مقادیر استاندارد: normal = ۴۰۰، bold = ۷۰۰. Bold Text در سیستم‌عامل مستقیماً بر CSS font-weight تأثیر نمی‌گذارد — مرورگرهای وب سیگنال سیستمی درباره Bold Text فعال در سطح CSS دریافت نمی‌کنند. با این حال، توسعه‌دهنده می‌تواند از تابع media CSS استفاده کند اگر پلتفرم از آن پشتیبانی کند.

برای iOS، Safari از تابع media -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 در محدوده ۱–۹۹۹ با گام ۱ واحد فراهم می‌کنند. برخلاف فونت‌های استاندارد که فقط مقادیر گسسته (۴۰۰، ۷۰۰) در دسترس هستند، 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 به میزان ۵۰–۱۰۰ واحد را با Bold Text سیستمی فعال بدون افت کیفیت رندر فراهم می‌کنند. برای تعیین وضعیت Bold Text در سمت کلاینت می‌توان از بررسی JavaScript User-Agent و کلاس روی عنصر html استفاده کرد.

تشخیص Bold Text با JavaScript در صفحه وب

از آنجا که CSS media query مستقیم برای Bold Text ارائه نمی‌دهد، توسعه‌دهندگان وب از JavaScript استفاده می‌کنند: یک عنصر نامرئی با فونت شناخته شده ایجاد می‌کنند، عرض آن را اندازه‌گیری می‌کنند، font-weight را تغییر می‌دهند و تفاوت را مقایسه می‌کنند. اگر تفاوت بیشتر از حد انتظار باشد — احتمالاً Bold Text سیستمی فعال است. این روش در کتابخانه‌های دسترسی‌پذیری برای تنظیم خودکار استایل‌ها استفاده می‌شود.

تأثیر Bold Text بر دسترسی‌پذیری برنامه‌ها

Bold Text مشکلات خاص کاربران با اختلالات بینایی را حل می‌کند: تمایز نمادها را در آمبلیوپی افزایش می‌دهد، خستگی چشم را در خواندن طولانی کاهش می‌دهد و کنتراست پایین نمایشگر را در آفتاب روشن جبران می‌کند. بر اساس WebAIM Million (۲۰۲۵)، ۱۲.۳٪ از تمام صفحات متنی با کنتراست ناکافی دارند — Bold Text می‌تواند این نقص را در سمت کاربر جبران کند.

برای توسعه‌دهنده، پشتیبانی از Bold Text در الزامات WCAG ۲.۲ وارد می‌شود: معیار ۱.۴.۱ (Use of Color) و ۱.۴.۳ (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 ۱۸ (۲۰۲۴) تنظیمات فونت به تفکیک برنامه از جمله ضخامت را اضافه کرد و Android ۱۶ (۲۰۲۵) API font_weight_adjustment را برای توسعه‌دهندگان گسترش داد. انتظار می‌رود نسخه‌های آینده media query CSS برای Bold Text در اختیار توسعه‌دهندگان وب قرار دهند و نیاز به JS-detection را برطرف کنند.

سوالات متداول

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 = ۴۰۰، bold = ۷۰۰). Bold Text سیستمی مستقیماً به CSS منتقل نمی‌شود — هیچ media query برای این سیگنال وجود ندارد. توسعه‌دهندگان وب از تشخیص JavaScript از طریق اندازه‌گیری عرض فونت یا تابع CSS prefers-contrast: more به عنوان جایگزین غیرمستقیم استفاده می‌کنند.

چرا Bold Text برای دسترسی‌پذیری مهم است؟

Bold Text خوانایی را برای افراد با آمبلیوپی، پیرچشمی و دیسلکسی بهبود می‌بخشد. فونت ضخیم کنتراست نمادها را روی صفحه بدون تغییر اندازه متن افزایش می‌دهد. این ویژگی کنتراست پایین نمایشگر را در آفتاب جبران می‌کند و خستگی چشم را در خواندن طولانی کاهش می‌دهد. Bold Text در توصیه‌های WCAG ۲.۲ برای تضمین دسترسی‌پذیری گنجانده شده است.

خلاصه

  • 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-detection یا prefers-contrast استفاده می‌شود
  • توسعه‌دهنده باید UI را با Bold Text آزمایش کند: double-bold، بریدگی متن، layout جداول
  • Variable Fonts امکان تنظیم روان font-weight در محدوده ۱۰۰–۹۰۰ را از طریق یک متغیر CSS فراهم می‌کنند

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید