Bold Text — una funzione di accessibilità che sostituisce il peso del carattere standard con il grassetto in tutti gli elementi dell'interfaccia del sistema operativo. Su iOS, l'impostazione si trova in Settings > Display & Brightness > Bold Text e richiede un riavvio del dispositivo per essere applicata. Su Android, la funzione equivalente si chiama “Improve Readability” o High Contrast Text a seconda della versione. Secondo W3C WAI, il testo in grassetto migliora la leggibilità del 20–25% per le persone con disabilità visive.
Punti chiave
Bold Text è un'impostazione di sistema nei sistemi operativi che impone l'uso di un peso del carattere in grassetto per tutti gli elementi di testo dell'interfaccia invece del peso standard (regular o normal). A differenza del semplice aumento della dimensione del carattere, Bold Text non cambia la scala — aumenta lo spessore dei tratti delle lettere, rendendole più ricche e contrastanti sullo sfondo.
Questa funzione appartiene alla categoria degli adattamenti del display — impostazioni dello schermo che aiutano le persone con disabilità visive a percepire le informazioni più comodamente. Bold Text è particolarmente efficace per la bassa acuità visiva (ambliopia), la presbiopia (ipermetropia legata all'età) e alcune forme di dislessia in cui le lettere appaiono doppie o sfocate con lo spessore standard.
Il testo in grassetto aumenta la leggibilità — la velocità e la precisione di riconoscimento dei singoli caratteri. Studi di Usability.gov mostrano che il carattere in grassetto migliora la precisione di lettura del 12–18% negli utenti con disabilità visive rispetto al carattere regolare dello stesso corpo. Tuttavia, Bold Text non sostituisce l'ingrandimento del testo — entrambe le funzioni possono essere combinate.
La differenza chiave tra Bold Text e Dynamic Type (iOS) o Font Size (Android) è il meccanismo d'effetto. L'ingrandimento del carattere modifica la dimensione delle lettere, mentre Bold Text influisce solo sullo spessore. Ingrandendo il carattere, la capacità dello schermo viene ridotta (meno contenuto entra in uno schermo), mentre Bold Text preserva il numero di elementi visibili. Per gli utenti con presbiopia in fase iniziale, Bold Text è spesso sufficiente senza ingrandimento del testo.
| Parametro | Bold Text | Ingrandimento carattere |
|---|---|---|
| Modifica lo spessore | Sì | No |
| Modifica la dimensione | No | Sì |
| Influisce sulla capacità dello schermo | Minimamente | Significativamente |
| Richiede riavvio (iOS) | Sì | No |
| Supporto web (CSS) | font-weight: bold | font-size |
Il pubblico principale di Bold Text include persone con ambliopia (acuità visiva ridotta non correggibile con occhiali), presbiopia (ipermetropia legata all'età dopo i 40–45 anni) e alcune forme di dislessia. La funzione è utile anche per leggere sotto luce solare intensa — il testo in grassetto mantiene il contrasto contro l'abbagliamento. Le tecnologie assistive come VoiceOver e TalkBack funzionano indipendentemente da Bold Text — l'impostazione influisce solo sulla visualizzazione.
Su iOS, Bold Text è una delle funzioni di accessibilità più antiche, introdotta in iOS 7 (2013). L'impostazione si trova in Settings > Display & Brightness > Bold Text e richiede un riavvio dell'iPhone: il sistema ricostruisce tutti i caratteri nelle applicazioni di sistema (Settings, Mail, Messages, Calendar, Notes) e nelle app di terze parti che utilizzano il carattere di sistema San Francisco.
Tecnicamente, iOS sostituisce il file del carattere di sistema San Francisco con la sua variante Bold (SF Pro Bold / SF Pro Rounded Bold) a livello del framework CoreText. Dopo aver attivato Bold Text, tutto il testo sullo schermo — dalle intestazioni di navigazione alle etichette dei pulsanti — viene visualizzato con font-weight 700 invece di 400. Uno sviluppatore non può sovrascrivere questo comportamento per gli elementi di sistema, ma può gestire i caratteri nella propria interfaccia tramite Dynamic Type.
Per gli sviluppatori, quando Bold Text è attivato, tutte le istanze UIFont con textStyle (.body, .headline, .caption e altre) ricevono automaticamente il peso grassetto. UIFontWeight esiste in due varianti: regular (0.0) e bold (1.0). Con Bold Text attivo, il sistema aumenta fontWeight di 0.3–0.5 per ogni stile. Lo stato può essere verificato tramite UIAccessibility.isBoldTextEnabled.
Uno sviluppatore può verificare se Bold Text è attivato sul dispositivo e adattare l'interfaccia di conseguenza. Ad esempio, se le intestazioni di tabella già usano il grassetto, l'attivazione della funzione può richiedere la riduzione del peso del carattere per evitare rumore visivo. La verifica utilizza il framework UIAccessibility.
import UIKit
class BoldTextManager {
// Verifica dello stato di Bold Text
static var isBoldTextEnabled: Bool {
return UIAccessibility.isBoldTextEnabled
}
// Adattamento del carattere per Bold Text
static func adjustedFont(
textStyle: UIFont.TextStyle,
weight: UIFont.Weight
) -> UIFont {
let baseFont = UIFont.preferredFont(
forTextStyle: textStyle
)
guard isBoldTextEnabled else {
return baseFont
}
// Riduzione del grassetto per evitare 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
)
}
// Carattere memorizzato nella cache con supporto Bold Text
static func labelFont() -> UIFont {
return adjustedFont(
textStyle: .body,
weight: .regular
)
}
}
// Abbonamento alle modifiche di Bold Text (Notifica)
NotificationCenter.default.addObserver(
self,
selector: #selector(boldTextStatusChanged),
name: UIAccessibility.boldTextStatusDidChangeNotification,
object: nil
)
@objc func boldTextStatusChanged() {
// Aggiornare l'interfaccia quando Bold Text cambia
updateFonts()
}La classe BoldTextManager verifica isBoldTextEnabled, adatta il peso del carattere (riduce heavy/bold a semibold/medium quando la funzione è attiva) e si abbona a boldTextStatusDidChangeNotification. Ciò previene l'effetto double-bold, in cui uno sviluppatore già usa il grassetto per i titoli e il sistema li addensa ulteriormente.
Bold Text influisce sul layout delle celle di UITableView e UICollectionView, poiché l'aumento dello spessore del carattere può modificare l'altezza delle righe. Quando si utilizzano celle a dimensionamento automatico (estimatedRowHeight + UITableView.automaticDimension), iOS ricalcola automaticamente l'altezza quando il carattere cambia. Per altezze di cella fisse, lo sviluppatore deve chiamare reloadData() dopo aver ricevuto boldTextStatusDidChangeNotification, altrimenti il testo potrebbe essere troncato.
Su Android, la funzione Bold Text si chiama “Improve Readability” nell'interfaccia delle impostazioni e si trova nella sezione Accessibilità. In alcune versioni di Android, specialmente sui dispositivi Samsung One UI, la funzione si chiama “High Contrast Text.” L'impostazione si applica a tutti gli elementi di sistema e alla maggior parte delle applicazioni di terze parti.
L'implementazione tecnica su Android differisce da iOS: invece di sostituire il carattere di sistema, Android sovrascrive il Typeface a livello di sistema tramite Resources.Theme. Quando l'impostazione viene attivata, il sistema modifica l'attributo android:textStyle per tutti gli elementi di testo, impostando bold o italic+bold. Uno sviluppatore può verificare lo stato tramite Settings.Global.getFloat() o AccessibilityManager.
Su Android, non esiste un'API diretta equivalente a UIAccessibility.isBoldTextEnabled. La verifica viene effettuata tramite ContentResolver e Settings.System. L'impostazione viene memorizzata nelle preferenze globali come font_weight_adjustment. Per Jetpack Compose, è accessibile tramite LocalDensity e fontScale.
import android.content.Context
import android.provider.Settings
import android.util.TypedValue
import androidx.compose.ui.text.font.FontWeight
class AndroidBoldTextHelper {
// Verifica della leggibilità migliorata tramite impostazioni di sistema
fun isBoldTextEnabled(context: Context): Boolean {
return try {
Settings.System.getInt(
context.contentResolver,
"font_weight_adjustment"
) == 1
} catch (e: Settings.SettingNotFoundException) {
false
}
}
// Jetpack Compose — adattamento 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 — applicazione tramite TypedValue
fun applyBoldStyleFix(context: Context, textView: android.widget.TextView) {
if (isBoldTextEnabled(context)) {
val paint = textView.paint
val fakeBold = paint.isFakeBoldText
// Riduzione di fakeBold se già attivato dal sistema
if (fakeBold) {
paint.isFakeBoldText = false
textView.invalidate()
}
}
}
}La classe AndroidBoldTextHelper legge l'impostazione di sistema font_weight_adjustment, adatta FontWeight in Jetpack Compose e rimuove il fakeBold duplicato in XML View. A differenza di iOS, Android non fornisce un canale di notifica per le modifiche di Bold Text — lo sviluppatore verifica l'impostazione all'avvio dell'Activity o tramite ContentObserver.
Per tracciare le modifiche di Bold Text in fase di esecuzione, uno sviluppatore Android può utilizzare ContentObserver. Quando l'impostazione font_weight_adjustment cambia, il sistema notifica il ContentResolver e l'app può aggiornare la sua interfaccia. Ciò è importante per AccessibilityService e i launcher personalizzati che devono rispondere istantaneamente ai cambiamenti delle impostazioni utente.
Nello sviluppo web, lo spessore del carattere è controllato dalla proprietà CSS font-weight con valori da 100 (Thin) a 900 (Black). I valori standard includono normal = 400 e bold = 700. Bold Text nel sistema operativo non influisce direttamente su CSS font-weight — i browser web non ricevono un segnale di sistema su Bold Text attivato a livello CSS. Tuttavia, uno sviluppatore può utilizzare una funzione media CSS se la piattaforma la supporta.
Per iOS, Safari supporta la funzione media -webkit-text-size-adjust ma non ha una media query diretta per Bold Text. Su Android, Chrome non fornisce nemmeno una media query per l'impostazione di sistema del testo in grassetto. Si consiglia agli sviluppatori web di utilizzare prefers-contrast e prefers-reduced-motion per l'adattamento e, per il testo in grassetto — di verificare l'impostazione tramite User-Agent o stili di fallback.
I caratteri variabili (OpenType Font Variations) consentono una regolazione fluida dello spessore del carattere tramite CSS font-weight nell'intervallo 1–999 con incrementi di 1 unità. A differenza dei caratteri standard in cui sono disponibili solo valori discreti (400, 700), i caratteri variabili consentono di scegliere il peso ottimale per ogni utente. È possibile utilizzare un intervallo più ampio per le impostazioni di accessibilità.
/* Carattere variabile con regolazione fluida dello spessore */
@font-face {
font-family: "Inter Variable";
src: url("/fonts/Inter-Variable.woff2")
format("woff2-variations");
font-weight: 100 900;
font-stretch: 50% 200%;
}
/* Adattamento al Bold Text di sistema tramite classe */
.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 — approccio alternativo */
@media (prefers-contrast: more) {
.content {
--font-weight-increase: 100;
}
.content .text {
font-weight: calc(
var(--font-weight-base) +
var(--font-weight-increase)
);
}
}L'esempio CSS mostra come caricare il carattere variabile Inter Variable, utilizzare proprietà personalizzate CSS per il controllo del peso e adattarsi tramite prefers-contrast: more. I caratteri variabili consentono di aumentare font-weight di 50–100 unità quando Bold Text di sistema è attivato senza perdere qualità di rendering. Per rilevare lo stato di Bold Text sul client, JavaScript può verificare lo User-Agent e aggiungere una classe all'elemento html.
Poiché CSS non fornisce una media query diretta per Bold Text, gli sviluppatori web utilizzano JavaScript: creano un elemento invisibile con un carattere noto, ne misurano la larghezza, modificano font-weight e confrontano la differenza. Se la differenza è maggiore del previsto, Bold Text di sistema è probabilmente attivo. Questo metodo viene utilizzato nelle librerie di accessibilità per la regolazione automatica degli stili.
Bold Text affronta problemi specifici degli utenti con disabilità visive: migliora la distinguibilità dei caratteri nell'ambliopia, riduce l'affaticamento visivo durante la lettura prolungata e compensa il basso contrasto dello schermo sotto luce solare intensa. Secondo WebAIM Million (2025), il 12,3% di tutte le pagine ha testo con contrasto insufficiente — Bold Text può compensare parzialmente questo difetto dal lato utente.
Per gli sviluppatori, il supporto di Bold Text fa parte dei requisiti WCAG 2.2: criterio 1.4.1 (Uso del colore) e 1.4.3 (Contrasto minimo). L'app deve essere visualizzata correttamente con l'impostazione Bold Text di sistema attivata senza perdita di contenuto, sovrapposizione di elementi o troncamento del testo. Il test con Bold Text attivato è obbligatorio durante la preparazione per la pubblicazione su App Store e Google Play.
Quando si testa un'app con Bold Text, verificare: se tutti gli elementi di testo vengono visualizzati completamente (senza troncamento), se il grassetto non viene duplicato (double-bold), se le altezze delle celle nelle tabelle vengono ricalcolate correttamente e se gli elementi si spostano l'uno rispetto all'altro. Utilizzare Accessibility Inspector (Xcode) o Accessibility Scanner (Android) per rilevare automaticamente i problemi con Bold Text.
I moderni iOS e Android stanno evolvendo Bold Text verso un controllo più preciso: iOS 18 (2024) ha aggiunto impostazioni del carattere per app, incluso il peso grassetto, e Android 16 (2025) ha esteso l'API font_weight_adjustment per gli sviluppatori. Ci si aspetta che le versioni future forniscano una media query CSS per Bold Text, eliminando la necessità del rilevamento con JavaScript.
Domande frequenti
Bold Text su iOS è una funzione di accessibilità che sostituisce il carattere di sistema con il grassetto in tutti gli elementi dell'interfaccia. Si attiva in Settings > Display & Brightness > Bold Text. Dopo l'attivazione, è necessario riavviare l'iPhone. La funzione influisce sulle app di sistema e di terze parti che utilizzano il carattere standard San Francisco.
Per verificare Bold Text su iOS, utilizzare la proprietà statica UIAccessibility.isBoldTextEnabled, che restituisce un Bool. Per tracciare le modifiche, abbonarsi alla notifica UIAccessibility.boldTextStatusDidChangeNotification. Quando lo stato cambia, aggiornare i caratteri nell'interfaccia — chiamare reloadData() per le tabelle e invalidateIntrinsicContentSize() per le viste personalizzate.
Su Android, l'equivalente di Bold Text si chiama “Improve Readability” e si trova in Settings > Accessibility > Text > Improve Readability. Sui dispositivi Samsung One UI, la funzione si chiama “High Contrast Text.” L'impostazione modifica il Typeface di sistema, addensando il carattere in tutti gli elementi dell'interfaccia e nelle app di terze parti.
CSS font-weight è una proprietà delle pagine web che controlla lo spessore del carattere (normal = 400, bold = 700). Il Bold Text di sistema non viene passato direttamente al CSS — non esiste una media query per questo segnale. Gli sviluppatori web utilizzano il rilevamento JavaScript misurando la larghezza del carattere o la funzione CSS prefers-contrast: more come sostituto indiretto.
Bold Text migliora la leggibilità per le persone con ambliopia, presbiopia e dislessia. Il carattere in grassetto aumenta il contrasto dei caratteri sullo schermo senza modificare la dimensione del testo. La funzione compensa il basso contrasto dello schermo sotto la luce solare e riduce l'affaticamento visivo durante la lettura prolungata. Bold Text fa parte delle raccomandazioni di accessibilità WCAG 2.2.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.
Leggi anche