Skriven av Martin Östlund november 2017
En modal panel är en gränssnittskomponent som när den visas tillfälligt stänger av alla interaktionsmöjligheter med programmet förutom de som presenteras i den aktuella modala panelen. Den modala panelen kan och bör innehålla information om varför ett sådant tillstånd har inträffat och vad användaren kan göra för att öppna upp den avstängda funktionaliteten. Ibland beskrivs modala paneler på webben som vilken overlay eller popup som helst. Så är inte fallet. En modal panel är en panel som blockerar annan funktionalitet tills användaren har gjort vad som efterfrågas i den modala panelen.
Modala används i situationer där programmet har hamnat i ett läge där den behöver någon form av input eller aktion från användaren för att komma vidare eller hantera någon form av speciell situation eller feltillstånd. Den kan också användas för att medvetet avbryta användarens kontroll av programmet, t ex för att presentera ett erbjudande, eller för att informera användaren om att någon extern händelse har inträffat - en händelse som inte initierats av användaren själv, utan något som uppstått från ett systemtillstånd, t ex slut på hårddiskutrymme, eller en handling utförd av annan part, t ex utdelandet av ett dödande slag på ens spelfigur i ett online-spel.
Modala paneler ska användas sparsamt. Ofta kan man presentera den typ av information och den typ av funktionalitet som man visar i modala paneler utan att blockera andra interaktionsmöjligheter. Här bör man eftersträva att låta användaren behålla så mycket kontroll som möjligt så att användaren därmed känner att hen har kontroll över vad som sker. Det är en viktig egenskap för varje interaktivt system. Men i sådana lägen där det inte går att fortsätta eller där det finns stora risker med att fortsätta att göra andra saker innan man har åtgärdat en något, så är den modala panelen rätt val. Det är dock inte det vanligaste användningsområdet för modala paneler, utan det är istället (tyvärr) nyhetsbrev-popup:en. Den är irriterande i nästan alla sina former. Den dyker upp o-ombedd och den bryter både koncentration och arbetsprocess för användaren - och tar bort kontrollen över vad som sker från användaren. Därmed inte sagt att nyhetsbrevs-popup:en alltid är ovälkommen. Om man lyckas tajma den så att den kommer upp i rätt läge, t ex när man lämnar sajten, eller när man utför någon handling som signalerar att man kanske är mottaglig, t ex söker efter nyhetsbrev i sök/hjälp-funktionen.
Modala paneler som initieras av användaren kan användas för att presentera funktionalitet som behöver ingår i ett förlopp och behöver utföras i sin helhet. Det kan t ex vara att man fyller i adress-uppgifter och då kan den modala panelen användas för att undvika att man tappar sin plats, t ex på en produktsida, men ändå att man låser interaktionen med den underliggande sidan tills man är färdig med inmatningen. Handlar det om en webbsida så kan det upplevas som en både snabbare och enklare hantering för användaren - och för att panelen visas utan att lämna den underliggande sidan så skickar det en tydlig signal att man kommer att kunna återvända till dit man var.
Undvika allvarlig risk - Om man riskerar att skriva över en befintlig fil för att man råkade ange samma filnamn, så är det dags att pausa allt annat och verkligen tänka efter om man verkligen vill göra det.
Funktionell redigering - Skulle kunnat vara ett dåligt exempel i och med att man behöver ju inte stänga av interaktionen med andra delar av sidan, men jag lägger det i bra exempel-högen för att om man hade tillåtit multipla redigeringsrutor så skulle man snabbt tappa bort sig.
Bra feedback - Egentligen så är modala paneler som inte låter användaren göra något något man bör undvika. I den här panelen så finns visserligen två alternativ - man kan välja att starta om sin download eller bara bekräfta. Men även om det bara funnits en stängknapp - för det är ju det som ok-knappen fungerar som här - så hade det varit ok. För den modala panelen tillhandahåller viktig information i form av en bekräftelse att nedladdningen har börjat - och den gör först efter nedladdningen verkligen har startat och den gör det på ett visuellt starkare sätt än om en ny sida hade visats eller om bara informationstexten visats (utan bekräfta/stäng-knappen).
Facebookaviseringar - alltid fel läge
Lightbox-popup
Clippy - det ultimata dåliga exemplet
Facebokaviseringar - Behöver inte vara modal och är alltid störande för att det dyker upp i fel läge. Den här behöver inte vara modal och det finns andra popup-rutor från Facebook som inte är modala, så varför just den här är det är en gåta.
Let's deal lightbox - Igen - varför är den modal. Har jag appen hade jag använt den och jag behöver inte påminnas varje gång om att De vill att jag ska använda appen (som för övrigt inte har någon funktionalitet som jag känner att jag behöver utöver det som finns på webbversionen).
Clippy! - Det ultimata dåliga exemplet på modala dialoger. Egentligen var inte Clippy så hemsk - visst den var inte så där jättebra på att gissa vad man ville göra, men det stora problemet var att den var implementerad som en modal dialog och det gjorde att man satt där och skrev och plötsligt så hände det ingenting för att Clippy dök upp med sin fråga och blockerade. Hade den inte varit modal så hade den nog varit irriterande - för hjälpen den erbjöd var rätt dålig, men den hade inte varit lika irriterande och kanske hade då nyare bottar och agenter inte fortfarande hade haft Clippy-spöket hängande över sig.
I exemplet demonstreras hur en modal panel kan användas i ett läge där det är absolut nödvändigt att 1) fånga användarens uppmärksamhet och 2) att blockera övrig funktionalitet. I exemplet visas hur den modala dialogen presenterar både vad som hänt och tillhandahåller funktionalitet för att hantera situationen - och märk väl att den presenterar bara denna funktionalitet ingen annan för att både fokusera användaren på uppgiften och att i den typen av akuta situation hjälpa användaren att fatta rätt beslut om åtgärder i en pressad situation.
[Här förväntar jag mig lite längre förklaringar och motiveringar än i det här exemplet som bara demonstrerar typen av presentation - och också att det interaktiva exemplet är lite mer utförligt både vad gäller utformning/design och interaktiva inslag]
Tänk på att sammanhanget är viktigt för modala paneler och om det finns saker som är viktiga att de syns i den underliggande/omgivande applikationen, så kan de begränsa designmöjligheterna för den modala panelen - både vad gäller storlek och placering. Annars bör utformningen av den modala panelen utföras i samma grundstil som övriga delar av applikationen förutom - och här är en mycket viktig modifikation - att använda de signal-färger som man använder i sitt färgtema för att säkerställa att användaren både uppmärksammar innehållet i den modala panelen och förstår att det är viktigt innehåll som kräver en åtgärd. För övrigt bör man använda samma färgtema, stil och layoutkonventioner som man använder i övriga delar av applikationen.
https://uxplanet.org/best-practices-for-modals-overlays-dialog-windows-c00c66cddd8c
https://www.smashingmagazine.com/2009/05/modal-windows-in-modern-web-design/ - beskriver visserligen egentligen inte modala paneler i och med att de inte stänger av annan funktionalitet, men många intressanta tips för utformning och implementation