Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Lär dig hur du utformar och optimerar dina Windows-appar så att de ger de bästa upplevelserna för både tangentbordsanvändare och användare med funktionshinder och andra hjälpmedelskrav.
Mellan enheter är tangentbordsindata en viktig del av den övergripande interaktionsupplevelsen i Windows-appen. Med en väldesignad tangentbordsupplevelse kan användarna effektivt navigera i appens användargränssnitt och få åtkomst till dess fullständiga funktioner utan att någonsin lyfta händerna från tangentbordet.
Vanliga interaktionsmönster delas mellan tangentbord och spelplatta
I det här avsnittet fokuserar vi specifikt på Windows-appdesign för tangentbordsinmatning på datorer. En väl utformad tangentbordsupplevelse är dock viktig för att stödja hjälpmedelsverktyg som Windows Skärmläsaren, med hjälp av programvarutangentbord som pektangentbordet och skärmtangentbordet (ÖSK) och för hantering av andra typer av indataenheter, till exempel en spelplatta eller fjärrstyrning.
Många av de riktlinjer och rekommendationer som beskrivs här, inklusive visuella fokusobjekt, åtkomstnycklar och gränssnittsnavigering, gäller även för dessa andra scenarier.
NOT Även om både maskin- och programvarutangentbord används för textinmatning är fokus i det här ämnet navigering och interaktion.
Inbyggt stöd
Tillsammans med musen är tangentbordet den mest använda kringutrustningen på datorer och är därför en grundläggande del av PC-upplevelsen. Datoranvändare förväntar sig en omfattande och konsekvent upplevelse från både systemet och enskilda appar som svar på tangentbordsindata.
Alla UWP-kontroller innehåller inbyggt stöd för omfattande tangentbordsupplevelser och användarinteraktioner, medan själva plattformen ger en omfattande grund för att skapa tangentbordsupplevelser som du anser passar bäst för både dina anpassade kontroller och appar.
UWP stöder tangentbord med valfri enhet
Grundläggande upplevelser
Som tidigare nämnts delar indataenheter som en spelplatta och fjärrstyrning, och hjälpmedelsverktyg som Skärmläsaren, mycket av tangentbordsinmatningsupplevelsen för navigering och kommandon. Den här vanliga upplevelsen för indatatyper och verktyg minimerar ytterligare arbete från dig och bidrar till målet "skapa en gång, kör var som helst" för den universella Windows-plattformen.
Vid behov identifierar vi viktiga skillnader som du bör känna till och beskriver eventuella åtgärder som du bör överväga.
Här är de enheter och verktyg som beskrivs i det här avsnittet:
| Enhet/verktyg | Description |
|---|---|
| Tangentbord (maskinvara och programvara) | Förutom standardmaskinvarutangentbordet stöder Windows-program två programvarutangentbord: pektangentbordet (eller programvaran) och skärmtangentbordet. |
| Spelplatta och fjärrstyrning | En spelkontroll och fjärrkontroll är grundläggande inmatningsenheter i 10-fotsupplevelsen. Mer information om Windows-stöd för spelblock och fjärrstyrning finns i Spelplatta och fjärrstyrningsinteraktioner. |
| Skärmläsare (Narrator) | Narrator är en inbyggd skärmläsare för Windows som ger unika interaktionsupplevelser och funktionalitet, men förlitar sig fortfarande på grundläggande tangentbordsnavigering och indata. Mer information om Skärmläsaren finns i Komma igång med Skärmläsaren. |
Anpassade upplevelser och effektivt tangentbord
Som nämnts är tangentbordsstöd en viktig del för att säkerställa att dina program fungerar bra för användare med olika kunskaper, förmågor och förväntningar. Vi rekommenderar att du prioriterar följande.
- Stöd för tangentbordsnavigering och interaktion
- Se till att åtgärdsbara objekt identifieras som tabbstopp (och att objekt som inte kan åtgärdas inte är det) och att navigeringsordningen är logisk och förutsägbar (se Tabbstopp)
- Ange inledande fokus på det mest logiska elementet (se Inledande fokus)
- Ange piltangentnavigering för "inre navigering" (se Navigering)
- Stöd för kortkommandon
- Ange acceleratornycklar för snabbåtgärder (se Acceleratorer)
- Ange åtkomstnycklar för att navigera i programmets användargränssnitt (se Åtkomstnycklar)
Fokusera på visuella element
UWP har stöd för en visuell design med ett enda fokus som fungerar bra för alla indatatyper och upplevelser.
Ett visuellt fokus
- Visas när ett gränssnittselement får fokus från ett tangentbord och/eller en spelplatta/fjärrkontroll
- Återges som en markerad kantlinje runt användargränssnittselementet för att indikera att en åtgärd kan vidtas
- Hjälper en användare att navigera i ett appgränssnitt utan att gå vilse
- Kan anpassas för din app (se visuella objekt med hög synlighetsfokus)
OBS! Det visuella UWP-fokusobjektet är inte detsamma som Narrators fokusrektangel.
Tabbstopp
Om du vill använda en kontroll (inklusive navigeringselement) med tangentbordet måste kontrollen ha fokus. Ett sätt för en kontroll att ta emot tangentbordsfokus är att göra den tillgänglig via fliknavigering genom att identifiera den som ett tabbstopp i applikationens flikordning.
För att en kontroll ska inkluderas i tabbordningen måste egenskapen IsEnabled vara inställd på true och egenskapen IsTabStop måste vara inställd på true.
Om du specifikt vill undanta en kontroll från tabbordningen anger du egenskapen IsTabStop till false.
Som standard återspeglar flikordningen i vilken ordning användargränssnittselement skapas. Om en StackPanel till exempel innehåller en Button, en Checkbox, och en TextBox, är flikordningen Button, Checkbox och TextBox.
Du kan åsidosätta standardfliksordningen genom att ange egenskapen TabIndex .
Tabbordningen ska vara logisk och förutsägbar
En väl utformad tangentbordsnavigeringsmodell med en logisk och förutsägbar flikordning gör din app mer intuitiv och hjälper användarna att utforska, upptäcka och komma åt funktioner mer effektivt och effektivt.
Alla interaktiva kontroller bör ha tabbstopp (såvida de inte finns i en grupp), medan icke-interaktiva kontroller, till exempel etiketter, inte ska göra det.
Undvik en anpassad flikordning som gör att fokus flyttas runt i ditt program. En lista över kontroller i ett formulär bör till exempel ha en flikordning som flödar uppifrån och ned och från vänster till höger (beroende på nationella inställningar).
Mer information om hur du anpassar tabbstopp finns i Tangentbordstillgänglighet .
Försök att samordna tabbordning och visuell ordning
Genom att samordna flikordning och visuell ordning (kallas även läsordning eller visningsordning) minskar förvirringen för användarna när de navigerar i programmets användargränssnitt.
Försök att rangordna och presentera de viktigaste kommandona, kontrollerna och innehållet först i både flikordningen och den visuella ordningen. Den faktiska visningspositionen kan dock bero på den överordnade layoutcontainern och vissa egenskaper hos de underordnade elementen som påverkar layouten. Mer specifikt kan layouter som använder en rutnätsmetafor eller en tabellmetafor ha en visuell ordning som skiljer sig helt från flikordningen.
NOT Den visuella ordningen är också beroende av nationella inställningar och språk.
Inledande fokus
Inledande fokus anger det gränssnittselement som får fokus när ett program eller en sida först startas eller aktiveras. När du använder ett tangentbord är det från det här elementet som en användare börjar interagera med programmets användargränssnitt.
För UWP-appar är inledande fokus inställt på elementet med det högsta TabIndex som kan ta emot fokus. Underordnade element i containerkontroller ignoreras. I oavgjort får det första elementet i det visuella trädet fokus.
Ange inledande fokus på det mest logiska elementet
Ställ in inledande fokus på användargränssnittselementet för den första eller primära åtgärd som användarna mest sannolikt kommer att vidta när de startar appen eller navigerar till en sida. Vissa exempel inkluderar:
- En fotoapp där fokus är inställt på det första objektet i ett galleri
- En musikapp där fokus är inställt på uppspelningsknappen
Ställ inte in inledande fokus på ett element som exponerar ett potentiellt negativt eller till och med katastrofalt resultat
Den här funktionsnivån bör vara en användares val. Om du ställer in inledande fokus på ett element med ett betydande resultat kan det leda till oavsiktlig dataförlust eller systemåtkomst. Ställ till exempel inte in fokus på borttagningsknappen när du navigerar till ett e-postmeddelande.
Mer information om hur du åsidosätter tabbordning finns i Fokusnavigering .
Navigering
Tangentbordsnavigering stöds vanligtvis via tabbtangenterna och piltangenterna.
Som standard följer UWP-kontroller dessa grundläggande tangentbordsbeteenden:
- Tabbnycklar navigerar mellan kontroller som kan användas/aktiva i flikordning.
- Skift + tabb navigerar kontroller i omvänd flikordning. Om användaren har navigerat i kontrollen med hjälp av piltangenten är fokus inställt på det senast kända värdet i kontrollen.
-
Piltangenterna exponerar kontrollspecifik "inre navigering" När användaren anger "inre navigering" navigerar inte piltangenterna ur en kontroll. Några exempel är:
- Uppåt-/nedåtpilen flyttar fokus inuti
ListViewochMenuFlyout - Ändra markerade värden för
SliderochRatingsControl - Flytta caret till inuti
TextBox - Expandera/dölj objekt inuti
TreeView
- Uppåt-/nedåtpilen flyttar fokus inuti
Använd dessa standardbeteenden för att optimera programmets tangentbordsnavigering.
Använd "inre navigering" med uppsättningar av relaterade kontroller
Genom att ge piltangentnavigering till en uppsättning relaterade kontroller förstärks deras relation inom den övergripande organisationen av programmets användargränssnitt.
Kontrollen som visas här ger till exempel ContentDialog inre navigering som standard för en vågrät rad med knappar (för anpassade kontroller, se avsnittet Kontrollgrupp ).
Interaktion med en samling relaterade knappar blir enklare med piltangentnavigering
Om objekt visas i en enda kolumn navigerar upp- och ned-piltangenterna bland objekten. Om objekt visas på en enda rad navigerar höger-/vänsterpilen objekt. Om objekten är flera kolumner navigerar alla 4 piltangenterna.
Definiera ett enda tabbstopp för en samling relaterade kontroller
Genom att definiera ett enda tabbstopp för en samling relaterade eller kompletterande kontroller kan du minimera antalet totala tabbstopp i din app.
Följande bilder visar till exempel två staplade ListView kontroller. Bilden till vänster visar navigering med piltangenter som används med ett tabbstopp för att navigera mellan ListView kontroller, medan bilden till höger visar hur navigering mellan underordnade element kan göras enklare och effektivare genom att eliminera behovet av att gå igenom överordnade kontroller med en tabbtangent.
|
|
Interaktionen med två staplade ListView-kontroller kan göras enklare och effektivare genom att eliminera tabbstoppet och navigera med bara piltangenterna.
Gå till avsnittet Kontrollgrupp för att lära dig hur du tillämpar optimeringsexempel på ditt programgränssnitt.
Interaktion och kommandon
När en kontroll har fokus kan en användare interagera med den och anropa alla associerade funktioner med hjälp av specifika tangentbordsindata.
Textinmatning
För de kontroller som är särskilt utformade för textinmatning som TextBox och RichEditBoxanvänds alla tangentbordsindata för att ange eller navigera i text, vilket prioriteras framför andra tangentbordskommandon. Den nedrullningsbara menyn för en AutoSuggestBox kontroll känner till exempel inte igen blankstegsnyckeln som ett markeringskommando.
Mellanslagstangent
När den inte är i textinmatningsläge anropar blankstegsnyckeln åtgärden eller kommandot som är associerat med den fokuserade kontrollen (precis som en tryckning med touch eller ett klick med en mus).
Ange nyckel
Returnyckeln kan utföra en mängd olika vanliga användarinteraktioner, beroende på vilken kontroll som är i fokus:
- Aktiverar kommandokontroller som en
ButtonellerHyperlink. För att undvika slutanvändarförvirring aktiverar returnyckeln även kontroller som ser ut som kommandokontroller somToggleButtonellerAppBarToggleButton. - Visar väljgränssnittet för kontroller som
ComboBoxochDatePicker. Entertangenten bekräftar och stänger också väljarrutan. - Aktiverar listkontroller som
ListView,GridViewochComboBox.- Returnyckeln utför markeringsåtgärden som blankstegsnyckel för list- och rutnätsobjekt, såvida det inte finns en ytterligare åtgärd som är associerad med dessa objekt (öppnar ett nytt fönster).
- Om en ytterligare åtgärd är associerad med kontrollen utför returnyckeln den ytterligare åtgärden och blankstegsnyckeln utför markeringsåtgärden.
NOTReturnyckeln och blankstegsnyckeln utför inte alltid samma åtgärd, men gör det ofta.
Esc-tangent
Med Esc-nyckeln kan en användare avbryta det tillfälliga användargränssnittet (tillsammans med pågående åtgärder i användargränssnittet).
Exempel på den här upplevelsen är:
- Användaren öppnar en
ComboBoxmed ett markerat värde och använder piltangenterna för att flytta fokusmarkeringen till ett nytt värde. Genom att trycka på Esc-tangenten stängsComboBoxoch det markerade värdet återställs till det ursprungliga värdet. - Användaren anropar en permanent borttagningsåtgärd för ett e-postmeddelande och uppmanas att
ContentDialogbekräfta åtgärden. Användaren bestämmer att detta inte är den avsedda åtgärden och trycker på Esc-tangenten för att stänga dialogrutan. Eftersom Esc-nyckeln är associerad med knappen Avbryt stängs dialogrutan och åtgärden avbryts. Esc-nyckeln påverkar bara det tillfälliga användargränssnittet, det stänger inte eller går tillbaka till appgränssnittet.
Hem- och slutnycklar
Med Hem- och End-tangenterna kan en användare rulla till början eller slutet av ett gränssnittsområde.
Exempel på den här upplevelsen är:
- För
ListViewochGridViewkontroller flyttar hemnyckeln fokus till det första elementet och rullar det i vyn, medan slutnyckeln flyttar fokus till det sista elementet och rullar det i vyn. - För en
ScrollViewkontroll rullar hemnyckeln längst upp i regionen, medan slutnyckeln rullar längst ned i regionen (fokus ändras inte).
Page Up- och Page Down-tangenter
Med sidnycklarna kan en användare rulla en användargränssnittsregion i diskreta steg.
Till exempel, för ListView och GridView kontroller bläddrar Sida upp-tangenten regionen upp med en "sida" (vanligtvis visningsportens höjd) och flyttar fokus till regionens topp. Alternativt rullar Sida ner-tangenten regionen ned med en sida och flyttar fokus till slutet av regionen.
F6-nyckel
Med F6-nyckeln kan en användare växla mellan fönster eller viktiga delar av appen eller användargränssnittet. Skift-F6 växlar vanligtvis bakåt (se Hjälpmedel för tangentbord).
Dessa är ofta relaterade till landmärken och rubriker, men behöver inte motsvara direkt.
Till exempel:
- Om du trycker på F6 i Edge växlas det mellan flikfältet, adressfältet/appfältet och sidinnehållet.
- Om du trycker på F6 i Utforskaren går det att växla mellan avsnitten i appen.
- Om du trycker på F6 på skrivbordet går det att växla mellan delar av aktivitetsfältet och skrivbordet.
Kortkommandon för tangentbord
Förutom att implementera tangentbordsnavigering och aktivering är det också bra att implementera kortkommandon som tangentbordsacceleratorer och åtkomstnycklar för viktiga eller ofta använda funktioner.
Kortkommandon kan göra appen enklare att använda genom att ge både förbättrat stöd för hjälpmedel och förbättrad effektivitet för tangentbordsanvändare.
En genväg är en tangentbordskombination som förbättrar produktiviteten genom att ge användaren ett effektivt sätt att komma åt appfunktioner. Det finns två typer av genvägar:
- Acceleratorer är genvägar som anropar ett appkommando. Din app kanske eller kanske inte tillhandahåller ett specifikt användargränssnitt som motsvarar kommandot. Acceleratorer består vanligtvis av Ctrl-tangenten plus en bokstavsnyckel.
- Åtkomstnycklar är genvägar som fokuserar på specifika användargränssnitt i ditt program. Åtkomstnycklar består vanligtvis av Alt-nyckeln plus en bokstavsnyckel.
Genom att tillhandahålla konsekventa kortkommandon som stöder liknande uppgifter i olika program blir de mycket mer användbara och kraftfulla och hjälper användarna att komma ihåg dem.
Acceleratorer
Acceleratorer hjälper användarna att utföra vanliga åtgärder i ett program mycket snabbare och effektivare.
Exempel på acceleratorer:
- Om du trycker på Ctrl + N någonstans i e-postappen startas ett nytt e-postobjekt.
- Genom att trycka på Ctrl + E-tangenten var som helst i Microsoft Edge (och många Microsoft Store-program) startas sökningen.
Acceleratorer har följande egenskaper:
- De använder främst Ctrl- och funktionsnyckelsekvenser (Windows-systemgenvägsnycklar använder även Alt + icke-alfanumeriska nycklar och Windows-logotypnyckeln).
- De tilldelas endast till de vanligaste kommandona.
- De är avsedda att memoreras och dokumenteras endast i menyer, knappbeskrivningar och hjälp.
- De har effekt i hela programmet när de stöds.
- De bör tilldelas konsekvent eftersom de memoreras och inte dokumenteras direkt.
Åtkomstnycklar
Mer detaljerad information om hur du stöder åtkomstnycklar med UWP finns på sidan Åtkomstnycklar .
Åtkomstnycklar hjälper användare med funktionsvariationer att trycka på en tangent i taget för att åtgärda ett specifikt objekt i användargränssnittet. Dessutom kan åtkomstnycklar användas för att kommunicera ytterligare genvägsnycklar för att hjälpa avancerade användare att utföra åtgärder snabbt.
Åtkomstnycklar har följande egenskaper:
- De använder Alt-nyckeln plus en alfanumerisk nyckel.
- De är främst för tillgänglighet.
- De dokumenteras direkt i användargränssnittet, intill kontrollen, via Nyckeltips.
- De har endast effekt i det aktuella fönstret och navigerar till motsvarande menyalternativ eller kontroll.
- Åtkomstnycklar bör tilldelas konsekvent till vanliga kommandon (särskilt commit-knappar) om möjligt.
- De är lokaliserade.
Vanliga kortkommandon
Följande tabell är ett litet exempel på kortkommandon som används ofta.
| Åtgärd | Nyckelkommando |
|---|---|
| Välj alla | Ctrl+A |
| Välj kontinuerligt | Skift+piltangent |
| Spara | Ctrl+S |
| Hitta | Ctrl+F |
| Trycka | Ctrl+P |
| Kopiera | Ctrl+C |
| Klipp ut | Ctrl+X |
| Klistra | Ctrl+V |
| Undo | Ctrl+Z |
| Nästa flik | Ctrl+Tab |
| Stäng flik | Ctrl+F4 eller Ctrl+W |
| Semantisk zoom | Ctrl++ eller Ctrl+- |
En omfattande lista över Windows-systemgenvägar finns i Kortkommandon för Windows. Vanliga programgenvägar finns i Kortkommandon för Microsoft-program.
Avancerade upplevelser
I det här avsnittet diskuterar vi några av de mer komplexa funktioner för tangentbordsinteraktion som stöds av UWP-appar, tillsammans med några av de beteenden som du bör känna till när din app används på olika enheter och med olika verktyg.
Kontrollgrupp
Du kan gruppera en uppsättning relaterade eller kompletterande kontroller i en "kontrollgrupp" (eller ett riktningsområde) som möjliggör "inre navigering" med hjälp av piltangenterna. Kontrollgruppen kan vara ett enda tabbstopp, eller så kan du ange flera tabbstopp i kontrollgruppen.
Piltangentnavigering
Användarna förväntar sig stöd för piltangentnavigering när det finns en grupp liknande, relaterade kontroller i en UI-region:
-
AppBarButtonsi enCommandBar -
ListItemseller inutiGridItemsellerListViewGridView -
Buttonsinne iContentDialog
UWP-kontroller stöder piltangentnavigering som standard. För anpassade layouter och kontrollgrupper använder du XYFocusKeyboardNavigation="Enabled" för att tillhandahålla liknande beteende.
Överväg att lägga till stöd för piltangentnavigering när du använder följande kontroller:
|
Dialogknappar
Radioknappar |
AppBarButtons
Listobjekt och Gridobjekt |
Tabbstopp
Beroende på programmets funktioner och layout kan det bästa navigeringsalternativet för en kontrollgrupp vara ett enda tabbstopp med pilnavigering till underordnade element, flera tabbstopp eller någon kombination.
Använd flera tabbstopp och piltangenter för knappar
Hjälpmedelsanvändare förlitar sig på väletablerade tangentbordsnavigeringsregler, som vanligtvis inte använder piltangenterna för att navigera i en samling knappar. Användare utan synnedsättningar kan dock känna att beteendet är naturligt.
Ett exempel på standardbeteendet för UWP i det här fallet är ContentDialog. Piltangenterna kan användas för att navigera mellan knappar, men varje knapp är också ett tabbstopp.
Tilldela enstaka tabbstopp till välbekanta användargränssnittsmönster
Om layouten följer ett välkänt användargränssnittsmönster för kontrollgrupper kan det förbättra användarnas navigeringseffektivitet genom att tilldela en enskild tabbstopp till gruppen.
Exempel är:
RadioButtons- Flera
ListViewssom ser ut och beter sig som en endaListView - Alla användargränssnitt som görs för att se ut och bete sig som rutnät av paneler (till exempel Start-menypaneler)
Ange kontrollgruppsbeteende
Använd följande API:er för att stödja beteende för anpassade kontrollgrupper (alla beskrivs mer detaljerat senare i det här avsnittet):
- XYFocusKeyboardNavigation aktiverar piltangentnavigering mellan kontroller
- TabFocusNavigation anger om det finns flera tabbstopp eller enstaka tabbstopp
- Seten FindFirstFocusableElement och FindLastFocusableElement fokuserar på det första objektet med hemnyckeln och det sista objektet med slutnyckeln
Följande bild visar ett intuitivt tangentbordsnavigeringsbeteende för en grupp kontroller med associerade radioknappar. I det här fallet rekommenderar vi ett enda tabbstopp för kontrollgruppens navigering, inre navigering mellan radioknapparna med hjälp av piltangenterna, Home-tangenten bunden till den första radioknappen och End-tangenten bunden till den sista radioknappen.
Tangentbord och Narrator
"Narrator är ett hjälpmedelsverktyg för användargränssnittet som är inriktat på tangentbordsanvändare (andra indatatyper stöds också)." Skärmläsarens funktioner går dock utöver de tangentbordsinteraktioner som stöds av UWP-appar och extra försiktighet krävs när du utformar UWP-appen för Skärmläsaren. (Sidan Grundläggande om Skärmläsaren vägleder dig genom användarupplevelsen för Skärmläsaren.)
Några av skillnaderna mellan UWP-tangentbordsbeteenden och de som stöds av Skärmläsaren är:
- Extra tangentkombinationer för navigering till gränssnittselement som inte exponeras via standardtangentbordsnavigering, till exempel Caps lock + piltangenter för att läsa kontrolletiketter.
- Navigering till inaktiverade objekt. Som standard exponeras inte inaktiverade objekt via standardtangentbordsnavigering.
- Kontrollera "vyer" för snabbare navigering baserat på användargränssnittskornighet. Användare kan navigera till objekt, tecken, ord, rader, stycken, länkar, rubriker, tabeller, landmärken och förslag. Standardtangentbordsnavigering exponerar dessa objekt som en platt lista, vilket kan göra navigeringen besvärlig om du inte tillhandahåller kortkommandon.
Fallstudie – AutoSuggestBox-kontroll
Sökknappen för AutoSuggestBox är inte tillgänglig för standardtangentbordsnavigering med tabbtangenterna och piltangenterna eftersom användaren kan trycka på Retur för att skicka sökfrågan. Den är dock tillgänglig via Skärmläsaren när användaren trycker på Caps Lock + en piltangent.
Med tangentbordet trycker användarna påReturför att skicka sökfråga
|
Med Narrator trycker användarna på Retur för att skicka sökfrågan |
Med Skärmläsaren kan användarna också komma åt sökknappen med hjälp av Caps Lock + högerpiltangenten och sedan trycka på mellanslagstangenten |
Tangentbord, spelplatta och fjärrstyrning
Spelkuddar och fjärrkontroller stöder många UWP-tangentbordsbeteenden och funktioner. Dock, på grund av bristen på olika viktiga alternativ som finns på ett tangentbord, saknar en spelkontroll och fjärrkontroll många tangentbordsoptimeringar (fjärrkontrollen är ännu mer begränsad än spelkontrollen).
Mer information om UWP-stöd för spelplatta och fjärrstyrning finns i Spelplatta och fjärrstyrningsinteraktioner .
Följande visar några nyckelmappningar mellan tangentbord, spelplatta och fjärrstyrning.
| tangentbord | Handkontroll | Fjärrkontroll |
|---|---|---|
| Rymd | En knapp | Välj-knapp |
| Gå in | En knapp | Välj-knappen |
| Flykt | B-knapp | Bakåtknapp |
| Hem/Slut | N/A | N/A |
| Sida upp/ned | Utlösarknapp för lodrät rullning, stötfångarknapp för vågrät rullning | N/A |
Några viktiga skillnader som du bör vara medveten om när du utformar din UWP-app för användning med spelplatta och fjärrstyrningsanvändning är:
Textpost kräver att användaren trycker på A för att aktivera en textkontroll.
Fokusnavigering är inte begränsat till kontrollgrupper, användarna kan navigera fritt till valfritt gränssnittselement i appen.
NOT Fokus kan flyttas till alla fokuserbara gränssnittselement i tangentpressriktningen om det inte finns i ett överläggsgränssnitt eller fokusengagemang har angetts, vilket förhindrar att fokus kommer in i/lämnar en region tills det är aktiverat/frånkopplat med A-knappen. Mer information finns i avsnittet om riktningsnavigering .
D-pad- och vänstersticksknappar används för att flytta fokus mellan kontroller och för inre navigering.
NOT Gamepad och fjärrstyrning navigerar bara till objekt som är i samma visuella ordning som riktningsnyckeln som trycktes på. Navigeringen är inaktiverad i den riktningen när det inte finns något efterföljande element som kan ta emot fokus. Beroende på situationen har tangentbordsanvändare inte alltid den begränsningen. Mer information finns i avsnittet Inbyggd tangentbordsoptimering .
Riktningsnavigering
Riktningsnavigering hanteras av en UWP Focus Manager-hjälpklass , som tar riktningsnyckeln nedtryckt (piltangent, D-pad) och försöker flytta fokus i motsvarande visuella riktning.
Till skillnad från tangentbordet, när en app väljer bort musläge, tillämpas riktningsnavigering i hela programmet för spelplatta och fjärrstyrning. Mer information om riktningsnavigeringsoptimering finns i Gamepad- och fjärrstyrningsinteraktioner .
NOT Navigering med tangenten tangentbordsflik betraktas inte som riktningsnavigering. För mer information, se avsnittet Tabbstopp.
|
Riktningsnavigering stöds |
Riktningsnavigering stöds |
Inbyggd tangentbordsoptimering
Beroende på vilken layout och vilka kontroller som används kan UWP-appar optimeras specifikt för tangentbordsinmatning.
I följande exempel visas en grupp med listobjekt, rutnätsobjekt och menyobjekt som har tilldelats till ett enda tabbstopp (se avsnittet Tabbstopp ). När gruppen har fokus utförs inre navigering med riktningspiltangenterna i motsvarande visuella ordning (se navigeringsavsnittet ).
Navigering med en kolumnpil
Navigering med enkel radpil
Navigering med piltangenten för flera kolumner/rader
Omslutning av homogena list- och rutnätsvyobjekt
Riktningsnavigering är inte alltid det mest effektiva sättet att navigera i flera rader och kolumner i List- och GridView-objekt.
NOT Menyalternativ är vanligtvis enkolumnslistor, men särskilda fokusregler kan gälla i vissa fall (se Popup-användargränssnittet).
List- och rutnätsobjekt kan skapas med flera rader och kolumner. Dessa är vanligtvis i rad-större (där objekt fyller hela raden först innan de fyller i nästa rad) eller kolumn-större (där objekt fyller hela kolumnen först innan de fyller i nästa kolumn) ordning. Huvudordningen för rad eller kolumn beror på rullningsriktningen och du bör se till att objektordningen inte står i konflikt med den här riktningen.
I radordning (där objekt fylls i från vänster till höger, uppifrån och ned), när fokus är på det sista objektet i en rad och högerpilen trycks nedåt, flyttas fokus till det första objektet i nästa rad. Samma beteende inträffar i omvänd ordning: När fokus är inställt på det första objektet i en rad och vänsterpiltangenten trycks ned flyttas fokus till det sista objektet i föregående rad.
I kolumn-större ordning (där objekt fylls uppifrån och ned, från vänster till höger), när fokus ligger på det sista objektet i en kolumn och användaren trycker på nedåtpilen, flyttas fokus till det första objektet i nästa kolumn. Samma beteende inträffar i omvänd ordning: När fokus är inställt på det första objektet i en kolumn och uppåtpilen trycks ned flyttas fokus till det sista objektet i föregående kolumn.
|
Huvudtangentbordsnavigering på rad |
Kolumn med huvudtangentbordsnavigering |
Popup-användargränssnitt
Som nämnts bör du försöka se till att riktningsnavigering motsvarar kontrollernas visuella ordning i programmets användargränssnitt.
Vissa kontroller (till exempel snabbmenyn, kommandoradens spillmeny och menyn Automatiska förslag) visar en meny-popup på en plats och riktning (nedåt som standard) i förhållande till den primära kontrollen och tillgängligt skärmutrymme. Observera att öppningsriktningen kan påverkas av en mängd olika faktorer vid körning.
|
|
För dessa kontroller, när menyn öppnas först (och inget objekt har valts av användaren), anger nedåtpilen alltid fokus till det första objektet medan uppåtpilen alltid ställer in fokus på det sista objektet på menyn.
Om det sista objektet har fokus och nedåtpilen trycks ned flyttas fokus till det första objektet på menyn. Om det första elementet har fokus och man trycker på uppåtpilen, flyttas fokus till det sista elementet på menyn. Det här beteendet kallas cykling och är användbart för att navigera i popup-menyer som kan öppnas i oförutsägbara riktningar.
Anmärkning
Cykling bör undvikas i icke-popup användargränssnitt där användare kan komma att känna sig fångade i ett oändligt kretslopp.
Vi rekommenderar att du emulerar samma beteenden i dina anpassade kontroller. Kodexempel på hur du implementerar det här beteendet finns i dokumentationen för programmeringsfokusnavigering .
Testa din app
Testa appen med alla indataenheter som stöds för att säkerställa att gränssnittselement kan navigeras till på ett sammanhängande och intuitivt sätt och att inga oväntade element stör den önskade tabbordningen.
Relaterade artiklar
- Tangentbordshändelser
- Identifiera inmatningsenheter
- Svara på närvaron av pektangentbordet
- Exempel på fokusvisualiseringar
- NavigeringVisa tangentbordsspecifika funktioner för kontroll
- Hjälpmedel för tangentbord
Appendix
Programvarutangentbord
Ett programvarutangentbord visas på skärmen och används i stället för det fysiska tangentbordet för att skriva och ange data med hjälp av touch, mus, penna eller annan pekenhet. På spelenheter måste enskilda nycklar väljas genom att flytta fokusvisualiseringen eller använda kortkommandon på en spelplatta eller fjärrstyrning.
Pektangentbord
Windows 11 Touch Keyboard
Beroende på enheten visas pektangentbordet när ett textfält eller annan redigerbar textkontroll fokuserar, eller när användaren aktiverar det manuellt via Meddelandecenter:
Om appen ställer in fokus programmatiskt på en textinmatningskontroll anropas inte pektangentbordet. Detta eliminerar oväntade beteenden som inte initieras direkt av användaren. Tangentbordet döljs dock automatiskt när fokus flyttas programmatiskt till en inmatningskontroll som inte är text.
Pektangentbordet förblir vanligtvis synligt medan användaren navigerar mellan kontroller i ett formulär. Det här beteendet kan variera beroende på de andra kontrolltyperna i formuläret.
Följande är en lista över icke-redigerade kontroller som kan ta emot fokus under en textinmatningssession med hjälp av pektangentbordet utan att stänga tangentbordet. I stället för att i onödan ändra användargränssnittet och potentiellt förvirra användaren förblir pektangentbordet i vyn eftersom användaren sannolikt kommer att gå fram och tillbaka mellan dessa kontroller och textinmatning med pektangentbordet.
- Kryssruta
- Kombinationsfält
- Alternativknapp
- Rullningslist
- Tree
- Trädobjekt
- Meny
- Menyrad
- Menyalternativ
- Verktygsfält
- List
- Listobjekt
Här är exempel på olika lägen för pektangentbordet. Den första bilden är standardlayouten, den andra är den expanderade layouten (som kanske inte är tillgänglig på alla språk).
Pektangentbordet i standardlayoutläge
Pektangentbordet i expanderat layoutläge
Lyckade tangentbordsinteraktioner gör det möjligt för användare att utföra grundläggande appscenarier med hjälp av endast tangentbordet. Användarna kan alltså nå alla interaktiva element och aktivera standardfunktioner. Ett antal faktorer kan påverka graden av framgång, inklusive tangentbordsnavigering, åtkomstnycklar för hjälpmedel och snabbtangenter (eller kortkommandon) för avancerade användare.
Skärmtangentbord
Precis som pekskärms-tangentbordet är skärmtangentbordet (ÖSK) ett programvarubaserat tangentbord som används istället för det fysiska tangentbordet för att skriva och ange data med touch, mus, penna/stylus eller annan pekenhet (en pekskärm behövs inte). OSK tillhandahålls för system som inte har ett fysiskt tangentbord eller för användare vars nedsatt rörlighet hindrar dem från att använda traditionella fysiska indataenheter. ÖSK emulerar nästan all funktionalitet hos ett maskinvarutangentbord, om inte all.
OSK kan aktiveras från sidan Tangentbord i Inställningar > Enkel åtkomst.
OBS OSK har prioritet framför pektangentbordet, vilket inte visas om OSK finns.
Skärmtangentbord
Xbox One-skärmtangentbord
Mer information finns i Använda skärmtangentbordet för att skriva.
Windows developer