La respuesta es sí, las tecnologías de asistencia funcionan bien cuando se utiliza el marcado semántico correcto para estructurar el documento. Si se trata de una lista estática simple, entonces no es necesario marcarlos con los roles.
Por ejemplo: considere el role="listitem" cuyo baseConcept se define como HTML li. Y la baseConcept HTML li es casi idéntica a la definición role = "listitem", excepto por el hecho de que no hereda ninguna propiedad. Más info
Por lo tanto, consideremos el siguiente ejemplo:
<h3 id="header">Vegetables</h3>
<ul role="list" aria-labelledby="header" aria-owns="external_listitem">
<li role="listitem" aria-level="3">Carrot</li>
<li role="listitem" aria-level="3">Tomato</li>
<li role="listitem" aria-level="3">Lettuce</li>
</ul>
…
<div role="listitem" id="external_listitem">Asparagus</div>
Aquí el autor de la página quiere usar propiedad de nivel aria para el li. Aunque aria-labelledby y aria-own se pueden aplicar a todos los elementos del marcado base, la propiedad aria-level requiere que el elemento tenga algún rol. Dado que las especificaciones de ARIA utilizan el lenguaje de ontología web (OWL) para representar los roles en una jerarquía de clases. OWL describe estos roles como clases junto con sus estados y propiedades. Por lo tanto, para usar un nivel de aria, el elemento tiene que definirse como un rol simple, ya que HTML no heredará ninguna propiedad o limitación. Una vez que marque el rol como elemento de lista, se requiere que listitem sea propiedad de un elemento con role = "list". Entonces terminas usando ambos roles.
Por otro lado los roles también son útiles si el marcado semántico tampoco se usa. Por ejemplo:
<div role="list">
<div role="listitem">dog</div>
<div role="listitem">cat</div>
<div role="listitem">sparrow</div>
<div role="listitem">wolf!</div>
</div>
Aquí el software lector de pantalla indicará la lista ARIA (compuesto de divs) como cualquier otra lista HTML normal.
Gracias @Ravi por la información. Por lo tanto, cuando se utiliza el marcado semántico, no es necesario marcar una lista estática simple con roles. –
Sí, casi todo el tiempo, pero nuevamente depende del software de accesibilidad utilizado junto con la versión del navegador. Entonces, si encuentra que un marcador de pantalla no está siendo leído por un lector de pantalla, entonces debería usar una combinación de estos roles para que funcione hasta que el software se solucione con ese defecto. Entonces, nada es definitivo solo hacer una prueba minuciosa. – Ravi
Ya veo. Gracias. –