Os elementos bdi e bdo
Isole e substitua a direção do texto com bdi e bdo.
Os elementos bdi e bdo é uma aula grátis de HTML Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de HTML Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de HTML Academy inclui 4 aulas no total.
Por que usar elementos de controle bidirecional
O Algoritmo bidirecional do Unicode normalmente lida bem com textos de direções mistas, mas às vezes é necessário substituí-lo — para isolar um nome fornecido pelo usuário e impedir que ele altere a direção do texto ao redor ou para forçar uma direção específica em um bloco de código.
O elemento bdi
<bdi> (isolamento bidirecional) trata seu conteúdo como um contexto bidirecional separado. A direção do texto dentro de <bdi> não pode afetar a direção do texto fora dele, e vice-versa.
<p>User <bdi>{username}</bdi> posted at 12:34</p>Caso de uso: nomes de usuário
Uma lista de usuários que mistura nomes em inglês e árabe corre o risco de os nomes árabes "vazarem" seu fluxo RTL para o texto ao redor. Envolver cada nome em <bdi> o isola: o layout permanece consistente, independentemente da direção de cada nome.
O elemento bdo
<bdo dir="rtl"> (substituição bidirecional) força uma direção específica no conteúdo, substituindo a resolução bidirecional natural. Use-o quando quiser exibir um texto em uma direção não natural — por exemplo, para renderizar trechos de código em LTR dentro de uma página RTL.
<bdo dir="ltr">someEnglishCode();</bdo>Diferença em relação a dir
O atributo dir em um elemento comum define uma direção de base, e o algoritmo bidirecional continua sendo aplicado internamente. <bdo> desativa o algoritmo bidirecional para seu conteúdo — cada caractere flui estritamente na direção especificada, independentemente de seu sistema de escrita.
Quando usar bdi
Sempre que incorporar texto gerado pelo usuário ao conteúdo de interface ao redor — nomes nos cabeçalhos de conversas, nomes de usuário em comentários e títulos em itens de um feed. O isolamento garante que o layout da interface não seja afetado pelo que o usuário digitou.
Quando usar bdo
Raramente. O principal uso legítimo é ensinar sobre texto bidirecional (mostrar como uma cadeia de caracteres fica quando invertida) ou corrigir dados marcados incorretamente, nos quais a resolução bidirecional natural produz a ordem visual errada.
Combinado com dir="auto"
Para conteúdo do usuário cuja direção é desconhecida, combine <bdi dir="auto"> para obter segurança adicional: a detecção automática escolhe uma direção base a partir do conteúdo, e bdi impede que essa direção se propague para o texto ao redor.
Compatibilidade com navegadores
bdi e bdo são compatíveis com todos os navegadores modernos. Eles fazem parte do HTML5 e estão estáveis há anos. Versões antigas do IE não têm suporte a bdi, mas são funcionalmente obsoletas; sites modernos podem usar bdi livremente.
Acessibilidade
Leitores de tela respeitam o isolamento bidirecional: o texto dentro de <bdi> é anunciado com a voz do próprio idioma (quando lang está definido), sem que o contexto ao redor interfira. bdi também ajuda a síntese de voz a gerar pausas apropriadas ao redor de frases isoladas.
Padrão comum: i18n em modelos
Modelos com espaços reservados ("Welcome, {name}") devem envolver o espaço reservado em <bdi>: Welcome, <bdi>{name}</bdi>. Qualquer nome de usuário — em inglês, árabe ou misto — é exibido corretamente sem interferir no restante da saudação.
Verificação de conhecimento
Qual é a diferença prática entre e ?
Resumo
bdi isola a direção do texto de uma seção para que ela não afete o texto ao redor — use-o para conteúdo incorporado do usuário, como nomes em modelos. bdo força uma direção específica, substituindo a direção bidirecional, e raramente é necessário fora de exemplos didáticos. Combine bdi com dir="auto" para lidar com segurança com texto fornecido pelo usuário em idiomas desconhecidos.
Perguntas Frequentes
A aula “Os elementos bdi e bdo” é grátis?
Sim — o texto completo de “Os elementos bdi e bdo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de HTML Academy, atualize para CoddyKit PRO. O curso de HTML Academy inclui 4 aulas no total.
O que vou aprender em “Os elementos bdi e bdo”?
Isole e substitua a direção do texto com bdi e bdo. Você pratica HTML Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar HTML Academy?
Nenhuma experiência prévia é necessária. HTML Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Os elementos bdi e bdo”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de HTML Academy?
Sim. Cada aula de HTML Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- O atributo lang e os leitores de tela
- dir=rtl para texto da direita para a esquerda
- Os elementos bdi e bdo
- charset e tratamento de Unicode: caracteres especiais