Modální okno
Author
Albert FloresModální okno (modal window, modal dialogs) je v informatice název ovládacího prvku (widgetu), který je používán zejména v grafickém uživatelském rozhraní počítačů. Někdy je označováno také jako „rozšířené vyskakovací menu“ (extended drop down menu). Modální okno je potomkem hlavního okna aplikace (main window), které vytváří zvláštní režim, ve kterém není hlavní okno dostupné, dokud není modální okno uživatelem obslouženo. Modální okno často zobrazuje dialog (dialogové okno), ale může obsahovat i další prvky (například pro vstup hodnoty, přihlášení uživatele a podobně).
Modalita okna
V oboru software jsou při interakci s uživatelem rozlišována okna modální, a nemodální, podle toho, zda je uživateli umožněno přepnout se jinam, nebo zda je na uživateli požadována interakce právě jen v daném modálním okně. Rozlišujeme tedy tyto definiční vlastnosti dialogových oken, která jsou navíc modálních : * Dialogové okno se obecně objeví zobrazeno nad ostatními okny aplikace, nebo dokonce i operačního systému. +more * Modální dialogové okno nedovolí přepnutí do jiného okna, vyžaduje akci: Akci nabízí typicky pomocí vzájemně se vylučujících tlačítek, typicky dvou či tří, jen vzácně vícero. ** Ostatní okna pod modálním dialogem dokonce bývají úmyslně zašedlá: Pro zdůraznění modálnosti onoho jediného zbylého otevřeného, kde jedině lze s počítačem/aplikací interagovat. ** Modální dialog blokuje přístup k ostatním oknům buď jen v rámci jediné vícerokenní aplikaci, anebo jde o ještě vyšší řád modálního okna, kdy je blokována jakákoli jiná interakce i s operačním systémem, resp. jeho GUI, tedy s jakoukoli jinou aplikací. * Modální dialogové okno nedovolí, aby bylo planě zavřeno, nemívá zavírací křížek, leda je tento spojen s jednou nabízenou akcí z nabízených tlačítek, typicky "zrušit" ("cancel"), je-li taková akce ovšem vůbec nabízena. Dokonce ani nemívá ovládací prvky pro změnu rozměrů.
Naopak okno, které takto přísné není, neblokuje ostatní, je oknem běžným, nemodálním.
Modální dialog sice blokuje možnosti uživatele na interakci s aplikací/systémem, aplikace samotná však na pozadí může nebo nemusí běžet i dále, pod oním dialogem: Toto již nesouvisí s definicí "modálnosti" okna či dialogu; anebo je toto již předmětem definic pojmů daného designérského týmu či firmy.
Potíže a chyby
Modální okna se pojí s rizikem mnoha nových chyb, programátorských, ba i z chybného designu: * Například programovanou aplikaci s chybně ošetřeným modálním oknem lze snadno uvést do stavu deadlocku / livelocku: Aplikace sice běží, ale k oknu se například nedá dostat, protože je napozicované mimo obraz, a přitom nemá schopnost změny polohy. * Jiným zjevným defektem programu je, že při plnění scénáře mohou vyskakovat i další modální okna nad výchozí modální okno, každé o trochu ztmaví okolí, ale dokončením scénáře a zavřením společného scénáře všech modálních oken v posledním nejvyšším se pak už okolí zesvětlí jen o jediný stupeň.
V průběhu historie GUI počítačů, jak programátoři získávali zkušenosti, formulovali své dobré postupy ("good practices") a zjednodušovali si práci a zvyšovali kvalitu pomocí standardních grafických knihoven, tyto průvodní bolesti použití modálních oken postupně vymizely: I modálních oken se ukázalo lepší používat raději méně a jen střídmě. Bohužel s nástupem mobilních platforem se objevily opět ty samé potíže a chyby, jako kdysi na PC.
Použití
Modální okna jsou často používána pro upozornění obsluhy na chybu, i když jejich efektivita je v tomto ohledu často zpochybňována. Modální okna jsou náchylná k modálním chybám (mode error).
Na webových stránkách jsou modální okna často používána pro zobrazení detailního náhledu obrázků.
Reference
Související články
pop-up * modální způsobové sloveso - zda je dispozice konatele děje k tomuto ději nutná, možná nebo záměrná * modální logika