IDs de etiqueta válidos para fragmentos
Silktide comprueba las etiquetas de formulario que hacen referencia a otro elemento por su ID e informa de las etiquetas cuyo ID no existe en ninguna parte de la página. Una etiqueta que no apunta a nada no puede nombrar nada.
En , un <label> da nombre a un campo de formulario estableciendo su atributo for al id del campo. Esta comprobación solo verifica que el ID referenciado exista en algún lugar de la página; una comprobación complementaria, IDs de etiqueta válidos, va más allá y verifica que el destino sea un campo de formulario que pueda aceptar una etiqueta.
<!-- Problema: nada en la página tiene id="food" -->
<label for="food">Comida favorita</label>
Por qué es importante
Una etiqueta con una referencia rota no sirve de nada: un no puede asociarla a ningún campo, por lo que el campo al que iba destinada se anuncia sin nombre, y hacer clic en la etiqueta deja de enfocarlo. Como la página parece no haber cambiado, estos fallos suelen aparecer sin hacerse notar cuando se renombran ID o se reestructura el marcado, y solo las comprobaciones automatizadas los detectan.
Cómo solucionarlo
- Busque el elemento que la etiqueta debía describir y establezca el valor
forde la etiqueta en elidexacto de ese elemento (los ID distinguen mayúsculas y minúsculas):
<!-- Solución: la etiqueta apunta a un ID real -->
<label for="food">Comida favorita</label>
<input type="text" id="food">
- Si al elemento de destino le falta su
id, añádale uno. - Si la etiqueta es un resto que ya no describe nada, elimínela.
Cómo lo prueba Silktide
- Busca en cada página todo elemento
<label>con un atributoforno vacío. - Busca en cualquier parte de la página un elemento cuyo
idcoincida. - Informa de la etiqueta si no existe tal elemento.