Dialogruta ( engelsk dialogruta ) i ett grafiskt användargränssnitt är ett speciellt gränssnittselement , ett fönster utformat för att visa information och (eller) ta emot ett svar från användaren. Den har fått sitt namn för att den utför en tvåvägs interaktion mellan dator och användare (" dialogruta "): berättar för användaren något och väntar på ett svar från honom.
Dialogrutor är uppdelade i modala och icke-modala, beroende på om de blockerar användarens möjlighet att interagera med applikationen (eller systemet som helhet) tills de får ett svar från den.
Den enklaste typen av dialogruta är en meddelanderuta ( eng. meddelandebox , eng. alert box ), som visar ett meddelande och kräver att användaren bekräftar att meddelandet har lästs. För att göra detta behöver du vanligtvis klicka på OK -knappen . Meddelanderutan är avsedd att informera användaren om slutförandet av den åtgärd som utförs, visa ett felmeddelande och liknande fall som inte kräver att användaren gör något val.
Medan användningen av en meddelandelåda är ett vanligt använt designmönster , har det kritiserats av användarvänlighetsexperter som ineffektivt för det avsedda syftet (skydd mot användarfel) [1] , förutom att ha bättre alternativ [2] .
I dialogrutorna för många program finns knapparna OK och Avbryt (Avbryt), genom att klicka på den första, uttrycker användaren sitt samtycke till att dialogrutan i det ögonblicket visas, och stänger den därigenom och sätter ändringar som gjorts i den träder i kraft, och den andra — stänger fönstret utan program. Det finns alternativ med en enda OK-knapp - i att informera fönster som inte innebär några ändringar, och med knapparna OK , Använd (Apply) och Stäng (Stäng), i fönster, resultatet av ändringar där användaren, enligt författaren av programmet, kan utvärdera, utan att stänga fönstret, och i händelse av ett otillfredsställande resultat, fortsätta att göra ändringar.
Det är också bra att tillhandahålla ett hjälpsystem i dialogrutor – vanligtvis implementeras detta antingen som en hjälpknapp som öppnar en dokumentationssida som beskriver hur dialogrutan fungerar, eller (på Windows) via en frågeteckenknapp i namnlisten av klicka som användaren växlar musen till engångskontextuella ledtrådsläge: att klicka med musen i detta läge på ett dialogrutaelement gör att beskrivningen av detta element visas.
Icke-modala ( eng. modelless ) dialogrutor används i de fall informationen som visas i fönstret inte är väsentlig för den fortsatta driften av systemet. Därför kan fönstret förbli öppet medan användarens arbete med systemet fortsätter. En variant av ett modelllöst fönster är ett verktygsfält eller palettfönster om det är lösgjort eller kan kopplas bort från programmets huvudfönster, eftersom kontrollerna på det kan användas parallellt med programmet. Sådana fönster kallas dock sällan "dialogfönster".
Generellt sett föreslår reglerna för god mjukvarudesign att denna typ av dialogruta används eftersom den inte tvingar användaren till en specifik (kanske inte självklar för honom) sekvens av åtgärder. Ett exempel skulle vara en dialogruta för att ändra vissa egenskaper för det aktuella dokumentet, såsom bakgrund eller textfärg. Användaren kan skriva in text oavsett färg. Men när som helst kan ändra färgen med hjälp av dialogrutan. ( Exemplet ovan är inte nödvändigtvis den bästa lösningen. Ett verktygsfält i huvudfönstret kan ge samma funktionalitet. )
Ett modalt fönster är ett fönster som blockerar användarens arbete med den överordnade applikationen tills användaren stänger detta fönster. Dialogrutor är huvudsakligen implementerade som modala.
Till exempel är dialogrutor för applikationsinställningar modala, eftersom det är lättare att implementera ett läge när alla ändringar som görs i inställningarna tillämpas eller avbryts på en gång, och från det ögonblick då användaren bestämmer sig för att ändra applikationsinställningarna och öppnar inställningsdialogrutan, och tills det ögonblick då han träder i kraft nya inställningar eller avstår från dem, väntar applikationen på användarens beslut.
Att visa fönster i ett modalt läge praktiseras även i andra fall när en applikation behöver ytterligare information för att fortsätta arbetet som den har påbörjat, eller helt enkelt en bekräftelse från användaren att han samtycker till att utföra den begärda sekvensen av åtgärder om det är potentiellt farligt.
Användbarhetsexperter anser att modala bekräftelsemeddelanden är dåliga designbeslut, eftersom de kan leda användaren till så kallade " programlägesfel ". Farliga handlingar bör kunna avbrytas när det är möjligt, och modala bekräftelsefönster som skrämmer användaren med sitt oväntade utseende hoppas över automatiskt efter ett tag (eftersom de är vana vid dem) och skyddar därför inte mot farliga handlingar [3] .
För att mildra bristerna med modala dialogrutor (blockerar åtkomst till en applikation, eller till och med till systemet som helhet), föreslogs konceptet med modalitet på fönster- (eller dokument)nivå. Den här typen av dialogrutor introducerades till exempel i Mac OS X , där den kallas "document modal dialog" ( eng. document modal sheet ).
När en dialogruta av den här typen visas blockeras inte arbetet med andra fönster i programmet. Eftersom dialogrutan inte överlappar det överordnade fönstret, utan är kopplat till det, är det fortfarande möjligt att ändra storleken och positionen för själva det överordnade fönstret. I det här fallet förblir naturligtvis innehållet i det överordnade fönstret otillgängligt tills den modala dialogrutan stängs.
GUI-element | |
---|---|
Gränssnittstyper | |
Kontrollera | |
Ingång Utgång |
|
Visa |
|
Behållare |
|
Navigering | |
Specialfönster _ |
|
Spelande | |
Relaterade begrepp |
|