Pregunta

Nunca he tenido una razón para poner un elemento de etiqueta dentro de un elemento de leyenda (nunca lo pensé ni lo vi hecho).Pero con el diseño que estoy implementando, resulta tentador hacerlo.

Esto es lo que estoy tentado a hacer:

<fieldset>
<legend><label for="formInfo">I would like information on</label></legend>
<select id="formInfo">
    <option value="Cats">Cats</option>
    <option value="Dogs">Dogs</option>
    <option value="Lolz">Lolz</option>
</select>
</fieldset>

Funciona como se esperaba (al hacer clic en la etiqueta se enfoca la entrada correspondiente) en Firefox3, Safari, Opera e IE6/7 y pasa la validación, pero me pregunto si hay alguna razón conocida (¿accesibilidad?¿semántica?problemas con el navegador) por qué no debería hacerse esto

¿Fue útil?

Solución

Donde Esta tu </fieldset>?

Semánticamente, legend describe un fieldset, Tal como label describe un solo campo.

Se supone que los conjuntos de campos se utilizan para agrupar campos semánticamente relacionados (por ejemplo, un conjunto de campos de "dirección" puede tener campos de entrada para calle, ciudad y país).

Suponiendo que tiene más de un campo en el conjunto de campos, hacer lo que sugiere no tiene sentido semánticamente: debe crear un texto de leyenda separado que describa el conjunto de campos y luego una etiqueta para cada campo.

Si solo tiene un campo, entonces no necesita ningún conjunto de campos ni leyenda.

Entonces, básicamente, no deberías hacer lo que estás haciendo.

Si lo hace para tener elementos adicionales a los que adjuntar reglas CSS o eventos Javascript, es mejor que utilice elementos genéricos como div y span eso no confundirá la conversión de texto a voz y otros agentes de usuario no visuales.

es decir, poner un div o span es efectivamente neutral en términos de accesibilidad/semántica (no implica nada) versus el uso indebido de un elemento semántico (aunque sea ligeramente, como en este caso), que es potencialmente engañoso.Imagina incluso el mejor caso escenario para su diseño en un navegador de texto a voz:El texto se lee en voz alta dos veces, una como leyenda y otra como etiqueta. ¿Por qué alguien querría que se le lea en voz alta la frase "Me gustaría obtener información sobre" dos veces?Sobre todo porque sólo tiene sentido en el contexto de las elecciones en el select control.

Otros consejos

bueno, el elemento de etiqueta parece estar bien: es la descripción de " formInfo " elemento, así que eso no es una preocupación. Semánticamente, sin embargo, ¿qué dice esto sobre el elemento legend? Se supone que es un título para todo el conjunto de campos ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top