Odpowiedź brzmi: tak, technologie wspomagające działają dobrze, gdy do struktury dokumentu użyto poprawnego znacznika semantycznego. Jeśli jest to prosta lista statyczna, nie ma potrzeby oznaczania ich rolami.
Na przykład: Rozważmy role="listitem", którego baseConcept jest zdefiniowany jako HTML li. A baseConcept HTML li jest prawie identyczne z definicją roli = "listitem" z wyjątkiem faktu, że nie dziedziczy żadnych właściwości. Więcej info
Zatem rozważmy następujący przykład:
<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>
Tutaj autor strony chce wykorzystać właściwość aria poziomu dla Li. Mimo że aria-labelledby i aria-owns mogą być stosowane do wszystkich elementów podstawowego znacznika, właściwość aria-level wymaga, aby element miał jakąś rolę. Od ARIA spec używa języka ontologii sieciowej (OWL) do reprezentowania ról w hierarchii klas. OWL opisuje te role jako klasy wraz z ich stanami i właściwościami. Tak więc, aby użyć poziomu arii, element musi być określony jako pewna rola, ponieważ zwykły HTML nie dziedziczy żadnych właściwości ani ograniczeń. Po oznaczeniu roli jako listitem wymaga ona, aby listitem był własnością elementu o roli = "list". Więc w końcu używasz obu ról.
Z drugiej strony role są również użyteczne, jeśli semantyczny znacznik nie jest również używany. Na przykład:
<div role="list">
<div role="listitem">dog</div>
<div role="listitem">cat</div>
<div role="listitem">sparrow</div>
<div role="listitem">wolf!</div>
</div>
Tutaj program do odczytu ekranu wyświetli listę ARIA (złożoną z elementów div), jak każdą inną normalną listę HTML.
Dzięki @Ravi za informacje. Więc gdy używany jest znacznik semantyczny, nie ma potrzeby oznaczania prostej listy statycznej z rolami. –
Tak, prawie przez cały czas, ale jest ponownie zależny od Oprogramowania dostępności używanego wraz z wersją przeglądarki. Więc jeśli zauważysz, że dany znacznik nie jest czytany przez czytnik ekranu, należy użyć kombinacji tych ról, aby działał, dopóki oprogramowanie nie zostanie naprawione z tą wadą. Więc nic nie jest ostateczne, tylko dokonaj dokładnych testów. – Ravi
Rozumiem. Dziękuję Ci. –