Accessibility
Digital design,
3. semester
Opsamling fra i går
Hvad er webtilgængelighed?
Hvorfor skal vi beskæftige os med det på MMD?
Er det kun godt for folk med et handicap?
Hvad er webtilgængelighed?
Hvorfor skal vi beskæftige os med det på MMD?
Er det kun godt for folk med et handicap?

Hvad er webtilgængelighed?

Hvorfor skal vi beskæftige os med det på MMD?







Tilgængelig for alle

De kommer fra standarden WCAG 2.1, og de dækker blandt andet over:
- at billeder gøres opfattelige for skærmlæserprogrammer ved at tekstliggøre billederne
- at webstedet er anvendeligt for brugere, der bruger tastatur og ikke mus
- at en digital selvbetjeningsløsning er forståelig ved at tilbyde fejlforslag og instruktioner ved indtastning af fejl
- at webstedet er robust ved at benytte kodning korrekt, så brugerens værktøjer kan fortolke dem ensartet
Opfattelig
Anvendelig
Forståelig
Robust
<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>
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/

Tilgængelighed i kode
- Brug altid semantisk kode
- Brug ARIA når HTML ikke er tilstrækkeligt
- Design til tastatur-brugere
Kender du allerede noget til ARIA? (Accesible Rich Internet Applications)
Tastatur-brugere
- Focus-styles vha. :focus-visible og :active
-
Tab order
-
Tab order i Firefox
-
-
Skip links
:focus

Tastatur-brugere
Hvad kan fokuseres?
Tastatur-brugere
- a[href]
- input
- select
- textarea
- button
- iframe
- [tabindex="0"]
- [tabindex="positive value"]
Hvad kan fokuseres?
Tastatur-brugere
- tabindex=”-1”: Gør elementer fokuserbare, men inkluderer ikke i tab rækkefølge
- tabindex=”0”: Inddrager element i tab rækkefølgen
- tabindex=”5”: Overskriver tab rækkefølgen
<div class=”button_icon” tabindex=”0”>Træls knap</div>
Tab-rækkefølge i Firefox

Tastatur-brugere
Skip-link
Tastatur-brugere
Krav
Tastatur-brugere
- Alt skal kunne betjenes fra tastaturet. Så bruger der ikke kan bruge musen også har en chance.
- Der skal være synligt tastaturfokus. Så vi kan se, hvor vi er når vi navigerer med tastaturet.
- Tilbyd mulighed for at springe over menuer/indhold. Så brugeren ikke får ondt i tungen.
- Undgå tastaturfæller. Så man ikke som tastaturbruger hænger fast uden at kunne komme tilbage, videre eller væk.
Spil
Tastatur-brugere
WAI-ARIA
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
WAI-ARIA
ARIA kan betragtes som en slags CSS for bl.a. skærmlæsere
WAI-ARIA
Skærmlæsere kommunikerer via accessibility API (accessibility tree).
- ARIA opdaterer role, state og property i accessibility tree.
- ARIA ændrer ikke på browserens opførsel.
WAI-ARIA
Der er tre typer ARIA attributter.
- Role
- State
- Property
WAI-ARIA
- Siger hvad et element er, button, dialog, radiogroup.
- Et element ma ikke dynamisk skifte rolle.
- Nogle roller er afhængige af andre fx listitem i list.
- Nogle roller er landmarks, nav, main, search.
Role
WAI-ARIA
Siger noget om elementets tilstand fx aria-checked, aria-pressed, aria-expanded.
State
WAI-ARIA
Siger noget om en egenskab ved elementet fx aria-label, aria-haspopup, aria-level.
Property
WAI-ARIA
Eksempler

Tabs
Accordion
Toolbar
Skærmlæser-navigation
Navngiv din HTML
Vartegn ("Landmarks")
Navngiv din HTML
<nav></nav> <!-- Hvilken navigation? -->
Navngiv din HTML
<nav aria-label="Hovedmenu"></nav> <!-- "Hovedmenu navigation" -->
<nav aria-labelledby="breadcrumb"> <!-- "Brødkrumme navigation" -->
<h2 id="breadcrumb">Brødkrumme</h2>
...
</nav>
Extensions
axe Accessibility Linter


Error Lens
A11y 2
By Dannie Vinther
A11y 2
Tilgængelighed
- 87