Focus , input focus - koncepční koncept v konstrukci grafického uživatelského rozhraní , což znamená, že určitý prvek tohoto rozhraní má výhradní právo přijímat vstup z klávesnice . Název je narážkou na schopnost lidského zraku zaměřit se na malou oblast zorného pole.
Zaměření by se nemělo zaměňovat s výběrem – zaostření se rozšiřuje na prvky rozhraní, zatímco výběr se rozšiřuje na jejich obsah. Kromě toho je důraz kladen vždy na striktně jeden prvek, přičemž výběr může být více.
Při práci s počítačem fokus označuje výběr prvku GUI . Text zadaný z klávesnice nebo vložený ze schránky je odeslán do komponenty, která má fokus. Přesunutí fokusu od určitého prvku uživatelského rozhraní se nazývá událost rozmazání na tomto prvku. Typicky se fokus odebere z prvku a přenese fokus na jiný prvek. To znamená, že zaměření a rozmazání se obvykle odehrávají téměř ve stejnou dobu, ale na různých prvcích uživatelského rozhraní: jeden se zaostří a druhý se rozmaže.
Koncept je podobný kurzoru v textovém prostředí. Při zvažování GUI je však zahrnut i ukazatel myši. Pohybem myši se obvykle pohybuje ukazatel myši bez změny fokusu. Zaměření lze obvykle změnit kliknutím na součást, která může být zaostřena pomocí myši. Mnoho stolních počítačů také umožňuje změnit zaměření pomocí klávesnice. Podle konvence se klávesa Tab ↹používá k přesunutí fokusu na další zaostřitelnou komponentu a ⇧ Shift+Tab ↹ k přesunutí předchozí. Když se poprvé objevila GUI, mnoho počítačů nemělo myši, takže tato alternativa byla nezbytná. Tato funkce usnadňuje používání uživatelského rozhraní pro lidi, kteří mají potíže s používáním myši. Za určitých okolností můžete k přesunu fokusu použít také kurzorové klávesy .
Uživatelské rozhraní může mít několik prvků, které mohou nějakým způsobem reagovat na vstup z klávesnice. Z důvodů zdravého rozumu by je však při zadávání jakýchkoli dat (nebo příkazů) z klávesnice měl obdržet kterýkoli prvek umístěný v okně , kterému uživatel tyto údaje při zadávání adresuje. Proto se při navrhování logiky uživatelského rozhraní zavádí koncept fokusu jako množiny:
Prvek je označen jako fokus , nebo je fokus na prvek , pokud, když nastane událost klávesnice, bude tento prvek na událost reagovat určitým způsobem. Aby uživatel mohl určit, který prvek je aktuálně aktivní, je prvek obvykle graficky odlišen od jiných podobných prvků zvláštním způsobem.
Pokud systém nepředpokládá přítomnost klávesnice (dokonce i virtuální ) jako vstupního zařízení nebo v daném okamžiku existuje pouze jeden prvek schopný reagovat na události klávesnice, koncept "focus" v takových systémech nedává smysl. a nepoužívá se.
Deaktivované prvky obvykle nemohou mít zaostření.
Pro zvýšení uživatelské zkušenosti má uživatel často několik možností, jak přepnout fokus z jednoho prvku na druhý. Různé operační systémy a aplikace pro ně mohou mít různé metody. Obvykle můžete přesunout fokus z jednoho prvku na druhý pomocí určitých kláves na klávesnici (například Tab ↹a ⇧ Shift+ Tab ↹pro přepnutí fokusu na další / předchozí prvek ve Windows ) nebo pomocí myši. Existují různé modely pro přepínání fokusu pomocí myši: například ve Windows nebo MacOS se prvek zaostří po kliknutí na něj; v některých správcích oken X11 stačí přesunout ukazatel myši na prvek a zaostřit.
Ve většině hlavních uživatelských rozhraní, jako jsou rozhraní vytvořená společnostmi Microsoft a Apple , se často setkáváme se zásadou „zaměření následuje po kliknutí“ (nebo „zaměření kliknutím“), kde je nutné kliknout myší uvnitř okna pro toto okno. zaměřit. Obvykle také způsobí, že se okno zvedne nad všechna ostatní okna na obrazovce. Pokud je použit model clickfocus , aktuální okno aplikace si nadále zachovává fokus a shromažďuje vstup, i když je ukazatel myši nad oknem jiné aplikace.
Další běžnou zásadou na unixových systémech používajících X Window System (X11) je zásada „focus Follow mouse“ neboli FFM, ve které se zaměření automaticky řídí aktuálním umístěním ukazatele. Zaostřené okno nemusí jít nahoru, jeho části mohou zůstat pod jinými okny. Správci oken s touto politikou obvykle nabízejí „automatické zvedání“, které zvedne okno, když je aktivní, obvykle po nastavitelné krátké prodlevě. Možným důsledkem zásady followfocus je to, že žádné okno nemá fokus, když se ukazatel pohybuje nad pozadím a pod ním není žádné okno. V opačném případě zůstane zaostření na posledním okně.
Model sloppyfocus je variantou modelu followfocus. [2] To umožňuje poslednímu vybranému oknu pokračovat ve shromažďování vstupů, když se myš vzdálí od jakéhokoli okna, například přes panel nabídky nebo oblast plochy.