MacOS a VoiceOver – Klávesnicový fokus a ukazatel myši

"Ukazatel", "kurzor", "fokus", "výběr", "blok", to jsou všechno synonyma pro vyznačení konkrétního místa na obrazovce v grafickém uživatelském rozhraní, s nímž právě můžeme pracovat. Obecný ukazatel má tyto vlastnosti:

Nastavení pozice
Operační systém určuje způsob pohybu ukazatele, přijímá příkazy pro jeho pohyb a dovoluje většinou již samotným zaměřením dát na jevo určitý náš záměr – typicky např. stisk určité klávesové zkratky pro pohyb kurzoru.
Prozkoumání pozice
Operační systém nám může podat informaci jak o pozici ukazatele, tak o prvku pod ním – typicky např. informace o číslu řádku a sloupce v textu nebo typu prvku, jeho názvu a stavu.
Možnosti ovládání prvku
Operační systém nám zpravidla nabízí jednu či více akcí, jak můžeme interagovat s prvkem pod ukazatelem – typicky např. aktivace prvku či vyvolání jeho kontextové nabídky.
Výchozí akce prvku
Má-li ukazatel možnost zaměřený prvek aktivovat a provedená akce se může lišit v závislosti na zaměřeném prvku, může nám ukazatel svým vzhledem či jiným způsobem dát na jevo typ akce ještě před aktivací, typicky např. symbol ruky značí odkaz, tedy výchozí akce (kliknutí) vyvolá přechod na tento odkaz..

Používáme-li odečítač VoiceOver na počítačích Macintosh od firmy Apple, můžeme pracovat až se třemi ukazateli:

  1. KLávesnicový fokus (keyboard focus, krkolomě překládaný jako zaměření z klávesnice), dále jen jako fokus.
  2. VoiceOver kurzor, též lépe česky "kurzor VoiceOveru".
  3. Ukazatel myši.

Minimálně první dva jsou spolu při pohybu svázány a neuvědomíme-li si to, ovládáme někdy klávesnicový fokus, někdy kurzor VoiceOveru. To může vést k tomu, že věci někdy nefungují tak, jak bychom očekávali. Pojďme si uvedené kurzory představit a upozornit na jejich vzájemné ovlivňování.

Fokus

Fokus ukazuje prvek na obrazovce, s nímž můžeme interagovat podle toho, o jaký typ prvku se jedná. U textových polí, nabídek a seznamů má navíc svou specifičtější podobu nazývanou jako výběr. V tomto případě nestačí tedy jen říct, který prvek je zaměřen, ale navíc které položky nebo který blok textu je vybrán.

Fokus zpravidla nemůže být umístěn na prvek, který nenabízí žádnou interakci. Navíc jeho působnost ve výchozím nastavení je omezena na prvky, uvnitř nichž můžeme činit výběr, což jsou již zmíněné editační pole, nabídky a seznamy. Aby fokus mohl zaměřit všechny ovládací prvky, musíme zapnout tzv. úplný přístup z klávesnice, který můžeme přepínat příslušným přepínačem v Předvolbách systému > na panelu Klávesnice > na kartě Zkratky nebo též kdekoli klávesovou zkratkou F7. Při prvotním spuštění VoiceOveru se úplný přístup z klávesnice zapne, neboť je pro nás poměrně důležitý.

Ovládání fokusu

Vlastníkem fokusu je okno, tudíž jeho působnost je omezena na prvky v aktuálním okně na popředí. Přepneme-li se do okna jiného, je pozice fokusu v starém okně zapamatována a fokus je v novém aktivním okně umístěn na prvek, jenž je deklarován jako výchozí pozice, nebo na prvek, jenž byl v okně naposledy zaměřen a zapamatován.

Nejjednoduším pohybem fokusu je cyklické sekvenční procházení prvků v aktuálním okně klávesou , tzv. Tab Order, přičemž pro opačný směr lze použít ⇧⇥. Pokud se fokus nachází na prvku, který sám o sobě klávesu využívá pro vstup, typicky víceřádková editační pole, můžeme z něj odejít kombinací ⌃⇥. Aby výčet chování klávesy byl kompletní, zmiňme, že v jednoduchých editačních polích, které lze touto klávesou opustit, můžeme znak tabulátoru vepsat kombinací ⌥⇥.

Seskupuje-li ovládací prvek pod sebe více prvků nebo dovoluje-li v rámci sebe podvýběr, můžeme pro elementární pohyb navíc použít kurzorové šipky pro přesun fokusu žádaným směrem – např. kurzorovými šipkami vybíráme ikony v mřížce ikonového zobrazení na ploše..

Fokus můžeme z klávesnice přesunout i mimo aktuální okno, je však k tomu třeba mít povolený přístup z klávesnice. Zapnutí a vypnutí této funkce se ve výchozím nastavení přepíná klávesovou zkratkou F1, kterou lze změnit v kategorii zkratek KLávesnice (výše zmíněná karta Zkratky v panelu předvoleb klávesnice). Je-li funkce povolena, můžeme použít ve výchozím nastavení pro přemisťování fokusu klávesové zkratky uvedené ve stejné kategorii zkratek jako přepínání přístupu z klávesnice.

Vybrat aktivní nebo další okno (F4)
Odejdeme-li z aktivního okna např. do řádku nabídek nebo do docku, můžeme se tímto příkazem vrátit zpět. Použijeme-li tuto klávesovou zkratku rovnou v aktivním okně, dojde k předání fokusu do dalšího viditelného okna na obrazovce bez ohledu na to, které aplikaci patří.
Vybrat plovoucí okno (F6)
Tento příkaz naštěstí v dnešní době není nutno nějak zvlášť používat, neboť nejrůznější našeptávače již s přístupností počítají a fokus se do nich automaticky po zobrazení přesune.
Vybrat další/předchozí okno (⌘¨/⇧⌘¨)
Těmito příkazy si mohou fokus postupně předat mezi sebou všechny viditelné (neminimalizované) okna aktuální aplikace v popředí. Tyto klávesové zkratky můžeme použít i v aplikacích, které nativně přepínání mezi svými okny nenabízí (např. iTunes), což pro uživatele odkázaného pouze na klávesnici je velmi užitečné.
Vybrat panel nástrojů okna (F5)
Má-li aktuální okno oblast s panelem nástrojů, což bývá většinou hlavní okno aplikace, můžeme fokus odkudkoli v okně přemístit do něj právě tímto příkazem. Např. v Safari tato klávesová zkratka přemístí fokus na adresní řádek, jenž se nachází v panelu nástrojů. Dále mezi ovládacími prvky panelu nástrojů se pohybujeme obvykle klávesou .
Vybrat řádek nabídek (F2)
Tento příkaz přemístí fokus na první nabídku v řádku aplikačních nabídek při horním okraji okna, což je nabídka Apple. Mezi samotnými nabídkami a uvnitř nich se dále pohybujeme obvyklým způsobem kurzorovými šipkami.
Vybrat stavové nabídky (F8)
Fokus by se zde měl chovat obdobně jako v aplikačních nabídkách, avšak kvůli chybám v operačním systému MacOS a nedůsledností aplikací třetích stran v oblasti přístupnosti , které mohou do stavových nabídek přidávat své nabídky, je v době psaní tohoto textu (MacOS 10.13 High Sierra) obtížné až nemožné stavové nabídky ovládat pouze fokusem.
Vybrat Dock (F3)
Tento příkaz přemístí fokus na první ikonu v docku. Mezi ikonami se dále pohybujeme intuitivním způsobem, tedy kurzorovými šipkami vlevo a vpravo.

Poznámka: Výše uvedené příkazy jsou zcela nezávislé na odečítači VoiceOver a jsou primárně určeny těm, kteří jej nepoužívají.

Interakce fokusu

Mluvíme-li o obvyklém či intuitivním ovládání, je to proto, že pro základní pohyb fokusu a pro práci s aktuálním ovládacím prvkem potřebujeme znát poměrně malou množinu klávesových zkratek. Kromě již zmíněné klávesy jsou to tyto:

  • Mezerník – Aktivuje (stiskne) zaměřený ovládací prvek, tedy tlačítko se stiskne a provede se příslušná akce, potvrdí se položka v nabídce, vyskakovací tlačítko zobrazí přidruženou nabídku, zaškrtávací políčko přepne svůj stav zaškrtnutí apod.
  • / – Vybere nejbližší položku v mřížce v daném směru, posune textový kurzor na předchozí/další znak nebo rozbalí či sbalí větev stromového seznamu a zaměří příslušnou položku v nadřazené nebo podřazené úrovni.
  • / – Vybere nejbližší položku v mřížce v daném směru, posune textový kurzor na předchozí/další řádek nebo vybere předchozí/další volbu přepínače, položku v nabídce či seznamu . Má-li zaměřený ovládací prvek podnabídku jako např. vyskakovací tlačítko, aplikační nabídka či ikona v docku, můžeme ji vyvolat právě těmito šipkami. Zatímco u aplikačních nabídek pro otevření lze použít pouze šipku dolů, v docku je to pouze šipka nahoru.
  • – V nabídkách potvrdí vybranou položku nebo rozbalí podnabídku, zatímco v dialozích a formulářích aktivuje výchozí tlačítko, typicky tlačítko OK.
  • – Vrátí fokus na místo, na němž se nacházel před vyvoláním dialogu či nabídky, a tak zruší zobrazení takové nabídky či dialogu.

Existuje samozřejmě plno dalších klávesových zkratek, které interakci fokusu zefektivňují, jako např. ⌥↑/⌥↓ pro vybrání první/poslední položky v seznamu či nabídce, ale výše uvedené je minimem, jímž dosáhneme všeho. Samozřejmě pro pohyb v textu je téměř nutností při výhradním ovládání z klávesnice použít další klávesové zkratky, ale ty opět spočívají jen v tom, že ke kurzorovým šipkám přidáme přeřaďovač či .

Pod interakce fokusu spadají i klávesové zkratky pro rošiřování a zužování výběru a to standardním způsobem tak, že ke kurzorovým šipkám, popř. dalším klávesám, přidáme ještě . Tím můžeme zaměřit více položek či blok textu ve spojité oblasti. Je dobré připomenout, že zaměřením jiné položky, resp. posunem textového kurzoru bez klávesy , dosavední výběr zrušíme. Fokus umí sice zaměřit i seznam položek, které netvoří souvislý blok, ale vyžaduje to součinnost s ukazatelem myši a to tak, že stiskneme a postupně klikneme na položky pro jejich přidání do výběru. Pro tento postup bohužel neexistuje alternativa čistě ovladatelná z klávesnice bez asistence odečítače VoiceOver.

Podobná situace panuje okolo kontextových nabídek. V kontextové nabídce se můžeme pohybovat fokusem, ale pro její vyvolání potřebujeme součinnost ukazatele myši, tedy kliknutí na místo fokusu v kombinaci s klávesou , popř. pomoci si funkcemi odečítače VoiceOver. MacOS nezná bohužel analogii ke klávese kontextového menu ve WIndows.

Součinnost fokusu a VoiceOveru

Vidíme-li na obrazovku, je identifikace pozice fokusu a případného výběru intuitivní podle vizuálního zvýraznění. Jsme-li odkázáni na odečítač VoiceOver, můžeme fokus i tak sledovat. VoiceOver automaticky oznamuje každou novou pozici fokusu podle těchto pravidel:

  • Oznámí název okna a přehraje zvukový signál, přejde-li fokus do jiného okna, které se tak stane aktivním.
  • Oznámí popisek ovládacího prvku a jeho typ, dojde-li k přesunu fokusu mezi prvky. Dle typu prvku navíc VoiceOver oznámí:
    1. Stav prvku – např. u zaškrtávacího políčka.
    2. Výběr uvnitř prvku – např. u seznamu.
    3. Obsah prvku, popř. pozice textového kurzoru – např. u textového pole.
  • Změna je oznámena, dojde-li ke změně uvnitř aktuálně zaměřeného prvku – např. výběr další položky v seznamu, posun textového kurzoru apod.

Nad to si můžeme nechat přečíst výběr v aktuálně zaměřeném prvku pomocí VOF6, tedy výčet označených položek či označený blok textu. Další příkazy pro práci s fokusem má VoiceOver vázané na klávesu F4.

  • VOF4 – Zopakuje informace o popisku, typu a stavu aktuálně zaměřeného ovládacího prvku.
  • VOF4F4 – Po druhém stisku F4 Přečte dodatečné informace o zaměřeném ovládacím prvku, jsou-li k dispozici – typicky relativní pozice textového kurzoru vzhledem k okrajům textového pole, .
  • VOF4 – Zaměří fokus na ovládací prvek, na němž nebo uvnitř něhož se nachází kurzor VoiceOveru a je-li to možné, nastaví i výběr. Vybereme-li tedy v seznamu kurzorem VOiceOveru konkrétní položku a přivoláme fokus, zaměří se seznam a v něm se vybere i ona položka. Není vhodné příliš předbíhat, ale sluší se na tomto místě poznamenat, že ne všechny prvky zaměřitelné kurzorem VoiceOveru zvládne zaměřit i fokus, tudíž někdy přivolání není možné.
  • VOF4 – Přivolá kurzor VoiceOveru na ovládací prvek zaměřený fokusem, popř. na konkrétní výběr položek nebo blok textu uvnitř něj.

Běžně fokus a kurzor VoiceOveru jsou synchronizovány, tj. navzájem se následují. Zmíněné přivolávací příkazy použijeme ve specifických případech, jako je u hůře přístupných vícevýběrových seznamů, kdy je nutno fokus a kurzor VoiceOveru od sebe oddělit. Synchronizaci kurzorů můžeme kdykoli vypnout a zapnout klávesovou zkratkou VOF3. Z výše uvedené poznámky vyplývá, že fokus umí zaměřit menší množinu prvků na obrazovce a následuje kurzor VOiceOveru tedy jen na prvky, na které je schopen se dostat.

Poznámka ke kurzorovým šipkám

Pozor: Je nutno mít na paměti, že pokud máme zapnutou rychlou navigaci VoiceOver kurzoru, ovládáme kurzorovými šipkami kurzor VoiceOveru namísto fokus, proto např. stisk levé či pravé šipky se v textu při rychlé navigaci posune o slovo a nikoli jen o znak, jak to činí fokus.

Ukazatel myši

Ukazatel myši je pro většinu uživatelů zcela přirozeným prostředkem pro interakci s uživatelským rozhraním. Pohybujeme jím buď posunem myši po podložce nebo tažením prstem po trackpadu, kdy kopíruje náš pohyb, jenž je spojitý a není limitovaný zobrazeným obsahem, zatímco fokus nespojitě přechází z jednoho zobrazeného ovládacího prvku na druhý.

Interakce ukazatele myši

Ukazatel myši mění svůj tvar podle toho, přes jaké prvky na obrazovce přechází a jak se tak mění výchozí akce kliknutí, kterou vyvoláme stiskem tlačítka myši či trackpadu – např. kliknutí na tlačítko jej stiskne, na zaškrtávacím políčku přepne jeho stav apod. Pokud prvek pod ukazatelem umožňuje uvnitř sebe výběr položek či textu, provede kliknutí označení položky pod ukazatelem nebo přesun textového kurzoru na pozici ukazatele a zároveň zaměření fokusu na ovládací prvek, který položky nebo text obsahuje. Jak již bylo zmíněno, pokud je při kliknutí přidržena klávesa , přidá se položka pod ukazatelem myši do již učiněného výběru.

Tím výčet možných interakcí nekončí. Již ukázání myší na vyhrazenou oblast či prvek může vyvolat určitou akci, např. zobrazení docku při najetí myší k dolnímu okraji, jestliže je povoleno skrývání docku. Dále dle situace můžeme využít dvojí či trojí kliknutí, kdy dvojí kliknutí na položce ve Finderu ji otevře nebo v textu označí slovo pod ukazatelem. Tlačítkem myši či trackpadu nemusíme jen klikat, ale můžeme pomocí něj položky i přetahovat – např. stisknutí a přidržení tlačítka na ikoně v docku a její tažení na nové místo, kde tlačítko uvolníme a určíme tak její novou pozici.

Simulace myši VoiceOverem

Vše uvedené můžeme simulovat odečítačem VoiceOver bez toho, abychom myš či trackpad museli ovládat, což v případě, kdy na obrazovku vidíme špatně či vůbec, je poměrně praktické. Dotyková plocha myši či trackpadu umí přijímat i víceprstová gesta, která se mohou nebo nemusí vztahovat k aktuální pozici myši, ty ovšem skrze příkazy odečítače VOiceOver simulovat nelze. Ostatně při práci s dobře přístupnými aplikacemi k ovládání ukazatele myši dospět ani nemusíme, neboť takové interakce umí zastat kurzor VoiceOveru, který umí s aplikací komunikovat kompatibilním způsobem. Špatná implementace může dospět do situace, kdy kurzor VoiceOveru na žádaný prvek nedosáhne, avšak ukazatel myši vždy ano.

Tlačítko myši ovládáme klávesovými zkratkami VOMezerník, která provede událost kliknutí na pozici ukazatele, a VO⇧⌘Mezerník, která stiskne nebo uvolní tlačítko myši. Druhá z nich je určena pro přetahování položek, tj. na žádaném prvku pod myší stiskneme VO⇧⌘Mezerník poprvé, přemístíme ukazatel na novou pozici a tam klávesovou zkratku stiskneme po druhé, čímž tlačítko myši uvolníme a prvek je přetažen.

Pro ovládání pohybu a zjišťování informací ukazatele myši nám VoiceOver nabízí klávesové zkratky vázané na funkční klávesu F5:

  • VOF5 – Popíše prvek, který se nachází na pozici ukazatele myši. Může to být ovládací prvek, položka seznamu či nabídky nebo konkrétní znak v textu.
  • VOF5F5 – Popíše po druhém stisku F5 relativní pozici ukazatele myši vzhledem k levému hornímu rohu obrazovky.
  • VOF5F5F5 – Popíše po třetím stisku F5 relativní pozici ukazatele myši vzhledem k levému hornímu rohu okna, uvnitř něhož se ukazatel právě nachází.
  • VOF5 – Přivolá ukazatel myši na pozici kurzoru VoiceOveru, resp. vystředí jej v oblasti, kterou zaměřuje kurzor VoiceOveru.
  • VOF5 – Zaměří kurzor VoiceOveru na prvek, který se nachází pod ukazatelem myši.

Pokud s ukazatelem myši chceme pracovat častěji, můžeme si nastavit sledování kurzoru VoiceOveru a ukazatele myši. V Utilitě VoiceOver (VOF8) > v kategorii Navigace se nachází vyskakovací tlačítko Ukazatel myši, jenž má tyto volby:

Ignoruje kurzor VoiceOver
Oběma kurzory pohybujeme nezávisle a případně jeden k druhému můžeme přivolat výše zmíněnými klávesovými zkratkami.
Sleduje kurzor VoiceOver
Když pohybujeme s kurzorem VoiceOveru, následuje ho i ukazatel myši, který si ovšem ponechává nezávislost, tj. pokud ukazatelem myši pohybujeme, kurzor VoiceOveru zůstává na místě. Tato volba je asi nejpraktičtější, neboť pozici ukazatele nemusíme sledovat a rovnou lze ovládat tlačítko myši uvedenými dvěma příkazy. S prvky na obrazovce tak můžeme interagovat, aniž by aplikace věděla, že neovládáme skutečnou myš či trackpad.
Pohybuje kurzorem VoiceOver
Když pohybujeme s ukazatelem myši a prvek pod ním je zaměřitelný kurzorem VoiceOveru, přesune se kurzor VoiceOveru na tento prvek a dojde k vyslovení informací o tomto prvku. Kurzor VoiceOveru si ponechává ale nezávislost, tj. pokud jím pohybujeme, ukazatel myši zůstává na místě.

Alternativní ovládání ukazatele myši

Nemůžeme-li, ať už z jakéhokoli důvodu, ukazatel myši ovládat myší či trackpadem a nechceme využít podporu odečítače VoiceOver, lze zapnout funkci klávesy myši v předvolbách zpřístupnění (Předvolby systému > panel Zpřístupnění > funkce Myš a trackpad), a ovládat tak ukazatel myši klávesami numerického bloku či alternativně vyhrazenými klávesami alfanumerického bloku.

Na numerickém bloku číslice kolem klávesy 5 pohybují ukazatelem v daném směru – např. 6 vpravo, 3 šikmo vpravo dolů apod. Zatímco klávesa 5 vyvolá kliknutí na pozici ukazatele myši, klávesami 0. lze tlačítko myši stisknout (0) a později uvolnit (.), čímž můžeme provést akci přetažení.

Poznámka k trackpadu

Pozor: Je nutno mít na paměti, že při zapnutém trackpad commanderu ovládáme skrze trackpad kurzor VoiceOveru namísto ukazatele myši.

VoiceOver kurzor

Jedná se o nástroj pro čtení a interakci, který je preferován při ovládání operačního systému MacOS skrze odečítač VoiceOver. Prvky na obrazovce zaměřené kurzorem VoiceOveru jsou automaticky čteny, vizuálně zdůrazněny a eventuálně zobrazovány na braillském řádku. Existuje mnoho příkazů ovládatelných klávesnicí, tlačítky braillského displeje či gesty trackpadu, které umožňují jak získávat informace o aktuálně zaměřeném prvku, tak sofistikovaně s kurzorem VoiceOveru pohybovat, aby ovládání operačního systému bylo co nejvíce efektivní. Z důvodu komplexnosti kurzoru VoiceOveru bude lépe věnovat mu samostatný článek.

Odkazy



AppleKlávesové zkratkyMacmacOS/OS XVoiceOver


Roman Kabelka
Roman Kabelka pracuje jako web administrátor ve společnosti Master Internet, s.r.o. Vystudoval Fakultu informatiky Masarykovy univerzity a téměř 10 let pracoval jako lektor náročných kompenzačních pomůcek na bázi IT v TyfloCentru Brno, o.p.s. Dlouhodobě se věnuje vývoji webových stránek a...