Ho creato una pagina utilizzando Bootstrap con un layout standard dei collegamenti pagina successiva e precedente. Nella prima pagina, a disattivare il link 'pagina precedente' come segue:Can aria-disabled può essere applicato solo a un elemento focalizzabile? Non si applica anche agli elementi figlio?
<div role="navigation">
<ul class="pager">
<li class="previous disabled" aria-disabled="true">
<a href="#">Previous page</a>
</li>
<li class="next">
<a href="search.php?page=2">Next page</a>
</li>
</ul>
</div>
Sembra screen reader (JAWS, NVDA e VoiceOver) non si è visto la bandiera aria-disabled="true"
, anche se il W3C WAI-ARIA spec stati:
lo stato di essere disabilitato vale per l'elemento corrente e tutti gli elementi discendenti focalizzabili dell'elemento sul quale viene applicato l'attributo aria disabilitata.
Se aggiungo aria-disabled="true"
al link:
...
<li class="previous disabled" aria-disabled="true">
<a href="#" aria-disabled="true">Previous page</a>
</li>
...
allora funziona come avevo sperato, con lo screen reader che descrive il collegamento come 'disabilitato'.
Sto fraintendendo le specifiche WAI-ARIA, o si tratta di una 'funzione' dell'implementazione dello screen reader? In his comment on 'How do i tell a screen reader that a link is disabled', Bryan Garaventa menzioni:
... l'uso di aria-disabile funziona meglio per gli elementi che hanno un ruolo definito, come ad esempio il ruolo tasto =.
Può aria-disabled
solo essere applicato ad elementi focusable?
Sembra che tu abbia dei bug scoperti nelle implementazioni, per favore segnala questo bug ai venditori del browser – unobf