モバイルアプリのBold Text: 概要と太字テキストの設定方法

著者: IT Sectr 公開日: 2026-05-16 読了時間: 12 分

Bold Text — オペレーティングシステムのすべてのインターフェース要素で標準のフォントウェイトを太字に置き換えるアクセシビリティ機能です。iOSでは、設定はSettings > Display & Brightness > Bold Textにあり、適用するにはデバイスの再起動が必要です。Androidでは、同等の機能はバージョンに応じて「Improve Readability」またはHigh Contrast Textと呼ばれています。W3C WAIによると、太字テキストは視覚障がい者の読みやすさを20–25%向上させます。

重要なポイント

  • Bold Text — OSのすべてのインターフェース要素でテキストを太字にするシステムアクセシビリティ機能
  • iOSはSettings > Display & BrightnessでBold Textを有効にし、デバイスの再起動が必須
  • Androidはアクセシビリティセクションで「Improve Readability」設定を提供
  • 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は太さのみに影響します。フォントを拡大すると、画面の容量が低下します(1画面に収まるコンテンツが減る)が、Bold Textは表示要素の数を維持します。初期段階の老視のユーザーにとっては、テキストを拡大しなくてもBold Textで十分なことがよくあります。

パラメータBold Textフォント拡大
太さを変更するはいいいえ
サイズを変更するいいえはい
画面容量に影響する最小限大幅
再起動が必要(iOS)はいいいえ
ウェブサポート(CSS)font-weight: boldfont-size

誰にBold Textが必要か

Bold Textの主な対象者は、弱視(メガネで矯正できない低視力)、老視(40–45歳以降の加齢による遠視)、および特定の形態の失読症を持つ人々です。この機能は、明るい日光の下での読書にも役立ちます—太字テキストはぎらつきの中でもコントラストを維持します。VoiceOverやTalkBackなどの支援技術はBold Textとは独立して動作します—この設定は視覚表示にのみ影響します。

iOSのBold Text: 設定と動作原理

iOSでは、Bold Textは最も古いアクセシビリティ機能の1つであり、iOS 7(2013)で導入されました。設定はSettings > Display & Brightness > Bold Textにあり、iPhoneの再起動が必要です。システムは、システムアプリ(Settings、Mail、Messages、Calendar、Notes)およびシステムフォントSan Franciscoを使用するサードパーティアプリのすべてのフォントを再構築します。

技術的には、iOSはCoreTextフレームワークレベルでシステムフォントファイルSan FranciscoをそのBoldバリアント(SF Pro Bold / SF Pro Rounded Bold)に置き換えます。Bold Textを有効にすると、画面上のすべてのテキスト—ナビゲーションヘッダーからボタンラベルまで—がfont-weight 700(通常は400)で表示されます。開発者はシステム要素のこの動作をオーバーライドできませんが、Dynamic Typeを通じて独自のUIのフォントを管理できます。

開発者にとって、Bold Textが有効な場合、textStyle(.body、.headline、.captionなど)を持つすべてのUIFontインスタンスは自動的に太字ウェイトを受け取ります。UIFontWeightにはregular(0.0)とbold(1.0)の2つのバリアントがあります。Bold Textがアクティブな場合、システムは各スタイルのfontWeightを0.3–0.5増加させます。ステータスはUIAccessibility.isBoldTextEnabledで確認できます。

iOSアプリでのBold Textの確認

開発者は、デバイスで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変更の購読(通知)
NotificationCenter.default.addObserver(
    self,
    selector: #selector(boldTextStatusChanged),
    name: UIAccessibility.boldTextStatusDidChangeNotification,
    object: nil
)

@objc func boldTextStatusChanged() {
    // Bold Text変更時にUIを更新
    updateFonts()
}

BoldTextManagerクラスはisBoldTextEnabledを確認し、フォントウェイトを適応させ(機能がアクティブな場合、heavy/boldをsemibold/mediumに減らし)、boldTextStatusDidChangeNotificationを購読します。これにより、開発者がすでに見出しに太字を使用しているのに、システムがさらに太くしてしまうdouble-bold効果を防ぎます。

UITableViewとUICollectionViewへの影響

Bold TextはUITableViewおよびUICollectionViewのセルのレイアウトに影響します。フォントの太さが増すと行の高さが変わる可能性があるためです。自動サイズ調整セル(estimatedRowHeight + UITableView.automaticDimension)を使用する場合、iOSはフォントが変わると自動的に高さを再計算します。固定セルの高さの場合は、boldTextStatusDidChangeNotificationを受け取った後に開発者がreloadData()を呼び出す必要があります。そうしないと、テキストが切れる可能性があります。

AndroidのImprove Readability: Bold Textの相当機能

Androidでは、Bold Text機能は設定インターフェースで「Improve Readability」と呼ばれ、アクセシビリティセクションにあります。一部のAndroidバージョン、特にSamsung One UIデバイスでは、この機能は「High Contrast Text」と呼ばれています。この設定は、すべてのシステム要素とほとんどのサードパーティアプリケーションに適用されます。

Androidの技術的実装はiOSとは異なります。システムフォントを置き換える代わりに、AndroidはResources.Themeを通じてシステムレベルでTypefaceをオーバーライドします。設定が有効になると、システムはすべてのテキスト要素のandroid:textStyle属性を変更し、boldまたはitalic+boldを設定します。開発者はSettings.Global.getFloat()またはAccessibilityManagerでステータスを確認できます。

AndroidアプリでのBold Textの確認

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を読み取り、Jetpack ComposeでFontWeightを適応させ、XML Viewで重複するfakeBoldを削除します。iOSとは異なり、Androidは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に直接影響しません—ウェブブラウザはCSSレベルで有効なBold Textに関するシステムシグナルを受け取りません。ただし、プラットフォームがサポートしている場合、開発者はCSSメディア機能を使用できます。

iOSの場合、Safariは-webkit-text-size-adjustメディア機能をサポートしていますが、Bold Textの直接のメディアクエリはありません。Androidでは、Chromeもシステムの太字テキスト設定のメディアクエリを提供していません。ウェブ開発者は、適応にprefers-contrastとprefers-reduced-motionを使用し、太字テキストについてはUser-Agentまたはフォールバックスタイルを通じて設定を確認することをお勧めします。

可変フォント(Variable Fonts)の使用

可変フォント(OpenType Font Variations)を使用すると、1単位刻みで1–999の範囲のCSS font-weightを通じてフォントの太さをシームレスに調整できます。離散値(400、700)のみが利用可能な標準フォントとは異なり、可変フォントを使用すると、各ユーザーに最適なウェイトを選択できます。アクセシビリティ設定では、より広い範囲を使用できます。

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による適応を示しています。可変フォントを使用すると、レンダリング品質を損なうことなく、システムのBold Textが有効な場合にfont-weightを50–100単位増やすことができます。クライアントでBold Textのステータスを検出するには、JavaScriptでUser-Agentを確認し、html要素にクラスを追加できます。

ウェブページでのJavaScriptによるBold Textの検出

CSSは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(色の使用)と1.4.3(最低コントラスト)です。アプリは、システムのBold Text設定が有効な場合でも、コンテンツの損失、要素の重なり、テキストの切れなしに正しく表示される必要があります。App StoreおよびGoogle Playへの公開準備時には、Bold Textを有効にしたテストが必須です。

テストの推奨事項

Bold Textを使用したアプリのテストでは、以下を確認してください。すべてのテキスト要素が完全に表示されているか(切れなし)、太字が二重になっていないか(double-bold)、テーブルのセルの高さが正しく再計算されているか、要素が互いにずれていないか。Accessibility Inspector(Xcode)またはAccessibility Scanner(Android)を使用して、Bold Textの問題を自動的に検出します。

  • Xcode Accessibility Inspector — Bold Textモードシミュレーションを使用したフォント監査
  • Android Accessibility Scanner — コントラスト比とfont-weightの重複チェック
  • UIテスト — Bold Text有効時と無効時のスクリーンショットテスト
  • Dynamic Typeテスト — Bold Text + 拡大フォントの組み合わせ

モバイルプラットフォームにおけるBold Textの将来

現代のiOSAndroidは、Bold Textをより細かい制御へと進化させています。iOS 18(2024)はアプリごとのフォント設定(太字ウェイトを含む)を追加し、Android 16(2025)は開発者向けにfont_weight_adjustment APIを拡張しました。将来のバージョンでは、Bold Text用のCSSメディアクエリが提供され、JavaScriptによる検出の必要性がなくなることが期待されています。

よくある質問

iOSのBold Textとは何ですか?どこで有効にできますか?

Bold TextはiOSのアクセシビリティ機能で、すべてのインターフェース要素のシステムフォントを太字に置き換えます。Settings > Display & Brightness > Bold Textで有効にできます。有効にした後は、iPhoneの再起動が必要です。この機能は、標準のSan Franciscoフォントを使用するシステムアプリとサードパーティアプリに影響します。

iOSアプリのコードでBold Textを確認するには?

iOSでBold Textを確認するには、静的なプロパティUIAccessibility.isBoldTextEnabledを使用します。これはBoolを返します。変更を追跡するには、UIAccessibility.boldTextStatusDidChangeNotificationを購読します。ステータスが変更されたら、テーブルのreloadData()、カスタムビューのinvalidateIntrinsicContentSize()を呼び出してUIのフォントを更新します。

AndroidにBold Textの相当機能はありますか?

Androidでは、Bold Textの相当機能は「Improve Readability」と呼ばれ、Settings > Accessibility > Text > Improve Readabilityにあります。Samsung One UIデバイスでは、この機能は「High Contrast Text」と呼ばれています。この設定はシステムのTypefaceを変更し、すべてのインターフェース要素とサードパーティアプリのフォントを太くします。

CSS font-weightとBold Textの関係は?

CSS font-weightはウェブページのプロパティで、フォントの太さ(normal = 400、bold = 700)を制御します。システムのBold TextはCSSに直接渡されません—このシグナルのメディアクエリはありません。ウェブ開発者は、フォント幅の測定による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の相当機能 — アクセシビリティセクションの「Improve Readability」
  • 確認 SwiftではUIAccessibility.isBoldTextEnabled、KotlinではSettings.System font_weight_adjustment
  • CSSにはBold Textの直接のメディアクエリがない — JS検出またはprefers-contrastを使用
  • 開発者はBold TextでUIをテストすべき: double-bold、テキストの切れ、テーブルレイアウトを確認
  • 可変フォントを使用すると、1つのCSSプロパティでfont-weightを100から900までシームレスに調整できる

ターンキー方式のモバイルアプリケーションを開発します

IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。

プロジェクトについて相談

こちらもお読みください