2012-06-25 9 views
29

En los sitios web de demostración ARIA, generalmente se agrega role="contentinfo" en el elemento footer.¿Debería siempre insertarse role = "contentinfo" en el elemento de pie de página?

Sin embargo, footers in modern web design puede ser creativo para que también puedan contener elementos como enlaces de navegación complementarios, enlaces a sitios web sociales o incluso un formulario de boletín de noticias.

Tomando los siguientes códigos de pie de página, por ejemplo. ¿Se debe agregar role="contentinfo" en el elemento footer o p?

<footer> 
    <nav> 
     <ul> 
      ........ 
      ........ 
      ........ 
      ........ 
      ........ 
     </ul> 
    </nav> 
    <form> 
     ........ 
     ........ 
     ........ 
    </form> 
    <p>© 2012 Website.com. All rights reserved.</p> 
</footer> 


EDIT: Me habían hecho esta pregunta mediante la utilización de la lista de correo del W3C ARIA, y Steve Faulkner, un miembro del Grupo de Trabajo de HTML del W3C ha respondido. Lo siguiente es su sugerencia:

También tomaría en cuenta cómo los navegadores asignan el elemento del pie de página a las API de accesibilidad.
En Firefox, el pie de página se asigna a ARIA role = contentinfo
En Webkit/safari/chrome, el pie de página se asigna a ARIA role = group si está dentro de una sección o artículo; de lo contrario, se asigna a role = contentinfo
En IE no se asigna

Así que hacer esto:
< papel div = "ContentInfo">
        algún contenido
        < pie de página> alguna contenido </pie de página>
</div>

dará lugar a puntos de referencia ContentInfo anidados siendo anunciadas en los navegadores que ya se asignan a pie de página ContentInfo.

Sugeriría, por lo tanto, que se agregue role = contentinfo al pie de página principal, sin preocuparse demasiado por el contenido que cree que puede no ser apropiado en el pie de página.


lo tanto, el enfoque sugerido es la adición de role="contentinfo" a la principal footer.

Respuesta

8

Creo que debería estar en la etiqueta del pie de página en su caso.

Está destinado a proporcionar información sobre el documento principal, por lo que lo usaría si los elementos del pie de página proporcionan un buen contexto del elemento principal.

http://www.w3.org/TR/wai-aria/roles#contentinfo

+0

Gracias @bcm. Sí, este es el enfoque sugerido. –

+0

Si bien esta podría ser la solución correcta, entra en conflicto con la especificación. Contentinfo es "Una gran región perceptible que contiene información sobre el documento principal". Si tengo enlaces sociales o un formulario de suscripción a un boletín en mi pie de página, obviamente esto va en contra de la especificación. –

2

Me gustaría ir con el elemento <p>. Quiero decir, el objetivo de HTML es darle contexto a tu texto. Así que da el contexto apropiado haciendo el marcado apropiado.

Dale a la función el elemento más apropiado, no es un atributo limitado para los elementos del pie de página.

+0

Gracias @Truth por su valiosa opinión. Esta respuesta ha sido marcada como útil. –

5

partir de ahora no hay una respuesta correcta definitiva.

Si vas en la especificación: http://www.w3.org/TR/wai-aria/roles#contentinfo, contentinfo se describe como:.

"Un gran región perceptible que contiene información sobre el documento principal Ejemplos de información incluidos en esta región de la página son los derechos de autor y enlaces a declaraciones de privacidad ".

Por lo tanto, en este caso se debe colocar en su etiqueta <p>.

Sin embargo, imagina que eres el usuario que está utilizando estos puntos de referencia. Si todos ubican el role="contentinfo" en el footer, eso es lo que el usuario espera. Al usuario no le importa lo que diga una "especificación", solo quiere una experiencia consistente mientras navega de un sitio web a otro. Probablemente estén esperando enlaces de pie de página, y así estar en la sección contentinfo, porque así es como se implementa en muchos sitios, y como mencionó, es la forma recomendada por muchos expertos en accesibilidad.

prefiero atender al usuario, y por lo tanto lo aplico en el elemento footer, sin embargo guardo en el fondo de mi mente que esto va en contra de la especificación (o al menos mi interpretación de la misma) y que la implementación de esto podría cambiar a medida que los navegadores y otras tecnologías accesibles comiencen a implementar la accesibilidad de una manera más consistente.

+0

Gracias por su opinión. –

1

Es información redundante, ya que la semántica ya se transmiten a través de las especificaciones de HTML5 https://dequeuniversity.com/assets/html/jquery-summit/html5/slides/landmarks.html#the_difference_between_html5_and_aria

Generalmente puede saltarse los papeles ARIA si se superponen con el entendimiento semántico del elemento HTML5.

Creo que esto es correcto, pero necesita pruebas de los lectores de pantalla para determinar si esto es exacto.

+0

Pero el elemento 'footer' también puede estar en elementos de sección. No es siempre la información de contenido. –

+0

Es cierto. ¡Gracias! Así que supongo que solo depende ... –

+0

Eso debería estar expuesto de forma diferente en el árbol de accesibilidad por los navegadores dependiendo de si el 'pie de página 'es un elemento hijo directo de' cuerpo' o de un elemento 'sección'. –

Cuestiones relacionadas