Saltar al contenido
SilktideAyuda

ID de etiqueta válidos

Silktide comprueba las etiquetas de formulario que nombran su campo usando un ID y verifica que el ID exista en la página y pertenezca a un elemento que realmente pueda aceptar una etiqueta. Una etiqueta que apunta a nada, o al tipo de elemento equivocado, deja un campo sin nombre de forma silenciosa.

En , un <label> se conecta con su campo de formulario estableciendo el atributo for de la etiqueta al id del campo. La conexión se rompe cuando el ID se escribe mal, cuando cambia el ID del campo o cuando el destino no es en absoluto un campo de formulario.

<!-- Problema: no existe ningún elemento con id=\"fullname\" -->
<label for=\"fullname\">Nombre completo</label>
<input type=\"text\" id=\"full-name\">

Por qué es importante

La etiqueta es la forma en que un anuncia un campo. Cuando la referencia for está rota, la etiqueta y el campo son dos elementos sin relación: la persona oye un "cuadro de edición" sin nombre y tiene que adivinar qué debe introducir en él. Visualmente no cambia nada: la etiqueta sigue junto a su campo, por lo que estas roturas pasan desapercibidas hasta que alguien que depende de la conexión intenta usar el formulario.

Cómo solucionarlo

  1. Encuentra el campo al que se pretendía asociar la etiqueta y haz que el valor de for coincida exactamente con el id del campo (los ID distinguen entre mayúsculas y minúsculas):
<!-- Solucionado: la referencia coincide con el id del campo -->
<label for=\"full-name\">Nombre completo</label>
<input type=\"text\" id=\"full-name\">
  1. Si la etiqueta apunta a algo que no puede aceptar una etiqueta —como un <div> que actúa como control personalizado—, usa en su lugar: añade al elemento aria-labelledby que apunte al texto que lo nombra.
  2. Si la etiqueta es un sobrante sin campo, elimínala.

Cómo lo comprueba Silktide

  1. Busca en cada página cada elemento <label> con un atributo for.
  2. Localiza el elemento cuyo id coincide con el valor de for.
  3. Marca la etiqueta si no existe tal elemento.
  4. Si existe, marca la etiqueta si el destino no es un elemento de formulario etiquetable — botón, input (excepto hidden), lista desplegable, área de texto, medidor, salida o barra de progreso.

Solución de problemas

El campo se añade mediante scripts

Silktide examina cada página tal y como se renderiza. Si el campo de destino solo existe en algunos estados de la página —por ejemplo, tras abrir un panel—, puede que el destino de la etiqueta no esté presente cuando se pruebe. Considera renderizar la etiqueta y su campo juntos.

Más información

Última actualización

¿Le ha resultado útil esta página?

ID de etiqueta válidos | Ayuda de Silktide