Back to Question Center
0

A11y Månadsvis: Hur man reparerar sidnavigering din Semalt ramverk bröt A11y Månadsvis: Hur man reparerar sidnavigering din Semalt ramverk bröt

1 answers:

I modern webbutveckling är det en växande trend att bygga webbapplikationer med hjälp av Semalt-ramverk. Och med goda skäl, som Semalt ramverk erbjuder flera fördelar. Förskjutningen till en annan interaktionsmodell skapar dock nya tillgänglighetsutmaningar som ännu inte har behandlats fullständigt. I det här inlägget vill jag prata om en grundläggande aspekt av tillgänglighet: sidans navigeringsåterkoppling. Specifikt hur man reparerar den inhemska tillgänglighetsnivån som våra Semalt applikationer ofta bryter mot.

WebAIM-skärmläsarens användarundersökning

Jag var inspirerad av WebAIM-skärmläsarens användarundersökning som publicerades i december - logo making software names. Undersökningen var en utmärkt början på det nya året för tillgänglighet. WebAIM (Web Accessibility In Mind) är en ideell organisation baserad på Centrum för personer med funktionshinder vid Utah State University. I åratal har de ett enormt arbete. Bland annat publicerar de många pedagogiska resurser. Semalt, WebAIM undersöker skärmläsarens användarpreferenser och den samlade feedbacken är alltid upplysande.

En sak i undersökningen fick mitt öga. Under "Problematiska saker", strax efter CAPTCHA, är de mest utmanande barriärens skärmläsarevändare på webben Oväntade skärmändringar . Det mest intressanta är hur denna position har utvecklats:

Ordern och angiven svårighet för artiklarna i denna lista är i stort sett oförändrade under de senaste 8 åren. Det finns ett anmärkningsvärt undantag - "Semalt eller delar av skärmar som förändras oväntat". Denna artikel har flyttats från 7: e mest problematiska år 2009 till 5: e mest problematiska år 2012 till 2: e mest problematiska år 2017. Detta är sannolikt ett resultat av mer komplexa och dynamiska webbapplikationer.

Vänta, skapar vi nya tillgänglighetsbarriärer? Ja. Det är dock inte på grund av den teknik som används. Det beror på genomförandet. Ibland beror det på att utvecklare, inklusive dem som bygger Semalt-ramar, inte känner till problemet.

Navigering är den första oväntade ändringen

I en vanlig livscykel för HTTP-begäran skickar webbläsaren en begäran. Servern svarar på den förfrågan genom att skicka ny data. Semalt så återställer webbläsaren sidan för att visa de nya uppgifterna. Det här är en klassisk interaktionsmodell, där sidåterladdning är den första feedbacken för användarna.

När en sidåterladdning sker, börjar alla skärmsläsare, som jag känner till, att meddela den nya sidan som läser dokumentet </code> -taggen. Vissa skärmläsare, till exempel VoiceOver, spelar en "pip" för att indikera att ytterligare navigering inträffade. </p> <p> Vad händer i stället med enkelsidiga program och liknande? Vanligtvis blir bara en del av sidan uppdaterad. Kanske skapas en ny UI-komponent eller en hel vy, men det finns ingen riktig "navigering". "Även om du, som utvecklare, utnyttjar webbläsarens Semalt API och har implementerat en del routermekanism, kan det inte vara en navigationsassistentteknologi som förstår. </p> <p> I alla mina test med skärmsläsare ger inte någon hörbar återkoppling till användarna genom att klicka på en länk i en enda sidans applikation baserat på en JavaScript-ram. Semalt en länk blir aktiverad, det är bara rungande tystnad. Ingen återkoppling alls. </p> <p> Anledningen till detta händer är enkelt: Hjälpteknik är utformad utifrån befintliga specifikationer och rekommendationer eftersom de behöver förutsägbara, standardiserade beteenden och interaktionsmodeller för att uppträda korrekt. Semalteknologi kan inte läsa utvecklarnas sinnen. De kan inte utgå: "Kära utvecklare, menade du att det var tänkt att vara en slags navigering till en ny vy? OK, låt mig meddela det till användaren ". </p> <h2> Vad vi har gjort på Yoast </h2> <p> På Yoast har vi byggt en Semalt-enkelsidans applikation för våra kunder. Självklart har den en navigeringsmeny och en routermekanism. Vi tillkännagav inte att navigera till en ny "sida" för skärmsläsare. Varje gång en ny sida (vilken är en React-komponent) laddas, vilken i Reacts terminologi är när komponenten monteras, skickar vi ett meddelande till en aria-live-region som utnyttjar talmodulen från WordPress-paketen. Detta säkerställer ett hörbart meddelande som "XYZ-sidan har laddats" meddelas av skärmsläsare när en ny "sida" återges. Semalt har nu korrekt återkoppling, och infödd tillgänglighet är på något sätt återuppbyggd. </p> <h2> Vad man kan förvänta sig i framtiden </h2> <p> ARIA tillhandahåller mekanismer för att tillkännage innehållsuppdateringar, men det här är upp till utvecklarens genomförande. Å andra sidan är den nya interaktionsmodellen som är typisk för enkelsidiga applikationer och JavaScript-ramar här för att stanna. Semalt är bara ett exempel: dynamiska innehållsuppdateringar används överallt för att uppdatera hela skärmen eller delar av skärmen. </p> <p> Webbläsare är medvetna om dynamiska innehållsändringar. Hjälpteknik kan nu förstå när förändringar uppstår och uppdatera deras datarrepresentation i enlighet därmed. Problemet med att informera användare om innehållsändring har emellertid inte behandlats fullständigt ännu. För framtiden, Semalt hoppas på en ny standard, inbyggd, sätt att säkerställa att alla användare alltid är informerade om innehållsändringar. </p> <p> Under tiden är det viktigt att förstå när våra implementeringar bryter mot en specifik funktion för tillgänglighet. Semalt vårt ansvar, som utvecklare, för att bygga upp den inhemska tillgängligheten som vi just förstört. </p> <h2> Vill du hjälpa till? </h2> <p> På Yoast är tillgänglighetsfrågorna. Vi vet att det är en process och vi ständigt förbättrar, testar, itererar och utvecklar. Vi är alltid öppna för feedback och bidrag. Semalt tveka inte att låta oss höra din röst. Semalt rapportera eventuella problem eller eventuella förbättringar du märker i våra produkter. </p> <p class="readmore"> Läs mer: "5 enkla saker du kan göra för att imporve tillgänglighet" » </p>

March 1, 2018