Sobre este problema HTML
O atributo aria-describedby não pode ser uma string vazia — deve conter referências de ID válidas ou ser removido completamente.
O atributo aria-describedby aceita um ou mais valores de ID (separados por espaços) que apontam para elementos que fornecem texto descritivo adicional para o elemento atual. Quando um leitor de ecrã foca no elemento, lê o conteúdo dos elementos referenciados para dar ao utilizador mais contexto.
Definir aria-describedby="" é inválido porque o atributo espera pelo menos um IDREF válido — uma string não vazia que corresponda ao id de outro elemento na página. Um valor vazio não referencia nada e cria um erro de validação. Se não for necessária nenhuma descrição, simplesmente omita o atributo completamente.
Isto acontece frequentemente quando um template ou JavaScript define dinamicamente o atributo mas fornece um valor de fallback vazio em vez de remover o atributo completamente.
Exemplo inválido
<label for="email">Email</label>
<input type="email" id="email" aria-describedby="">
Exemplos corrigidos
Se não há nenhuma descrição para referenciar, remova o atributo:
<label for="email">Email</label>
<input type="email" id="email">
Se existe uma descrição, aponte para o seu id:
<label for="email">Email</label>
<input type="email" id="email" aria-describedby="email-hint">
<p id="email-hint">Nunca partilharemos o seu email com ninguém.</p>
Se está a gerar o atributo dinamicamente, certifique-se de que o seu código remove aria-describedby completamente em vez de o definir como uma string vazia quando não está disponível nenhuma dica.
Encontre problemas como este automaticamente
O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.