Bold Text — オペレーティングシステムのすべてのインターフェース要素で標準のフォントウェイトを太字に置き換えるアクセシビリティ機能です。iOSでは、設定はSettings > Display & Brightness > Bold Textにあり、適用するにはデバイスの再起動が必要です。Androidでは、同等の機能はバージョンに応じて「Improve Readability」または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は太さのみに影響します。フォントを拡大すると、画面の容量が低下します(1画面に収まるコンテンツが減る)が、Bold Textは表示要素の数を維持します。初期段階の老視のユーザーにとっては、テキストを拡大しなくてもBold Textで十分なことがよくあります。
| パラメータ | Bold Text | フォント拡大 |
|---|---|---|
| 太さを変更する | はい | いいえ |
| サイズを変更する | いいえ | はい |
| 画面容量に影響する | 最小限 | 大幅 |
| 再起動が必要(iOS) | はい | いいえ |
| ウェブサポート(CSS) | font-weight: bold | font-size |
Bold Textの主な対象者は、弱視(メガネで矯正できない低視力)、老視(40–45歳以降の加齢による遠視)、および特定の形態の失読症を持つ人々です。この機能は、明るい日光の下での読書にも役立ちます—太字テキストはぎらつきの中でもコントラストを維持します。VoiceOverやTalkBackなどの支援技術は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で確認できます。
開発者は、デバイスで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変更の購読(通知)
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効果を防ぎます。
Bold TextはUITableViewおよびUICollectionViewのセルのレイアウトに影響します。フォントの太さが増すと行の高さが変わる可能性があるためです。自動サイズ調整セル(estimatedRowHeight + UITableView.automaticDimension)を使用する場合、iOSはフォントが変わると自動的に高さを再計算します。固定セルの高さの場合は、boldTextStatusDidChangeNotificationを受け取った後に開発者がreloadData()を呼び出す必要があります。そうしないと、テキストが切れる可能性があります。
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には、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を読み取り、Jetpack ComposeでFontWeightを適応させ、XML Viewで重複するfakeBoldを削除します。iOSとは異なり、Androidは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に直接影響しません—ウェブブラウザはCSSレベルで有効なBold Textに関するシステムシグナルを受け取りません。ただし、プラットフォームがサポートしている場合、開発者はCSSメディア機能を使用できます。
iOSの場合、Safariは-webkit-text-size-adjustメディア機能をサポートしていますが、Bold Textの直接のメディアクエリはありません。Androidでは、Chromeもシステムの太字テキスト設定のメディアクエリを提供していません。ウェブ開発者は、適応にprefers-contrastとprefers-reduced-motionを使用し、太字テキストについてはUser-Agentまたはフォールバックスタイルを通じて設定を確認することをお勧めします。
可変フォント(OpenType Font Variations)を使用すると、1単位刻みで1–999の範囲のCSS font-weightを通じてフォントの太さをシームレスに調整できます。離散値(400、700)のみが利用可能な標準フォントとは異なり、可変フォントを使用すると、各ユーザーに最適なウェイトを選択できます。アクセシビリティ設定では、より広い範囲を使用できます。
/* シームレスな太さ調整が可能な可変フォント */
@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要素にクラスを追加できます。
CSSはBold Textの直接のメディアクエリを提供しないため、ウェブ開発者はJavaScriptを使用します。既知のフォントで不可視の要素を作成し、その幅を測定し、font-weightを変更して差を比較します。差が予想よりも大きい場合、システムの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の問題を自動的に検出します。
現代のiOSとAndroidは、Bold Textをより細かい制御へと進化させています。iOS 18(2024)はアプリごとのフォント設定(太字ウェイトを含む)を追加し、Android 16(2025)は開発者向けにfont_weight_adjustment APIを拡張しました。将来のバージョンでは、Bold Text用のCSSメディアクエリが提供され、JavaScriptによる検出の必要性がなくなることが期待されています。
よくある質問
Bold TextはiOSのアクセシビリティ機能で、すべてのインターフェース要素のシステムフォントを太字に置き換えます。Settings > Display & Brightness > Bold Textで有効にできます。有効にした後は、iPhoneの再起動が必要です。この機能は、標準のSan Franciscoフォントを使用するシステムアプリとサードパーティアプリに影響します。
iOSでBold Textを確認するには、静的なプロパティUIAccessibility.isBoldTextEnabledを使用します。これはBoolを返します。変更を追跡するには、UIAccessibility.boldTextStatusDidChangeNotificationを購読します。ステータスが変更されたら、テーブルのreloadData()、カスタムビューのinvalidateIntrinsicContentSize()を呼び出してUIのフォントを更新します。
Androidでは、Bold Textの相当機能は「Improve Readability」と呼ばれ、Settings > Accessibility > Text > Improve Readabilityにあります。Samsung One UIデバイスでは、この機能は「High Contrast Text」と呼ばれています。この設定はシステムのTypefaceを変更し、すべてのインターフェース要素とサードパーティアプリのフォントを太くします。
CSS font-weightはウェブページのプロパティで、フォントの太さ(normal = 400、bold = 700)を制御します。システムのBold TextはCSSに直接渡されません—このシグナルのメディアクエリはありません。ウェブ開発者は、フォント幅の測定によるJavaScript検出、または間接的な代替としてCSS prefers-contrast: more関数を使用します。
Bold Textは、弱視、老視、失読症の人々の読みやすさを向上させます。太字フォントはテキストサイズを変更せずに画面上の文字のコントラストを高めます。この機能は、日光の下でのディスプレイの低コントラストを補い、長時間の読書による視覚疲労を軽減します。Bold TextはWCAG 2.2のアクセシビリティ推奨事項の一部です。
まとめ
ターンキー方式のモバイルアプリケーションを開発します
IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。