Mary tenía una pequeña forma, y sus campos estaban etiquetados así.
Cada vez que aparecía un error, la confusión sembraría.
Tengo una etiqueta para cada campo de entrada ... asunto bastante estándar. Después de validar el formulario, estoy mostrando un pequeño párrafo útil en la parte superior del formulario que detalla qué información falta o es incorrecta.
¿Puedo tener dos etiquetas para el mismo campo de entrada? ¿Uno en el formulario correcto y otro en el texto del recordatorio de validación? ¿Hay alguna razón por la que no debería hacer esto?
label
. Incluso puede omitir los atributosfor
yid
. La especificación llama a esta asociación implícita.Respuestas:
Supongo que esta pregunta es sobre formularios HTML. De la especificación :
Por lo tanto, cada control de formulario puede ser referenciado por múltiples etiquetas, pero cada etiqueta solo puede hacer referencia a un control. Entonces, si tiene sentido tener una segunda etiqueta para un control (y en la situación que describe, lo hace), siéntase libre de agregar una segunda etiqueta.
fuente
El HTML es legal y funciona (hacer clic en cualquiera de las etiquetas transferirá el foco al campo en cuestión).
Es un poco más complicado hacer lo correcto por razones de accesibilidad.
No es un enfoque "común", y debido a eso, al menos un lector de pantalla común (probé con NVDA) solo lee la primera etiqueta cuando cambia el foco al campo; ignora cualquier etiqueta adicional para el mismo campo.
Entonces, si su mensaje de error se encuentra en la parte superior de la página, un usuario ciego o con baja visión que recorra los campos escuchará solo el mensaje de error al aterrizar en el campo en cuestión, no la etiqueta "real" al lado.
Por lo tanto, si redacta el mensaje de error correctamente, eso podría ser algo bueno (¡ciertamente mejor que solo resaltar el campo de no validación en rojo!).
fuente
Sí, puede hacer que varias etiquetas apunten al mismo control de formulario. Esto es perfectamente legal :
Esto es solo un ejemplo ... normalmente envolvería estas líneas con una etiqueta ya que están cerca.
fuente
LABEL
puede estar asociado con el mismo control creando múltiples referencias a través delfor
atributo".