Gli elementi bdi e bdo
Isolare e sovrascrivere la direzionalità del testo con bdi e bdo
Gli elementi bdi e bdo è una lezione HTML Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento HTML Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso HTML Academy include 4 lezioni in totale.
Perché usare gli elementi di controllo bidi?
L'Unicode Bidirectional Algorithm gestisce normalmente bene il testo con direzioni miste, ma a volte è necessario sovrascriverlo: per isolare un nome fornito dall'utente ed evitare che cambi la direzione del testo circostante oppure per forzare una direzione specifica in un blocco di codice.
L'elemento bdi
<bdi> (isolamento bidirezionale) tratta il proprio contenuto come un contesto bidi separato. La direzione del testo all'interno di <bdi> non può influire sulla direzione del testo esterno e viceversa.
<p>User <bdi>{username}</bdi> posted at 12:34</p>Caso d'uso: nomi degli utenti
Un elenco di utenti con nomi inglesi e arabi mescolati rischia che i nomi arabi "invadano" il flusso RTL del testo circostante. Racchiudendo ogni nome in <bdi> lo si isola: il layout rimane coerente indipendentemente dalla direzione di ciascun nome.
L'elemento bdo
<bdo dir="rtl"> (override bidirezionale) forza una direzione specifica sul proprio contenuto, sovrascrivendo la risoluzione bidi naturale. Lo usi quando desidera visualizzare il testo in una direzione non naturale, per esempio per visualizzare frammenti di codice in LTR all'interno di una pagina RTL.
<bdo dir="ltr">someEnglishCode();</bdo>Differenza rispetto a dir
L'attributo dir su un elemento normale imposta una direzione di base, mentre l'algoritmo bidi continua ad applicarsi al suo interno. <bdo> disattiva l'algoritmo bidi per il proprio contenuto: ogni carattere scorre rigorosamente nella direzione specificata, indipendentemente dal suo script.
Quando usare bdi
Ogni volta che incorpora testo generato dagli utenti nell'interfaccia circostante: nomi nelle intestazioni delle chat, nomi utente nei commenti o titoli negli elementi del feed. L'isolamento garantisce che il layout dell'interfaccia non venga influenzato da ciò che l'utente ha digitato.
Quando utilizzare bdo
Raramente. L'uso legittimo principale consiste nell'insegnare il testo bidirezionale, mostrando l'aspetto di una stringa invertita, oppure nel correggere dati con tag errati, quando la risoluzione bidi naturale produce un ordine visivo sbagliato.
Combinato con dir="auto"
Per contenuti generati dagli utenti di direzione sconosciuta, combini <bdi dir="auto"> per una doppia sicurezza: il rilevamento automatico sceglie una direzione di base in base al contenuto e bdi impedisce che tale direzione si propaghi al testo circostante.
Supporto dei browser
bdi e bdo sono supportati da tutti i browser moderni. Fanno parte di HTML5 e sono stabili da anni. Le versioni meno recenti di IE non supportano bdi, ma sono ormai obsolete dal punto di vista funzionale; nei siti moderni può utilizzare bdi liberamente.
Accessibilità
I lettori di schermo rispettano l'isolamento bidi: il testo all'interno di <bdi> viene pronunciato con la voce della relativa lingua, quando lang è impostato, senza che il contesto circostante interferisca. bdi aiuta inoltre la sintesi vocale a generare pause appropriate intorno alle frasi isolate.
Schema comune: i18n nei template
I template con segnaposto ("Welcome, {name}") dovrebbero racchiudere il segnaposto in <bdi>: Welcome, <bdi>{name}</bdi>. Qualsiasi nome utente — inglese, arabo o misto — viene visualizzato correttamente senza alterare il resto del saluto.
Verifica delle conoscenze
Qual è la differenza pratica tra e ?
Riepilogo
bdi impedisce che la direzione del testo di una sezione influenzi ciò che la circonda: lo utilizzi per contenuti utente incorporati, ad esempio i nomi nei template. bdo forza una direzione specifica sovrascrivendo bidi ed è raramente necessario al di fuori degli esempi didattici. Combini bdi con dir="auto" per gestire in sicurezza il testo fornito dagli utenti in lingue sconosciute.
Domande Frequenti
La lezione «Gli elementi bdi e bdo» è gratuita?
Sì — il testo completo di «Gli elementi bdi e bdo» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso HTML Academy, passa a CoddyKit PRO. Il corso HTML Academy include 4 lezioni in totale.
Cosa imparerò in «Gli elementi bdi e bdo»?
Isolare e sovrascrivere la direzionalità del testo con bdi e bdo Eserciti HTML Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare HTML Academy?
Non è richiesta alcuna esperienza precedente. HTML Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Gli elementi bdi e bdo»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione HTML Academy?
Sì. Ogni lezione HTML Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- L’attributo lang e gli screen reader
- dir=rtl per il testo da destra a sinistra
- Gli elementi bdi e bdo
- charset e gestione Unicode: caratteri speciali