que - Elemento principal de HTML5 versus rol de ARIA="main"
html role attribute (1)
Me interesa saber más sobre la relación y las posibles distinciones entre el elemento <main>
HTML5 y el atributo de role="main"
ARIA landmark role="main"
.
Tengo la impresión de que el propósito del elemento <main>
es asignar el rol del atributo ARIA roll role="main"
a un elemento HTML específico. ¿Pero eso lo resume?
¿Hay beneficios al usar <main>
sobre, digamos, <div role="main">
? ¿O estos, por ahora y en el futuro previsible, darán el mismo resultado?
Cualquier información al comparar los siguientes ejemplos sería muy apreciada:
<body>
<main>
<p>Paragraph</p>
<main>
</body>
<body>
<main role="main">
<p>Paragraph</p>
<main>
</body>
<body>
<div role="main">
<p>Paragraph</p>
<div>
</body>
Según HTML5 Doctor son equivalentes. <main>
simplemente hace que sea más fácil y más ordenado implementar la role="main"
.
El propósito principal de es asignar la función principal de ARIA a un elemento en HTML.
Aquí hay una descripción general del elemento <main>
.
El elemento
main
representa el contenido principal delbody
de un documento o aplicación. El área de contenido principal consiste en contenido que está directamente relacionado o se expande sobre el tema central de un documento o la funcionalidad central de una aplicación.
Recomendación
Se recomienda usar tanto <main>
como role="main"
en el mismo elemento hasta que los navegadores implementen <main>
correctamente.
<!-- Recommended -->
<main role="main">
...
</main>
Asegúrese de leer la especificación <main>
si está interesado.
Nota sobre seccionamiento
Como Szabolcs señala en los comentarios, <main>
no es un elemento de sección, por lo que debe usarse junto con un elemento <section>
.