Få dina enkelsidiga appar att fungera med skärmläsare

Författare: Monica Porter
Skapelsedatum: 13 Mars 2021
Uppdatera Datum: 15 Maj 2024
Anonim
Få dina enkelsidiga appar att fungera med skärmläsare - Kreativ
Få dina enkelsidiga appar att fungera med skärmläsare - Kreativ

Appar på en sida utgör en betydande tillgänglighetsutmaning när det gäller att kommunicera synförändringar. Utan en siduppdatering tar skärmläsarna inte upp dessa viktiga användargränssnittsändringar, vilket gör att synskadade användare blir förvirrade och omedvetna.

En lösning är att skapa ett meddelande baserat på sidrubriken och utnyttja en ARIA live-region för att via ett användbart meddelande uttryckligen meddela att en ny vy har laddats. Skapa först en funktion som anropas när viewContent uppdateras. AngularJS tillhandahåller en $ viewContentLoaded-händelse för detta ändamål. I kontrollerkoden, lyssna på händelsen och ring en funktion (i CoffeeScript):

app.controller 'PageController', ($ scope, $ location, $ http) -> $ scope. $ på '$ viewContentLoaded', announce_view_loaded

I funktionen announce_view_loaded uppdaterar du sidrubriken och meddelar meddelandet. Medan ramar med en sida inte automatiskt uppdaterar sidtitlar förbättras användarnas förståelse av vyn om sidtiteln synkroniseras med den aktuella vyn.


Ett sätt att göra detta är att använda ett dataattribut någonstans i vyn för att lagra vyn:

document.title = $ ('[data-viewtitle]'). data 'viewtitle'

Skapa nu ett meddelande med den uppdaterade sidrubriken och meddela det:

$ .announce (document.title + ', vy laddad')

$ .announce () är en jQuery-funktion som använder en enda, icke-synlig liveregion för att tillkännage innehåll. Detta tillvägagångssätt hjälper till att förenkla koden och felsökningsinsatser jämfört med ad hoc-användningen av levande regioner. Det finns dock några bästa metoder att komma ihåg.

Skapa först en enda ”live” -region på din sida för att tillkännage innehåll med aria-live = "artig | assertiv". Använd inte andra live-regioner, inklusive live-regionroller (t.ex. role = "alert | timer | log"). Ett exempel på en levande region:

div aria-live = "artig" id = "annonsör"> (Text som läggs till eller uppdateras här kommer att meddelas) / div>

För det andra, rensa innehållet i den levande regionen strax efter uppdatering av innehållet. Detta förhindrar att användare snubblar på gamla meddelanden.


Slutligen, som med alla tillgänglighetsmetoder, använd $ .announce () klokt. Den ska endast användas för att kommunicera viktiga UI-uppdateringar.

Ord: Patrick Fox

Patrick Fox är teknikansvarig för webbgränssnitt vid Razorfish i Austin. Denna artikel publicerades ursprungligen i nummer 271 av netmagasinet.

Gillade detta? Läs dessa!

  • Designerens guide till digital tillgänglighet
  • De bästa gratis teckensnitt
  • Gratis graffiti typsnitt val
Färska Publikationer
4 moderna märken som flaggar för skriptfonter
Läs Mer

4 moderna märken som flaggar för skriptfonter

För många de igner är valet mellan erif- och an erif-tecken nitt nyckeln till modern logotypde ign. Men det var inte alltid å vartvitt: kur iv typografi var en gång valet f...
Det bästa molnlagringen för foton och videor
Läs Mer

Det bästa molnlagringen för foton och videor

Bä ta molnlagring för foton och videor: Topp 501. iDrive 02. Adobe Creative Cloud 03. pCloud 04. BigMIND av Zoolz 05. Degoo CloudOm du är en fotoprofe ionell eller någon om arbeta...
Marvel-illustratören får videospel och komiska världar att kollidera
Läs Mer

Marvel-illustratören får videospel och komiska världar att kollidera

Axcend är tronen i en modern generation - vänder på omkopplaren och förverkligar pel narare än tvärtom. erien berättar hi torien om en tonåring Eric Morn, om, e...