2011-01-16 26 views
8

Duplicar posibles:
Whats the rendering difference between a span and label tag?: <span> vs <label>

Cuando se muestra un mensaje de error en HTML, cuyo elemento Cómo se utiliza, <span> o <label>?

¿Puede enumerar algunos pros y contras para cada uno de ellos, suponiendo que algún estilo, como el color y el margen se aplicará a través de su class?

Gracias!

+5

Esta cuenta no es un duplicado de esta cuestión, que se trata de diferencias en la forma en que prestan de forma predeterminada y no se trata de que es más adecuado para cualquier propósito (y mucho menos con el propósito específico mencionado en esta pregunta). – Quentin

Respuesta

13

Suponiendo que quiere decir un mensaje de error asociado a un control de formulario específico, utilice un <label>.

Los argumentos semánticos son objeto de debate, ya que no son claras corte en este caso, pero los argumentos prácticos ganar bastante bien. Si un lector de pantalla está en forms mode, puede omitir el texto que no está en la etiqueta, ocultando así los mensajes de error del usuario.

-1

http://www.w3schools.com/tags/tag_label.asp: "La etiqueta define una etiqueta para un elemento de entrada".

Para texto en línea regular, utilice span.

+6

No recomiende ese sitio como referencia - http://w3fools.com/ - y no es "texto normal en línea", es un mensaje de error, presumiblemente asociado con un elemento de entrada específico. – Quentin

+0

@David Dorward: fue el primer resultado en Google para "etiqueta html". Pero todos son libres de googleear ellos mismos y encontrar una descripción similar de la etiqueta en todas las otras páginas. Y no sé si está conectado a un campo de entrada, ya que todos los OP indicados fueron "Cuando se muestra un mensaje de error en HTML". De todos modos, estoy seguro de que la diferencia ya está clara. – Alec

-2

Probablemente use <span> porque cada campo de entrada ya tiene un <label> y nunca se me ocurrió tener dos etiquetas para un campo de entrada.


Esta respuesta era incorrecta: vea los comentarios a continuación.

+1

No existe un límite para la cantidad de etiquetas que se pueden asociar con un control de formulario determinado. – Quentin

+0

@David Dorward: supongo que el lenguaje de definición de esquema no es lo suficientemente rico como para detectar/prevenir/especificar que las etiquetas múltiples por elemento de entrada no sean compatibles. ¿Hay algún lugar que diga explícitamente que son compatibles? ¿Es un idioma/práctica común? ¿Espera que, por ejemplo, los lectores de pantalla serían codificados para esperar/admitir múltiples etiquetas? – ChrisW

+2

"Más de una etiqueta puede estar asociada con el mismo control" - http: //www.w3.org/TR/html4/interact/forms.html # h-17.9.1 – Quentin

1

Cualquiera se puede utilizar y ambos se pueden diseñar. Creo que la discusión será de forma simétrica, lo cual es más claro. Pienso que los elementos de etiqueta están asociados con la descripción de la intención de un elemento de entrada en particular. No creo que la información de error se ajuste a esto y prefiera el lapso.

1

AFAIK, el propósito de una etiqueta es que al hacer clic en la etiqueta hace clic en el control que es "para". Esto es muy útil para cosas como casillas de verificación y botones de opción, donde el control real es pequeño y complicado de hacer clic.