Webbplats tillgänglighet Komma igång med ARIA

Vad du ska skapa

Med hjälp av standard HTML, kan moderna webbapps låsa ut användare med tillgänglighetsbehov. 

HTML är det dominerande språket på nätet, som används av nästan 83% av befintliga webbplatser. Även om det har skett några förändringar under de 25 åren sedan dess skapades, lämnar även nyare iterationer, till exempel HTML5 och AMP, mycket att önska, särskilt när det gäller tillgänglighet. Det är här ARIA kommer in. I den här handledningen ska jag prata om vad ARIA är, varför det är användbart för din webbplats och ett par sätt att lägga till på din webbplats.

Vad är ARIA?

ARIA, även känd som WAI-ARIA, står för Web Accessibility Initiatives tillgängliga Rich Internet Applications. Det fullständiga specifikationsdokumentet finns här. Observera att hela dokumentet är ganska tätt, så det kan vara en bra idé att börja med att läsa det här inlägget och kolla in några av de andra resurserna som jag länkar nedan. 

Huvudsyftet med ARIA är att möjliggöra avancerad semantisk struktur inom HTML som en motsvarighet till HTML: s syntax-tunga natur. Med andra ord, HTML berättar webbläsaren där saker går och ARIA berättar hur de interagerar.

Vem ansvarar för ARIA?

ARIA är ett projekt värd W3C (World Wide Web Consortium). Projektet följer samma standarder för uppdatering och redigering som andra initiativ. De tillhandahåller också ett GitHub-förråd av flera test som du kan köra för att se till att din sida körs korrekt.

Vad är fel med min aktuella webbplatsmarkering?

De flesta webbplatser som har en strukturerad, genomtänkt design gör det tillräckligt bra när det gäller adaptiv teknik (dvs skärmläsare). Att ha en användare att kunna räkna ut hur man använder din webbplats och att den är lätt att använda är olika saker. Lågsynsanvändare utgör nästan 2% av befolkningen, och för dem kan skillnaden innebära att man sparar mycket tid och detektivarbete när man försöker utföra grundläggande onlineuppgifter. Det kan vara skillnaden mellan att erbjuda besökare en spektakulär upplevelse och ge en labyrint för att de ska navigera.

Utöver det traditionella sättet att nå tillgänglighet, finner ARIA sin väg in i teknologier som ger nya uppdrag på standard interaktion. Ett ökande antal röstsystem, aggregerad webbläsning (som t.ex. inbyggda datorer) och andra innovationer sätter ARIA i bruk, utnyttjar sin ökade semantiska kapacitet.

Okej men vad gör det?

Sammantaget kopplar ARIA samman elementen på ett semantiskt meningsfullt sätt. Det ger användaren ytterligare mening om interaktion. Här är några exempel på hur det kan användas:

  1. Att associera icke-kapslade element: Med vanlig HTML kan användarens webbläsare bara se relationer baserade på föräldra- / barnrelationer. I vissa situationer kan vi dock ha en serie knappar parallella med innehållet i HTML-hierarkin. Med ARIA kan vi definiera vilken typ av kontroller varje knapp är, och vilket element det kontrollerar någon annanstans i dokumentet.
  2. Deklarera interaktiva element: Medan HTML ger en handfull element för interaktivitet definierar ARIA dussintals mer, vilket möjliggör mer granulära beskrivningar av vad varje element på din sida kan göra. Dessutom kan dessa tilldelas HTML-taggar som inte brukar användas för ett sådant ändamål, men kan vara meningsfulla i ditt specifika fall. Du kan till exempel använda
  3. tagga för en serie kryssrutor som du föredrar att inte vara sammansatt av formelement.
  4. Uppdateringsanmälningar för Live Area: En annan funktion som ARIA tillhandahåller är definitionen av ett "live" innehållsområde. När ett innehållsområde är definierat så kommer ARIA att meddela användaren när innehållet inom det här elementet ändras. Det här kan vara användbart när du ser till att personer med nedsatt syn vet att något har förändrats på din sida.

Lägger till ARIA på dina webbsidor

Vi har pratat om vad ARIA kan göra, så nu ska vi titta på några av de vanligaste exemplen. Vi börjar varje avsnitt med ett kortfattat redogörelse för målet vi vill uppnå, följt av ett kodprov av hur vi åstadkommer det.

Skapa alternativ etikettering med ARIA

När det gäller alternativ märkning är de flesta utvecklare bekanta med alt attribut som vanligen används på taggar. Denna tagg har ett viktigt syfte: beskriver bilden som den är kopplad till för ökad tillgänglighet (eller som en vanlig SEO-taktik, beroende på ditt perspektiv). 

ARIA ger ett liknande attribut kallat aria-etikett som kan kopplas till något HTML-element, vilket förbättrar tillgängligheten för inte bara bilder, utan även sidavsnitt, formskontroller och mer. Här är ett exempel på hur det ser ut:

    
En textbeskrivning av bilden, synlig på skärmen

Definiera ARIA-specifika användargränssnitt

HTML innehåller redan ett antal element för att skapa webbsidor, men deras huvudsakliga fokus är att generellt definiera ett område och presentera användaren med webbplatsens struktur. ARIA ger ett par dussin ytterligare element som fokuserar mer på hur ett element används, till exempel en timer, verktygstips eller framdriftsfält.

Ett exempel här är ett verktygstips som du kan hitta på en blankett. Det finns ett antal sätt att skapa en, allt från en länk som utlöser några JavaScript till ett element som skapar en modal när den svävar över. Den saknade biten här är det trots att det kan fungera för synskadade användare, kanske visionsanvändare kanske inte ens vet att verktygetipset finns.

Du kan definiera ett verktygstips med ARIA på följande sätt:

 

Tillgängliga ARIA-definitioner

För att expandera på dessa användargränssnitt, här är en kort lista över några av de mest intressanta "roller" som kan definieras. Den fullständiga listan finns tillgänglig i det angivna specifikationsdokumentet.

  • Sök
  • baner
  • presentation
  • verktygsfält
  • status
  • menuitem
  • logga
  • dialog
  • länk

Upprättande av relationer utanför moder- / barnstrukturen

Låt oss nu expandera på en punkt som vi pratade om tidigare: den tvungna strukturen i HTML. Medan föräldra / barns förhållande är bra för att bestämma hur saker ska beställas, blir det kort när mer meningsfulla kontakter behövs. Ett exempel på detta är syskonelement. Vissa bibliotek har lagt till möjligheten för syskon eller andra former av elementrelationer att korsas, men det händer vanligtvis i JavaScript eller ett annat språk utanför markeringen.

ARIA ger oss möjlighet att definiera dessa relationer direkt i markeringen, vilket gör det enklare att gruppera menyalternativ, skapa icke-standardiserad navigering och fästa kontroller till elementområden som skulle vara svåra att göra normalt.

Låt oss ta en titt på hur vi kan använda det här för att ansluta några kontroller till ett innehållsområde:

 
Din handledning är innehåll

Det här stycket säger att nextbutton.jpg bilden är en knapp, som är en kontroll för handledningen div Nedan.

Skapa "Live" Elements i ARIA

Den sista egenskapen hos ARIA som vi kommer att täcka här är aria-live attribut. Medan de flesta av de andra funktionerna i ARIA här handlar om semantiska anslutningar, handlar det här direkt om tanken att ge användarna meddelanden om innehåll eller elementändringar.

För många med låg syn kan det inte vara omedelbart klart att deras interaktion med din webbplats orsakade en förändring någon annanstans på sidan. Detta kan särskilt vara sant för subtila förändringar, till exempel små oskärpa av text som kan ändras men förbli relativt lika långa. Genom att använda det här attributet kommer varje användare att meddelas varje gång innehållet ändras inom det definierade elementet.

Vi kan lägga till det här attributet till ett element så här:

Innehåll som uppdateras, dvs. guidade anvisningar

Att göra webben till en bättre plats för alla användare

Med drygt 2% av den amerikanska befolkningen som bär någon form av lågvisningsetikett kan förbättring av tillgängligheten på din webbplats öka din webbplatss räckvidd dramatiskt. För dem med webbplatser som når flera länder blir det numret ännu större. Utöver tillgänglighet erbjuder ARIA också ett sätt för gränssnitt för icke-webbläsare att använda din webbplats, med ett antal röstbaserade enheter som redan tillhandahåller stöd.

Genomförandet av ARIA hjälper dina användare och kan hjälpa din trafik, så ta itu med det!

Missade jag några detaljer, eller har du ytterligare frågor? Lämna en kommentar nedan!

Om du vill dyka in i hela ARIA-dokumentationen eller prova det officiella testverktyget, kolla länkarna nedan:

  • ARIA Authoring Practices
  • Fullständigt ARIA-specifikationsdokument
  • Testverktygs exempelrapport