Označování a kopírování obtížně přístupných textových informací s odečítačem NVDA

K napsání tohoto textu mě inspiroval dotaz, který se ke mně dostal před několika dny. Tazatelka potřebovala mít možnost zkopírovat si pokud možno snadno a rychle konkrétní odkaz z historie chatu ve schůzce v komunikační aplikaci Zoom, kterou většina z nás, obzvláště v posledním roce, jistě dobře zná. Vyhledání dílčí zprávy v historii nepředstavovalo žádný velký problém, ale zkopírování dané informace ze Zoomu ven pro pozdější použití už ano. Rozhodl jsem se tedy postup, který jsem tazatelce poradil, sepsat a doplnit o další užitečné tipy, protože se může hodit i ostatním. Neplatí totiž pouze v případě Zoomu, ale obecně kterékoli textové informace, která je standardním způsobem, bez použití pokročilých funkcí odečítače, z klávesnice přístupná jen velmi obtížně nebo vůbec.

Trocha nezbytné teorie

Abychom mohli plně pochopit, o co se zde vlastně jedná, potřebujeme si objasnit několik skutečností:

Ne vždy se k požadované informaci dostaneme jednoduchým způsobem pomocí klávesnice, tedy buď klávesou tab a případně dále šipkami, nebo určitou konkrétní klávesovou zkratkou. To však ještě nemusí znamenat, že daná informace je s odečítačem nepřístupná zcela. Proto je dobré naučit se používat alespoň pokročilé funkce odečítačů (zde pouze NVDA), které popíšu v tomto článku, a to i pokud se považujeme spíše za běžného či začínajícího uživatele. Problém zde spočívá v tom, že požadovaný prvek (zde zpráva v historii chatu v Zoomu) je sice fokusovatelný z klávesnice, tj. můžeme na něj přemístit kurzor, ale aplikace už nenabízí žádné další klávesové zkratky pro snadnou práci s prvkem, včetně jeho případného zkopírování. Zpráva v historii sice nabízí kontextové menu, ovšem zkopírovat její obsah do schránky nejde ani z něj. Následující postup nám tedy pomůže jak v jiných podobných případech, tak v situacích, kdy na daný prvek ani nemůžeme přímo přemístit fokus (kurzor) klávesnice.

Objektová navigace

Ve zkratce: Kam se nedostaneme klasickým kurzorem klávesnice, tam se můžeme dostat pomocí objektové navigace. Tímto způsobem se po okně dané aplikace nepohybujeme podle jeho vizuálního členění ani podle tzv. tab order (pořadí při průchodu klávesou tab), ale podle jeho logického členění na jednotlivé části (tzv. objekty).

  • Pokud používáte desktopové rozložení klávesnice (nastavitelné v nabídce NVDA➡Možnosti➡Nastavení, volba Rozložení klávesnice na záložce Obecné – výchozí při otevření dialogu), objektová navigace se provádí pomocí zkratek s klávesou NVDA a čísly na numerickém bloku, tj. fyzická číselná část na plnohodnotných klávesnicích stolních počítačů. Klávesnice některých laptopů numerický blok emulují, nejčastěji pomocí klávesy FN a kláves m, čárka, tečka, j, k, l atd, u jiných laptopů chybí tyto klávesy úplně. Pokud numerický blok v té či oné podobě používat můžete, rozhodně doporučuji desktopové rozložení klávesnice spíše než to laptopové, protože většina pokročilých zkratek NVDA je tímto způsobem mnohem intuitivnější a lépe zapamatovatelná. Jen si dejte pozor na to, že pokud chcete tyto zkratky s numerickými klávesami používat, musí být v takovém případě vždy vypnutá klávesa numlock.
    • Přesun na předchozí objekt: NVDA+numerická 4
    • Přesun na následující objekt: NVDA+numerická 6
    • Přesun na první vnořený objekt: NVDA+numerická 2
    • Přesun z vnořeného objektu zpět na jeho nadřazený objekt: NVDA+numerická 8
    • Kliknutí na aktuální objekt: NVDA+numerický enter, tj. enter na numerickém bloku
  • V laptopovém rozložení klávesnice jsou základní zkratky objektové navigace následující:
    • Přesun na předchozí objekt: NVDA+shift+šipka doleva
    • Přesun na následující objekt: NVDA+shift+šipka doprava
    • Přesun na první vnořený objekt: NVDA+shift+šipka dolů
    • Přesun z vnořeného objektu zpět na jeho nadřazený objekt: NVDA+shift+šipka nahoru
    • Kliknutí na aktuální objekt: NVDA+alfanumerický enter, tj. enter v hlavní části klávesnice, na laptopech často jediná fyzická klávesa enter

Koncept vnořených a nadřazených objektů si můžete představit na příkladu aplikační nabídky. Budete-li si okno libovolné aplikace prohlížet pomocí objektové navigace a ne klasického systémového fokusu (tj. kurzoru klávesnice), uvidíte aplikační nabídku i bez toho, že byste nejprve stiskli klávesu alt pro její vyvolání. Ve většině aplikací tento objekt, tj. aplikační nabídku, NVDA přečte jako "Aplikace panel nabídek". Zde byste přesunem na první vnořený objekt přesunuli prohlížený objekt na první, nyní sbalenou, podnabídku Soubor. Přesunem na následující a později na předchozí objekt byste se mohli dále pohybovat mezi jednotlivými sbalenými podnabídkami aplikační nabídky (Soubor, Úpravy, Zobrazit…). Kliknutím na některou z těchto sbalených podnabídek pomocí objektové navigace byste ji mohli rozbalit a následně si prohlédnout její jednotlivé položky. Přesunem zpět z vnořeného objektu na jeho nadřazený objekt byste se pak vrátili zpět na samotný objekt celé aplikační nabídky jako takové.

Na tomto příkladu by snad mělo být zřejmější, k čemu objektová navigace slouží a jak funguje. Existují např. aplikace, které navigační nabídku obsahují, přestože ji není možné vyvolat obvyklým stisknutím altu, jen jste o ní do této chvíle možná nemuseli vědět, a tímto způsobem se k ní tedy můžete dostat, i když samotná aplikace nepodporuje její vyvolání z klávesnice standardním způsobem.

Mnohem více podrobností se můžete dozvědět v uživatelské příručce NVDA, případně v seznamu klávesových příkazů NVDA, ke kterým se lze dostat z nabídky NVDA➡Nápověda. Dozvíte se zde např. zkratky pro přesun systémového fokusu (tedy kurzoru klávesnice) na aktuálně prohlížený objekt v aplikacích, které to umožňují. Stejně tak doporučuji seznámit se i s možnostmi navigace pomocí myši. Tu můžeme využít v situacích, kdy je potřeba určitý prvek v aplikaci přetáhnout z jednoho místa na jiné, ale daná aplikace tuto akci neumožňuje provést standardním způsobem z klávesnice.

Čtecí kurzor

Čtecí kurzor ve zkratce nahrazuje klasický systémový fokus, tedy kurzor klávesnice, na místech, kde jej daná aplikace nepodporuje. Můžeme s jeho pomocí mimo jiné i označit požadovaný úsek textu a zkopírovat jej do schránky, což nám umožní obejít nedostatky v podpoře klávesnice právě ve zmíněném Zoomu a jiných podobných situacích.

Aby nám postup popsaný níže fungoval správně, je třeba v dialogu NVDA➡Možnosti➡Nastavení na záložce Čtecí kurzor zaškrtnout volby "Sledovat systémový kurzor", "Sledovat textový kurzor" a "Zjednodušený režim objektové navigace". Ve výchozím stavu by všechny tyto volby ovšem měly být zaškrtnuté. Budete-li chtít používat navigaci pomocí myši, může se hodit zaškrtnout i volbu "Sledovat kurzor myši".

Vlastní postup

Když už víme, jak funguje objektová navigace a čtecí kurzor, můžeme si konečně ukázat, jak těchto funkcí můžeme využít k vyčítání a případně i kopírování textových informací, které jsou nám z klávesnice jinak nepřístupné. Protože položený dotaz se týkal konkrétně Zoomu, jak jsem popsal v úvodu článku, použijeme jako ukázkový příklad okno probíhající schůzky na Zoomu. Nezapomeňte, že stejný postup můžeme analogicky použít i ve všech ostatních aplikacích.

  1. Otevřeme panel chatu (alt+h).
  2. Klávesou Tab, resp. shift+tab se přesuneme do seznamu zpráv v historii chatu a šipkami najdeme tu správnou.
  3. Měli bychom vidět dokonce i samotný odkaz jako samostatný kliknutelný prvek. Stačí jen při zvýrrazněné příslušné zprávě jednou stisknout tab. Na odkaz sice může být možné kliknout, ale stále nejde nijak jednoduše zkopírovat.
  4. Následujícím postupem jej označíme a zkopírujeme:
    1. Přepneme se do režimu prohlížení objektu, čistě pro jistotu – měl by se aktivovat sám už ve chvíli fokusování odkazu: NVDA+numerická 1 s vypnutým numlockem v desktopovém rozložení klávesnice, NVDA+pagedown v laptopovém.
    2. Pomocí kláves pro prohlížení objektu najdeme začátek odkazu, tj. začátek řádku při aktivním prohlížení aktuálního objektu.
      • V desktopovém rozložení k tomu slouží klávesy na numerickém bloku, stále s vypnutým numlockem.
      • 7 a 9 se pohybují po řádcích, stále v rámci vybraného objektu.
      • 4 a 6 pro pohyb po slovech.
      • 1 a 3 pro pohyb po znacích.
      • Začátek řádku je v desktopovém rozložení NVDA+numerická 1.
      • V laptopovém rozložení pro pohyb čtecího kurzoru slouží zkratky se šipkami.
      • NVDA+šipka nahoru a dolů pro pohyb po řádcích.
      • NVDA+ctrl+šipka doleva a doprava pro pohyb po slovech.
      • NVDA+samotná šipka doleva a doprava pro pohyb po znacích.
      • V laptopovém rozložení klávesnice slouží pro přesun na začátek aktuálního řádku klávesová zkratka NVDA+home.
    3. Zkratkou NVDA+F9, stejnou v obou rozloženích klávesnice, označíme počáteční pozici kurzoru v textu, který nás zajímá, tedy v tomto případě začátek odkazu.
    4. Pomocí NVDA+numerické 3 v desktopovém rozložení nebo NVDA+šipky doprava v laptopovém můžeme procházet řádek (odkaz) po znacích. Na konec řádku se rychle dostaneme zkratkou shift+numpad 3 (desktop), resp. NVDA+end (laptop).
    5. Zkratkou NVDA+F10 dvakrát rychle za sebou, opět stejnou v obou rozloženích klávesnice, zkopírujeme celý odkaz, resp. text od nastavené počáteční značky až po aktuální pozici čtecího kurzoru, v tomto případě tedy až do konce řádku.

Všimněte si, že i při pohybu pomocí čtecího kurzoru nebo objektové navigace zůstává systémový fokus (kurzor klávesnice) stále na posledním vybraném místě, tedy v tomto případě na samotném odkazu, případně na zvýrazněné zprávě v historii chatu. To si můžeme ověřit zkratkou NVDA+tab, stejnou v obou rozloženích klávesnice, která znovu zopakuje aktuáolní prvek pod fokusem klávesnice.

Dále už pracujeme běžným způsobem, jak jsme zvyklí. Pokud jsme tedy potřebovali určitou obtížně přístupnou textovou informaci označit a zkopírovat postupem popsaným výše, můžeme ji v této chvíli standardně vložit zkratkou ctrl+v, kamkoli potřebujeme.

Závěr

Pomocí čtecího kurzoru a objektové navigace můžeme provádět celou řadu pokročilých činností, které mohou být v některých aplikacích standardním způsobem, tedy bez odečítače, z klávesnice nepřístupné. Můžeme tak klikat na jednotlivé běžným fokusem (kurzorem) nedosažitelné objekty, jako jsou třeba právě položky altem nepřístupné aplikační nabídky, přetahovat na ně myš a tak např. řadit seznam s určitými zobrazenými údaji i tehdy, kdy je toto řazení z klávesnice standardně neproveditelné, sledovat dynamicky se měnící textovou informaci, kterou NVDA sám o sobě standardně nečte a jiným způsobem se na ni z klávesnice nedostaneme, v kombinaci s funkcí NVDA OCR (NVDA+R v obou rozloženích klávesnice) pracovat i s některými jinak zcela nepřístupnými aplikacemi atd.

Doufám, že tento návod aspoň někomu otevře cestu k dosud neznámým možnostem NVDA a jejich prostřednictvím tedy i k některým aplikacím a scénářům, které pro vás až doposud možná představovaly nepřekonatelnou překážku.



KurzoryNVDA


Lukáš Hosnedl
Lukáš Hosnedl
Jmenuji se Lukáš Hosnedl a překládáním nejrůznějších textů z angličtiny se na poloprofesionální úrovni zabývám už víc než deset let. Také se aktivně zajímám o přístupnost, asistivní technologie a technologie obecně. Baví mě ale třeba i tvůrčí psaní, hra na...