<b> vs <span> em HTML5
Eu tenho tido dificuldade em decidir quando usar b e quando usar o span. A nova semântica dob elemento parece vago.
O elemento b representa um intervalo de texto para o qual a atenção está sendo traçada para fins utilitários sem transmitir qualquer importância extra e sem a implicação de uma voz alternativa ou humor
Soa como aquela tag que você usa quando não pode usar strong, em ou i.
O elemento b deve ser usado como último recurso quando nenhum outro elemento é mais apropriado.
Mas nós já temosperíodo para quando o conteúdo de frases não tiver uma tag aplicável.
O elemento span não significa nada sozinho ... Ele representa seus filhos.
Há uma lista de exemplos de usos
palavras-chave em um resumo de documento, nomes de produtos em uma revisão, palavras acionáveis em software interativo orientado por texto ou um artigo
Mas não consigo encontrar um princípio subjacente que os une, a não ser estilizá-los em negrito. oespecificação antiga até menciona estilo:
O elemento b representa um intervalo de texto a serestilisticamente compensado da prosa normal [ênfase adicionada]
O estilo é para CSS. Também somos aconselhados a usar classes para mostrar qual é o significado real
autores podem usar o atributo class no elemento b para identificar porque o elemento está sendo usado
O que faz parecer que os usos são muito divergentes para serem agrupados apenas pela tag. Eu também posso usar classes para explicar a semântica do span.
O elemento span ... pode ser útil quando usado em conjunto com os atributos globais, por ex. class, lang ou dir.
ExemplosSe eu quiser isso:
Sua pontuação paraFinal CS 101 é de 42%.
eu escrevo
Your score for <b>CS 101 Final</b> is 42%.
ou
Your score for <span>CS 101 Final</span> is 42%.
Ou para este:
Responda: 42
seria
<b>Answer</b> 42
ou
<span>Answer</span> 42
(É apenas um par de valores-chave, portanto, a lista de definições não se aplica.)
Não estou interessado apenas em conhecer as tags corretas para os exemplos individuais. Eu gostaria de saber por que eles estão corretos. Quais critérios eu uso para decidir sobre uma tag b ou span?