úterý 25. dubna 2017

Funkce Smart labelling system (SLS) posouvá přístupnost aplikací

Dnes si představíme jednu funkci, která znamená doslova revoluci v přístupnosti. Hodně jsme přemýšleli, zda se o ní zmínit právě na tomto webu, protože se nejedná o funkci Google. Ale nakonec převážilo to, že se jedná o počin, který tak významně posouvá přístupnost mnoha aplikací, že se přímo schopností přístupnosti Androidu dotýká. Budeme hovořit o funkci SLS - tuto zkratku jste jistě v posledních dnech zaznamenali a my si ji dnes podrobně představíme.

Proč je co nepřístupné?

Abychom pochopili přínos SLS, musíme se nejprve vrátit k základům. O čem je vlastně přístupnost? Je to především o technickém řešení dané technologie a aplikace, ať už se jedná o webový prohlížeč, kancelářskou aplikaci, nebo třeba aplikaci pro ovládání kávovaru. Ono technické řešení je pak vystavěno na několika pilířích, které jsou vesměs společné, jako, že co je nadpisem, mělo by být nadpisem, nebo že veškeré významové a ovládací prvky musejí být srozumitelně popsané a jednoduše ovladatelné.
A právě tady je nejčastější kámen úrazu. Aplikace jsou neovladatelné prostě proto, že jejich ovládací prvky nejsou přístupné - nejsou totiž popsané.

Jak řešit nepřístupné prvky?

Pokud narazíte na aplikaci plnou nepopsaných tlačítek, máte vesměs dvě možnosti:
  1. Aplikaci zahodit a dál se jí nezabývat.
  2. Nějak si zjistit, co dělá které tlačítko a pokusit se si tlačítka opatřit štítky.
Oba dva hlavní odečítače obrazovky, tedy Talkback i Shine mají mechanismy, jak si nepojmenovaná tlačítka popsat. Ve skutečnosti to funguje tak, že při přejetí fokusem na daný prvek vysloví odečítač to, co má zapsáno v "štítku" přiděleném tomuto tlačítku. Nahrazuje tak programátorův vandalismus, kdy si tento neobtěžoval přečíst a respektovat svoje povinnosti a nasázel tlačítka bez správného popsání v aplikaci. Občas se ale může stát, že ani odečítač nepomůže. Setkáte se totiž i s takovými tlačítky, která odečítačem prostě oštítkovat nelze.
A tady máte naprostou smůlu. Neexistuje způsob, jak pro odečítač označit nepojmenovaný objekt, pokud na něj nelze aplikovat funkce štítků samotného odečítače. Pak vám nezbude nic jiného, než buď aplikaci odinstalovat a oželet, nebo si zkusit zapamatovat pozici tlačítka a zkusit metodou pokus omyl takový prvek používat.
Nemáte žádnou šanci, jak přístupnost takhle lajdácky napsané aplikace zlepšit.
Nebo že by...?

Indický student chytřejší než týmy Google

S tímhle hlavolamem si spousta lidí dělá vrásky už několik let. Pak najednou přijde indický student Akash Kakkar a začne to řešit neortodoxním, skoro až programátorsky prasáckým způsobem, a možná i k jeho vlastnímu překvapení, objeví bombu.
Vymyslí funkci, která se pokusí z kontextu kódu, a hlavně výstupu na obrazovce, zjistit, co by daný prvek asi mohl znamenat a dělat. Používá k tomu různé algoritmy, které jsou dostatečně chytré, aby to zabralo. No a když už si jednou myslí, že ví, co daný prvek znamená, prostě nechá svůj automatický štítek vyslovit odečítačem v okamžiku, kdy systém zaznamená aktivní fokus na daném prvku.
Zdá se to relativně jednoduché a princip sám opravdu takhle jednoduchý je. V tom je právě ale jeho genialita. Samozřejmě obrovské množství práce je s tvorbou a učením oněch algoritmů pro automatické štítkování.

Výsledkem je obrovské zlepšení přístupnosti aplikací

Snad jste se v onom technickém popisu neztratili. Pojďme si tedy trochu lidštěji tuto funkci představit.
Funkce Smart labelling system (SLS) je vestavěna do původně něco úplně jiného řešící aplikace Audex, kterou Akash původně naprogramoval pro zvuková schémata pro systém Android. Co SLS tedy prakticky dělá? Pokouší se automaticky zjistit, co znamená jakýkoliv nepojmenovaný a nepopsaný prvek v jakékoliv aplikaci a tento prvek pojmenovat jeho automatickým chytrým štítkem. Odtud i název, neboť "Smart labelling" znamená přesně "chytré štítkování".
SLS nenahrazuje štítky v odečítači obrazovky, ale přidává automatické pojmenování tam, kde by štítky být nemusely, a hlavně i tam, kde to odečítače nezvládají samy. Najednou tak můžete mít přístupné prvky v mnoha do té doby naprosto nepoužitelných aplikacích.

Jak to funguje?

Nejlepší na tom je, že nemusíte dělat de facto vůbec nic. Celý SLS systém funguje naprosto automaticky bez nutnosti cokoliv nastavovat, nebo si ručně hrát s nepojmenovanými prvky.
Přesto má funkce takzvané "SLS" tlačítko, které najdete pouze, pokud jej prstem opravdu hledáte, a to přímo v levém horním rohu. To se použije opravdu jen zřídka, a to pro případy, kdy naopak u nějakého prvku nechcete, aby jej systém automaticky pojmenovával, třeba proto, že se v tomto případě algoritmus netrefil apod.

Výsledky jsou dobré a stále se zlepšují

První verze funkce byla doslova otřesná a způsobila všem, kdo si aplikaci nainstalovali nemalé problémy. Akash šel ale hodně do sebe a vše přepracoval. Výsledkem je překvapivě funkční systém. Samozřejmě nepojmenuje stoprocentně vše, a to, co pojmenuje, nemusí být vždy úplně správné, ale obrovský krok v přístupnosti to rozhodně je.
Akash sám říká cosi o 90 procentech a víc. No, reálné výsledky ze sady 40 aplikací jsou o trochu střízlivější. Je pojmenováno přibližně 80 procent všech nepojmenovaných prvků, z čehož asi 60 procent správně - tedy pochopitelně a u dalších 5-10 procent je název zmatečný, nebo tam nemá co dělat. Zbytek je pojmenován chybně, ale přesto se dá zapamatovat. co co dělá. Reálný dopad je tak u 75 procent prvků, z čehož 70 procent je opravdu užitečné pojmenovat.
Zlepšení přístupnosti u více jak dvou třetin do té doby nepřístupných prvků je pro první dva týdny této funkce úžasný výsledek. Sám autor navíc slibuje zlepšování jak učením algoritmu, tak úpravou toho, co a jak se bude chytře pojmenovávat. Takže čísla budou jistě i lepší. I tak ale je to ohromný posun k lepšímu.
Jděte do toho, stojí to za to.
Není důvod si nové funkce aplikace Audex nevyzkoušet.
  Tuto funkci představil autor před několika dny a z počátku byla spíš nepoužitelná. I my jsme před první verzí varovali. Od té doby je vše opraveno a celé řešení funguje skvěle a jednoduše. Nyní tedy naopak tuto funkci doporučujeme.
Aplikace Audex má i funkci zvukových schémat, ta se ale dají vypnout. a to po spuštění aplikace v jejím nastavení. Ale i zvuková schémata jsou dostatečně cool a mimochodem fungují lépe a rychleji než zvuková odezva v odečítačích, takže i ty doporučujeme vyzkoušet.

1 komentář:

  1. Protože funkce SLS je opravdu významným zlepšením, od nynějška budeme při hodnocení aplikací v databázi přístupných aplikací hodnotit také zlepšení jinak nepřístupných aplikací právě s SLS.

    OdpovědětSmazat