Digital design,
3. semester
De kommer fra standarden WCAG 2.1, og de dækker blandt andet over:
<a href="#0" class="button">
I am a fake unsemantic button
</a>
<div class="button">
I am even worse
</div>
<button type="button">
I am a real semantic button
</button>
<div class="btn" role="button" aria-pressed="false" tabindex="0"> </div>
<div class="btn" role="button" aria-pressed="false" tabindex="0"> </div>
<div class="btn" role="button" aria-pressed="false" tabindex="0"> </div>
<div class="btn" role="button" aria-pressed="false" tabindex="0"> </div>
<div class="btn" role="button" aria-pressed="false" tabindex="0"> </div>
wrapper.addEventListener("keydown", e => {
if (e.key === " " || e.key === "Enter" || e.key === "Spacebar") {
toggleBtn(e.target);
}
});
https://benfrain.com/converting-divs-into-accessible-pseudo-buttons/
Tab order
Tab order i Firefox
Skip links
<div class=”button_icon” tabindex=”0”>Træls knap</div>
Med ARIA kan vi formidle mere komplekse elementer, som vi kender fra operativsystem grænsefladen men som ikke er en standard del af html.
Kan i fine på nogle komponenter som ikke findes i html?
Accessible Rich Internet Applications
ARIA kan betragtes som en slags CSS for bl.a. skærmlæsere
Skærmlæsere kommunikerer via accessibility API (accessibility tree).
Der er tre typer ARIA attributter.
Siger noget om elementets tilstand fx aria-checked, aria-pressed, aria-expanded.
Siger noget om en egenskab ved elementet fx aria-label, aria-haspopup, aria-level.
Eksempler
Tabs
Accordion
Toolbar
<nav></nav> <!-- Hvilken navigation? -->
<nav aria-label="Hovedmenu"></nav> <!-- "Hovedmenu navigation" -->
<nav aria-labelledby="breadcrumb"> <!-- "Brødkrumme navigation" --> <h2 id="breadcrumb">Brødkrumme</h2> ... </nav>
axe Accessibility Linter
Error Lens