Fokus , ingångsfokus - ett konceptuellt koncept i konstruktionen av ett grafiskt användargränssnitt , vilket innebär att en viss del av detta gränssnitt har exklusiv rätt att acceptera tangentbordsinmatning . Namnet är en anspelning på förmågan hos människans syn att fokusera på ett litet område av synfältet.
Fokus ska inte förväxlas med urval - fokus sträcker sig till gränssnittselement, medan urval sträcker sig till deras innehåll. Dessutom ligger fokus alltid på ett strikt ett element, medan urvalet kan vara flera.
Vid beräkning anger fokus valet av ett GUI- element . Text som skrivs in från tangentbordet eller klistras in från urklipp skickas till den komponent som har fokus. Att flytta fokus bort från ett visst UI-element kallas en oskärpa händelse på det elementet. Vanligtvis tas fokus bort från ett element, vilket ger fokus till ett annat element. Detta innebär att händelserna i fokus och oskärpa vanligtvis sker nästan samtidigt, men på olika UI-element: en får fokus och den andra blir suddig.
Konceptet liknar en markör i en textmiljö. Men när man överväger det grafiska användargränssnittet är muspekaren också inblandad. Att flytta musen flyttar vanligtvis muspekaren utan att ändra fokus. Fokus kan vanligtvis ändras genom att klicka på en komponent som kan ta emot fokus med musen. Många stationära datorer låter dig också ändra fokus med tangentbordet. Enligt konventionen används tangenten Tab ↹för att flytta fokus till nästa fokuserbara komponent, och ⇧ Shift+Tab ↹ för att flytta den föregående. När GUI först dök upp hade många datorer inga möss, så detta alternativ var viktigt. Den här funktionen gör användargränssnittet lättare att använda för personer som har svårt att använda en mus. Under vissa omständigheter kan du också använda markörknapparna för att flytta fokus .
Ett användargränssnitt kan ha flera element som på något sätt kan svara på tangentbordsinmatning. Men, av sunt förnuftsskäl, när du anger data (eller kommandon) från tangentbordet, bör varje element som finns i fönstret ta emot dem , till vilket användaren adresserar dessa data när de anger. Därför, när man utformar logiken för användargränssnittet, introduceras konceptet fokus som en uppsättning:
Ett element sägs ha fokus , eller fokus ligger på ett element , om, när en tangentbordshändelse inträffar, det elementet kommer att svara på ett visst sätt på händelsen. För att göra det möjligt för användaren att avgöra vilket element som för närvarande har fokus, särskiljs elementet vanligtvis grafiskt från andra liknande element på ett speciellt sätt.
Om systemet inte förutsätter närvaron av ett tangentbord (även virtuellt ) som en inmatningsenhet, eller om det vid en given tidpunkt bara finns ett element som kan svara på tangentbordshändelser, är begreppet "fokus" i sådana system inte meningsfullt. och används inte.
Inaktiverade element kan vanligtvis inte ha fokus.
För att öka användarupplevelsen ges användaren ofta flera alternativ att byta fokus från ett element till ett annat. Olika operativsystem och applikationer för dem kan ha olika metoder. Vanligtvis kan du flytta fokus från ett element till ett annat med hjälp av vissa tangentbordstangenter (till exempel Tab ↹, och ⇧ Shift+ Tab ↹för att växla fokus till nästa/föregående element i Windows ), eller med hjälp av musen. Det finns olika modeller för att byta fokus med musen: till exempel i Windows eller MacOS får ett element fokus efter att ha klickat på det; i vissa X11-fönsterhanterare kan det fokuseras genom att bara flytta muspekaren över ett element.
I de flesta större användargränssnitt, som de som skapats av Microsoft och Apple , hittar man ofta en policy för "fokus följer klick" (eller "klicka för att fokusera") där musen måste klickas in i ett fönster för det fönstret. att fokusera. Det brukar också få fönstret att höja sig över alla andra fönster på skärmen. Om klickfokusmodellen används fortsätter det aktuella programfönstret att behålla fokus och samla in input även om muspekaren är över ett annat programs fönster.
En annan vanlig policy för Unix- system som använder X Window System (X11) är "fokus följer mus" eller FFM-policy, där fokus automatiskt följer den aktuella platsen för pekaren. Fönstret i fokus behöver inte gå upp, delar av det kan ligga kvar under andra fönster. Fönsterhanterare med denna policy erbjuder vanligtvis en "autohöjning" som höjer ett fönster när det har fokus, vanligtvis efter en konfigurerbar kort fördröjning. En möjlig konsekvens av followfocus- policyn är att inget fönster har fokus när pekaren rör sig över bakgrunden utan något fönster under sig. Annars förblir fokus helt enkelt på det sista fönstret.
Sloppyfocus - modellen är en variant av followfocus-modellen. [2] Detta gör att det senast fokuserade fönstret kan fortsätta att samla in input när musen flyttas bort från vilket fönster som helst, till exempel över menyraden eller skrivbordsområdet.