Texto de formulário


O Bootstrap oferece a classe .form-text para criar texto de formulário em nível de bloco ou em linha de maneira simples e garantindo uma boa experiência ao usuário.

Associando texto de formulário com controles de formulário

É fundamental estabelecer uma associação clara entre o texto de formulário e o controle de formulário relevante. Isso é alcançado usando o atributo aria-describedby. Ao utilizar essa prática, os leitores de tela podem anunciar o texto de formulário quando o usuário focar ou entrar no controle associado ao texto.

Por exemplo, ao criar um campo de senha:

<label for="inputPassword5" class="form-label">Senha</label>
<input type="password" id="inputPassword5" class="form-control" aria-describedby="passwordHelpBlock">
<div id="passwordHelpBlock" class="form-text">
  Sua senha deve ter de 8 a 20 caracteres, conter letras e números, e não pode conter espaços, caracteres especiais ou emojis.
</div>

Neste caso, o texto de formulário é explicitamente associado ao campo de senha, melhorando a acessibilidade e usabilidade do formulário.

Estilizando texto de formulário abaixo de inputs

É possível estilizar o texto de formulário que aparece abaixo dos inputs utilizando a classe .form-text. Se um elemento em bloco for utilizado, é adicionada uma margem superior para facilitar o espaçamento em relação aos inputs acima.

Por exemplo, na criação de um campo de senha em nível de bloco:

<label for="inputPassword5" class="form-label">Password</label>
<input type="password" id="inputPassword5" class="form-control" aria-describedby="passwordHelpBlock">
<div id="passwordHelpBlock" class="form-text">
  Your password must be 8-20 characters long, contain letters and numbers, and must not contain spaces, special characters, or emoji.
</div>

Caso seja utilizado um elemento inline, como <span>, <small>, entre outro, basta adicionar a classe .form-text a ele.

<div class="row g-3 align-items-center">
  <div class="col-auto">
    <label for="inputPassword6" class="col-form-label">Password</label>
  </div>
  <div class="col-auto">
    <input type="password" id="inputPassword6" class="form-control" aria-describedby="passwordHelpInline">
  </div>
  <div class="col-auto">
    <span id="passwordHelpInline" class="form-text">
      Must be 8-20 characters long.
    </span>
  </div>
</div>

Referências