Bästa praxis för tillgänglighet (a11y)
Tillämpa principer för inkluderande design så att Era komponenter är tillgängliga för alla användare, även personer med funktionsnedsättningar.
Bästa praxis för tillgänglighet (a11y) är en gratis lektion i Designsystem och komponentbibliotek på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Designsystem och komponentbibliotek, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Designsystem och komponentbibliotek innehåller totalt 4 lektioner.
Vad är tillgänglighet (a11y)?
Tillgänglighet, ofta förkortat a11y, innebär att utforma och bygga produkter som alla kan använda, oavsett funktionsförmåga.
- Det säkerställer att personer med funktionsnedsättningar kan uppfatta, förstå, navigera i och interagera med era UI-komponenter.
- Det omfattar användare med visuella, auditiva, motoriska och kognitiva nedsättningar.
- Att bygga tillgängliga komponenter gynnar alla användare genom att förbättra den övergripande användbarheten.
Varför a11y är viktigt
Om tillgänglighet ignoreras kan en betydande del av era potentiella användare utestängas. Utöver etiska överväganden finns det starka praktiska och juridiska skäl:
- Bredare målgrupp: Nå fler användare över hela världen.
- Förbättrad SEO: Många a11y-metoder går hand i hand med bra SEO.
- Efterlevnad av lagar: Undvik potentiella stämningar och följ lagar som ADA.
- Bättre UX för alla: Funktioner som tangentbordsnavigering och tydlig kontrast hjälper alla.
WCAG: den vägledande standarden
Web Content Accessibility Guidelines (WCAG) är den internationella standarden för webbtillgänglighet, framtagen av W3C.
WCAG bygger på fyra huvudprinciper, som ofta sammanfattas med akronymen POUR:
- Möjlig att uppfatta: Information måste presenteras på sätt som användare kan uppfatta.
- Användbar: Gränssnittskomponenter och navigering måste gå att använda.
- Begriplig: Informationen och användargränssnittets funktion måste vara begripliga.
- Robust: Innehållet måste vara tillräckligt robust för att tolkas tillförlitligt av många olika användarprogram, inklusive hjälpmedel.
Semantisk HTML: grunden
Att använda rätt HTML-element är det mest grundläggande steget för tillgänglighet. Semantisk HTML ger innehållet betydelse som hjälpmedel kan förstå.
Använd till exempel <button> för en knapp, inte en <div> som formgetts för att se ut som en knapp. Då får den inbyggd tangentbordsinteraktion och roller.
Prova att köra det här exemplet:
<!DOCTYPE html>
<html>
<head>
<title>Semantic Button</title>
</head>
<body>
<button onclick="alert('Clicked!')">
Click Me (Semantic)
</button>
<div style="
padding: 10px;
border: 1px solid blue;
display: inline-block;
cursor: pointer;
margin-left: 10px;
" onclick="alert('Clicked!')">
Click Me (Non-Semantic)
</div>
</body>
</html>ARIA-attribut: förbättra semantiken
Ibland räcker inte inbyggd HTML för att förmedla hela betydelsen eller tillståndet hos en komplex UI-komponent. Det är här WAI-ARIA (Web Accessibility Initiative - Accessible Rich Internet Applications) kommer in.
ARIA-attribut ger hjälpmedel ytterligare semantisk information, men ändrar inte hur ett element ser ut eller beter sig för seende användare.
- Roller: Definierar typen av UI-element (t.ex.
role="alert",role="navigation"). - Tillstånd: Beskriver ett elements aktuella tillstånd (t.ex.
aria-expanded="true",aria-checked="false"). - Egenskaper: Anger attribut för ett element (t.ex.
aria-labelledby="heading").
Använda ARIA-etiketter
Attributet aria-label är viktigt för att ange ett tillgängligt namn för element som annars kanske saknar ett eller vars visuella etikett inte är tillräcklig.
Det används ofta för knappar som endast innehåller en ikon eller när knappens syfte inte framgår tydligt av den visuella texten.
Prova att köra det här exemplet:
<!DOCTYPE html>
<html>
<head>
<title>ARIA Label Example</title>
<style>
.icon-button {
background: none;
border: none;
font-size: 24px;
cursor: pointer;
}
</style>
</head>
<body>
<button class="icon-button" aria-label="Delete item">
🗑️
</button>
<p>The trash icon button has an accessible name "Delete item" for screen readers.</p>
</body>
</html>Tangentbordsnavigering och fokus
Många användare, bland annat personer med motoriska nedsättningar eller personer som är blinda, navigerar på webbplatser med endast ett tangentbord. Säkerställ att alla interaktiva element kan nås och användas med tangentbord.
- Tabbordning: Element bör kunna navigeras i en logisk ordning med tangenten
Tab. - Fokusindikatorer: Se till att det fokuserade elementet syns tydligt, till exempel med en kontur.
- Interaktiva element: Knappar, länkar och formulärkontroller bör kunna användas med
EnterellerSpace. tabindex: Användtabindex="0"för element som inte kan fokuseras naturligt men behöver kunna fokuseras, ochtabindex="-1"för att göra element programmerbart fokuserbara men inte fokuserbara med tabbtangenten. Undviktabindex-värden större än 0.
Färgkontrast för läsbarhet
Tillräcklig färgkontrast mellan text och bakgrund är avgörande för användare med nedsatt syn eller färgblindhet. WCAG rekommenderar specifika kontrastförhållanden:
- Normal text: Minst 4.5:1 i kontrastförhållande.
- Stor text (18pt/24px eller fetstil i 14pt/18.66px): Minst 3:1 i kontrastförhållande.
- UI-komponenter/grafiska objekt: Minst 3:1 i kontrastförhållande mot intilliggande färger.
Använd kontrastkontroller online eller webbläsarens utvecklarverktyg för att verifiera era färgval.
Alternativtext för bilder
Bilder förmedlar visuell information, men skärmläsare kan inte "se" dem. Attributet alt ger en textbeskrivning av en bild.
- Beskrivande
alt: Beskriv innehållet och funktionen för informativa bilder. - Tom
alt(alt=""): Används för rent dekorativa bilder som inte förmedlar viktig information. - Undvik upprepningar: Börja inte med "Bild av..." om det är uppenbart.
Prova att köra det här exemplet:
<!DOCTYPE html>
<html>
<head>
<title>Alt Text Example</title>
</head>
<body>
<img src="https://via.placeholder.com/150/0000FF/FFFFFF?text=Blue+Square"
alt="A blue square" width="150" height="150">
<p>The image above has an alt text description for screen readers.</p>
<img src="https://via.placeholder.com/150/CCCCCC/000000?text=Decorative"
alt="" width="150" height="150">
<p>This image is decorative and has an empty alt attribute.</p>
</body>
</html>Tillgänglighetskontroll
Vilken av följande metoder är BÄST för att säkerställa att en knapp är tillgänglig för alla användare, särskilt för dem som använder skärmläsare?
Sammanfattning: bygga inkluderande UI
I den här lektionen utforskade vi viktiga aspekter av att bygga tillgängliga UI-komponenter. Vi lärde oss att a11y säkerställer att alla kan använda era produkter, i enlighet med WCAG-principerna.
- Semantisk HTML är grunden.
- ARIA-attribut förbättrar semantiken för komplexa komponenter.
- Tangentbordsnavigering är avgörande för användbarheten.
- Färgkontrast säkerställer läsbarhet.
- Alt-text beskriver bilder för skärmläsare.
Genom att tillämpa dessa bästa metoder skapar ni en mer inkluderande och robust användarupplevelse för alla.
Lär dig Designsystem och komponentbibliotek med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Bästa praxis för tillgänglighet (a11y)” gratis?
Ja – hela texten till ”Bästa praxis för tillgänglighet (a11y)” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Designsystem och komponentbibliotek, kan Ni uppgradera till CoddyKit PRO. Kursen i Designsystem och komponentbibliotek innehåller totalt 4 lektioner.
Vad lär jag mig i ”Bästa praxis för tillgänglighet (a11y)”?
Tillämpa principer för inkluderande design så att Era komponenter är tillgängliga för alla användare, även personer med funktionsnedsättningar. Ni övar på Designsystem och komponentbibliotek med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Designsystem och komponentbibliotek?
Du behöver inga förkunskaper. Utbildningen i Designsystem och komponentbibliotek på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Bästa praxis för tillgänglighet (a11y)”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Designsystem och komponentbibliotek-lektionen?
Ja. Varje Designsystem och komponentbibliotek-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Tillståndslösa och tillståndsbaserade komponenter
- Props, state och händelsehantering
- Bästa praxis för tillgänglighet (a11y)
- Komposition och children-mönstret