Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dowiedz się, jak projektować i optymalizować aplikacje systemu Windows, aby zapewnić najlepsze środowisko zarówno dla użytkowników korzystających z klawiatury, jak i osób niepełnosprawnych oraz innych wymagań dotyczących ułatwień dostępu.
Na różnych urządzeniach wprowadzanie klawiatury jest ważną częścią ogólnego środowiska interakcji aplikacji systemu Windows. Dobrze zaprojektowane środowisko klawiatury umożliwia użytkownikom efektywne nawigowanie po interfejsie użytkownika aplikacji i uzyskiwanie dostępu do jej pełnej funkcjonalności bez konieczności podnoszenia rąk z klawiatury.
Typowe wzorce interakcji są współużytkowane między klawiaturą a gamepadem
W tym temacie skoncentrujemy się specjalnie na projektowaniu aplikacji systemu Windows na potrzeby wprowadzania klawiatury na komputerach. Jednak dobrze zaprojektowane środowisko klawiatury jest ważne dla obsługi narzędzi ułatwień dostępu, takich jak Windows Narrator, przy użyciu klawiatur programowych, takich jak klawiatura dotykowa i klawiatura ekranowa (OSK), oraz do obsługi innych typów urządzeń wejściowych, takich jak gamepad lub pilot zdalnego sterowania.
Wiele wytycznych i zaleceń omówionych tutaj, w tym wizualizacji fokusu, kluczy dostępu i nawigacji interfejsu użytkownika, ma również zastosowanie do tych innych scenariuszy.
NUTA Chociaż zarówno klawiatury sprzętowe, jak i programowe są używane do wprowadzania tekstu, celem tego tematu jest nawigacja i interakcja.
Wbudowana obsługa
Wraz z myszą klawiatura jest najczęściej używanym urządzeniami peryferyjnymi na komputerach i, w związku z tym, jest podstawową częścią środowiska komputera. Użytkownicy komputerów oczekują kompleksowego i spójnego środowiska zarówno z systemu, jak i poszczególnych aplikacji w odpowiedzi na wprowadzanie z klawiatury.
Wszystkie kontrolki UWP zawierają wbudowaną obsługę zaawansowanych doświadczeń klawiaturowych i interakcji użytkownika. Platforma ta stanowi obszerną podstawę do tworzenia doświadczeń klawiaturowych, które najlepiej nadają się zarówno do kontrolek niestandardowych, jak i aplikacji.
Platforma UWP obsługuje klawiaturę z dowolnym urządzeniem
Podstawowe doświadczenia
Jak wspomniano wcześniej, urządzenia wejściowe, takie jak konsola do gier i zdalne sterowanie, oraz narzędzia ułatwień dostępu, takie jak Narrator, udostępniają większość środowiska wprowadzania klawiatury na potrzeby nawigacji i poleceń. To typowe doświadczenie we wszystkich typach danych wejściowych i narzędziach minimalizuje dodatkowy wysiłek z Twojej strony i przyczynia się do celu „zbuduj raz, uruchom wszędzie” platformy uniwersalnej systemu Windows.
W razie potrzeby zidentyfikujemy kluczowe różnice, o których należy pamiętać i opiszemy wszelkie środki zaradcze, które należy wziąć pod uwagę.
Poniżej przedstawiono urządzenia i narzędzia omówione w tym temacie:
| Urządzenie/narzędzie | Description |
|---|---|
| Klawiatura (sprzęt i oprogramowanie) | Oprócz standardowej klawiatury sprzętowej aplikacje systemu Windows obsługują dwie klawiatury programowe: klawiaturę dotykową (lub oprogramowanie) i klawiaturę ekranową. |
| Konsola gry i zdalne sterowanie | Konsola do gry i zdalne sterowanie są podstawowymi urządzeniami wejściowymi w środowisku 10 stóp. Aby uzyskać szczegółowe informacje na temat obsługi systemu Windows dla konsoli gry i zdalnego sterowania, zobacz Game pad and remote control interactions (Interakcje z konsolą gry i zdalnego sterowania). |
| Czytniki zawartości ekranu (Narrator) | Narrator to wbudowany czytnik ekranu dla systemu Windows, który zapewnia unikalne doświadczenia interakcji i funkcje, ale nadal opiera się na podstawowej nawigacji i wprowadzaniu z klawiatury. Aby uzyskać szczegółowe informacje o Narratorze, zobacz Wprowadzenie do Narratora. |
Niestandardowe doświadczenia i wydajne pisanie na klawiaturze
Jak wspomniano, obsługa klawiatury jest integralną częścią zapewnienia, że aplikacje działają świetnie dla użytkowników z różnymi umiejętnościami, umiejętnościami i oczekiwaniami. Zalecamy nadanie priorytetu następującym zagadnieniom.
- Obsługa nawigacji za pomocą klawiatury i interakcji
- Upewnij się, że elementy z możliwością działania są identyfikowane jako przystanki tabulatorów (a elementy nieobsługiwalne nie są), a kolejność nawigacji jest logiczna i przewidywalna (zobacz Zatrzymywanie tabulacji)
- Ustawianie początkowego fokusu na najbardziej logicznym elemecie (zobacz Początkowy fokus)
- Podaj nawigację strzałki dla "nawigacji wewnętrznej" (zobacz Nawigacja)
- Obsługa skrótów klawiaturowych
- Podaj klawisze skrótów do szybkich działań (zobacz Akceleratory)
- Podaj klucze dostępu, aby nawigować po interfejsie użytkownika aplikacji (zobacz Klucze dostępu)
Wizualizacje fokusu
Platforma UWP obsługuje pojedynczy wizualny projekt fokusu, który działa dobrze dla wszystkich typów wejściowych i doświadczeń.
Wizualizacja fokusu:
- Jest wyświetlany, gdy element interfejsu użytkownika odbiera fokus z klawiatury i/lub gamepad/zdalnego sterowania
- Jest renderowany jako podświetlone obramowanie wokół elementu interfejsu użytkownika, aby wskazać, że można podjąć akcję
- Ułatwia użytkownikowi nawigację po interfejsie użytkownika aplikacji bez zgubienia się
- Można dostosować dla aplikacji (zobacz wizualizacje fokusu o wysokiej widoczności)
UWAGA Wizualizacja skupienia UWP nie jest taka sama jak prostokąt skupienia Narratora.
Znaczki tabulacji
Aby użyć kontrolki (w tym elementów nawigacji) za pomocą klawiatury, kontrolka musi mieć fokus. Jednym ze sposobów, aby kontrolka otrzymywała fokus klawiatury, jest udostępnienie jej w nawigacji za pomocą klawisza Tab, identyfikując ją jako przystanek na zakładce w kolejności tabulacji w aplikacji.
Aby kontrolka została uwzględniona w kolejności tabulacji, właściwość IsEnabled musi być ustawiona na true, a właściwość IsTabStop musi być ustawiona na true.
Aby w szczególności wykluczyć kontrolkę z kolejności tabulacji, ustaw właściwość IsTabStop na false.
Domyślnie kolejność tabulacji odzwierciedla kolejność tworzenia elementów interfejsu użytkownika. Jeśli na przykład element StackPanel zawiera Button, , Checkboxi TextBox, kolejność tabulacji to Button, Checkboxi TextBox.
Możesz zastąpić domyślną kolejność tabulacji, ustawiając właściwość TabIndex .
Kolejność tabulacji powinna być logiczna i przewidywalna
Dobrze zaprojektowany model nawigacji za pomocą klawiatury, używając logicznej i przewidywalnej kolejności tabulacji, sprawia, że aplikacja jest bardziej intuicyjna i ułatwia użytkownikom eksplorowanie, odnajdywanie i efektywne uzyskiwanie dostępu do funkcji.
Wszystkie kontrolki interakcyjne powinny mieć przystanki na tabulatorze (chyba że znajdują się w grupie), podczas gdy nieaktywne kontrolki, takie jak etykiety, nie powinny.
Unikaj niestandardowej kolejności tabulacji, która sprawia, że uwaga przeskakuje w aplikacji. Na przykład lista kontrolek w formularzu powinna mieć kolejność tabulacji przepływającą od góry do dołu i od lewej do prawej (w zależności od ustawień regionalnych).
Zobacz Ułatwienia dostępu klawiatury, aby uzyskać więcej informacji na temat dostosowywania tabulatorów.
Spróbuj koordynować kolejność tabulacji i kolejność wizualizacji
Koordynowanie kolejności tabulacji i kolejności wizualizacji (nazywanej również kolejnością odczytu lub kolejnością wyświetlania) pomaga zmniejszyć zamieszanie dla użytkowników podczas przechodzenia przez interfejs użytkownika aplikacji.
Spróbuj sklasyfikować i przedstawić najważniejsze polecenia, kontrolki i zawartość najpierw w kolejności tabulacji i kolejności wizualizacji. Jednak rzeczywiste położenie wyświetlania może zależeć od kontenera układu nadrzędnego i niektórych właściwości elementów podrzędnych mających wpływ na układ. W szczególności układy oparte na metaforze siatki lub tabeli mogą mieć wizualną kolejność znacząco różniącą się od kolejności tabulacji.
NUTA Kolejność wizualizacji zależy również od ustawień regionalnych i języka.
Fokus początkowy
Początkowy fokus określa element interfejsu użytkownika, który odbiera fokus po pierwszym uruchomieniu lub aktywowaniu aplikacji lub strony. W przypadku korzystania z klawiatury to od tego elementu użytkownik zaczyna interakcję z interfejsem użytkownika aplikacji.
W przypadku aplikacji platformy UWP początkowy fokus jest ustawiany na element z najwyższym indeksem TabIndex , który może uzyskać fokus. Elementy podrzędne kontrolek kontenera są ignorowane. W przypadku remisu pierwszy element w drzewie wizualnym otrzymuje skupienie.
Ustawianie początkowego fokusu na najbardziej logicznym elemecie
Ustaw początkowe skupienie uwagi na elemencie interfejsu użytkownika dla pierwszej lub podstawowej akcji, którą użytkownicy najprawdopodobniej wykonają w trakcie uruchamiania aplikacji lub nawigacji do strony. Oto kilka przykładów:
- Aplikacja do zdjęć, w której fokus jest ustawiony na pierwszy element w galerii
- Aplikacja muzyczna, w której fokus jest ustawiony na przycisk odtwarzania
Nie ustawiaj początkowego nacisku na element, który uwidacznia potencjalnie negatywny, a nawet katastrofalny wynik
Ten poziom funkcjonalności powinien być wyborem użytkownika. Ustawienie początkowego fokusu na element o znaczącym wyniku może spowodować niezamierzoną utratę danych lub dostęp do systemu. Na przykład nie ustawiaj fokusu na przycisk usuwania podczas przechodzenia do wiadomości e-mail.
Aby uzyskać więcej informacji na temat zastępowania kolejności tabulacji, zobacz Nawigacja fokusu .
Navigation
Nawigacja za pomocą klawiatury jest zwykle obsługiwana za pomocą Tab i strzałek.
Domyślnie kontrolki UWP są zgodne z następującymi podstawowymi zachowaniami klawiatury:
- Klawisze Tab nawigują między kontrolkami dostępnymi do działania/aktywnymi w kolejności tabulacji.
- Shift + Tab nawiguj między kontrolkami w odwrotnej kolejności tabulacji. Jeśli użytkownik nawigował wewnątrz kontrolki przy użyciu strzałki, fokus jest ustawiony na ostatnią znaną wartość wewnątrz kontrolki.
-
Klawisze strzałek uwidaczniają nawigację wewnętrzną specyficzną dla kontrolki. Gdy użytkownik wprowadza "nawigację wewnętrzną," klawisze strzałek nie pozwalają na nawigację poza kontrolkę. Oto kilka przykładów:
- strzałki w górę/w dół przenoszą fokus w obrębie
ListViewiMenuFlyout - Modyfikuj aktualnie wybrane wartości dla
SlideriRatingsControl - Przesuń kursor do środka
TextBox - Rozwiń/zwiń elementy wewnątrz
TreeView
- strzałki w górę/w dół przenoszą fokus w obrębie
Użyj tych domyślnych zachowań, aby zoptymalizować nawigację za pomocą klawiatury aplikacji.
Używanie "nawigacji wewnętrznej" z zestawami powiązanych kontrolek
Zapewnienie nawigacji strzałki w zestawie powiązanych kontrolek wzmacnia ich relację w całej organizacji interfejsu użytkownika aplikacji.
Na przykład pokazana tutaj kontrolka ContentDialog domyślnie zapewnia nawigację wewnętrzną dla poziomego wiersza przycisków (w przypadku kontrolek niestandardowych zobacz sekcję Grupa sterowania ).
Interakcja z kolekcją powiązanych przycisków jest łatwiejsza dzięki nawigacji strzałki
Jeśli elementy są wyświetlane w jednej kolumnie, klawisze strzałek w górę/w dół nawigują po elementach. Jeśli elementy są wyświetlane w jednym wierszu, strzałki w prawo/lewo nawigują po elementach. Jeśli elementy znajdują się w kilku kolumnach, wszystkie 4 klawisze strzałek umożliwiają nawigację.
Zdefiniowanie pojedynczego tabulatora dla kolekcji powiązanych kontrolek
Poprzez zdefiniowanie pojedynczego punktu zatrzymania tabulatora dla kolekcji powiązanych lub uzupełniających elementów sterujących, możesz zminimalizować liczbę ogólnych punktów zatrzymania tabulatora w aplikacji.
Na przykład poniższe obrazy pokazują dwie ułożone w stos ListView kontrolki. Obraz po lewej stronie przedstawia nawigację za pomocą klawiszy strzałek używaną w połączeniu z zatrzymaniem na zakładce do poruszania się między kontrolkami ListView, natomiast obraz po prawej stronie pokazuje, jak nawigacja między elementami podrzędnymi może być łatwiejsza i bardziej efektywna, eliminując potrzebę przemieszczania się przez kontrolki nadrzędne za pomocą klawisza Tab.
|
|
Interakcja z dwoma skumulowanymi kontrolkami ListView może być łatwiejsza i wydajniejsza, eliminując zatrzymanie karty i nawigowanie za pomocą strzałek.
Odwiedź sekcję Grupa kontrolna , aby dowiedzieć się, jak zastosować przykłady optymalizacji do interfejsu użytkownika aplikacji.
Interakcja i polecenie
Gdy kontrolka ma fokus, użytkownik może z nim korzystać i wywoływać wszelkie skojarzone funkcje przy użyciu określonych danych wejściowych klawiatury.
Wpis tekstowy
W przypadku tych kontrolek przeznaczonych specjalnie do wprowadzania tekstu, takich jak TextBox i RichEditBox, wszystkie dane wejściowe klawiatury są używane do wprowadzania lub nawigowania po tekście, który przejmuje priorytet nad innymi poleceniami klawiatury. Na przykład menu rozwijane dla kontrolki AutoSuggestBox nie rozpoznaje klawisza Spacja jako polecenia wyboru.
klawisz spacji
Jeśli nie jest w trybie wprowadzania tekstu, Spacja wywołuje akcję lub polecenie skojarzone z kontrolką fokusu (podobnie jak naciśnięcie za pomocą dotyku lub kliknięcie myszą).
Wprowadź klucz
Enter może wykonywać różne typowe interakcje użytkownika, w zależności od kontrolki z fokusem:
- Aktywuje elementy sterujące poleceniami, takie jak
ButtonlubHyperlink. Aby uniknąć nieporozumień użytkownika końcowego, Enter aktywuje również kontrolki, które wyglądają jak kontrolki poleceń, takie jakToggleButtonlubAppBarToggleButton. - Wyświetla interfejs użytkownika selektora dla kontrolek, takich jak
ComboBoxiDatePicker. Enter również zatwierdza i zamyka interfejs selektora. - Aktywuje kontrolki listy, takie jak
ListView,GridViewiComboBox.- Enter wykonuje akcję wyboru jako klucz spacji dla elementów listy i siatki, chyba że istnieje dodatkowa akcja skojarzona z tymi elementami (otwarcie nowego okna).
- Jeśli dodatkowa akcja jest skojarzona z kontrolką, Enter wykonuje dodatkową akcję, a klucz Spacja wykonuje akcję wyboru.
UWAGA Klawisz Enter i klawisz Spacja nie zawsze wykonują tę samą akcję, ale często tak.
Esc
Esc umożliwia użytkownikowi anulowanie przejściowego interfejsu użytkownika (wraz ze wszystkimi trwającymi akcjami w tym interfejsie użytkownika).
Przykłady tego doświadczenia obejmują:
- Użytkownik otwiera
ComboBoxobiekt z wybraną wartością i używa strzałek do przeniesienia zaznaczenia fokusu na nową wartość. Naciśnięcie klawisza Esc powoduje zamknięcieComboBoxi przywrócenie wybranej wartości do pierwotnej wartości. - Użytkownik wywołuje trwałą akcję usuwania wiadomości e-mail i zostanie wyświetlony monit o
ContentDialogpotwierdzenie akcji. Użytkownik decyduje, że nie jest to zamierzone działanie i naciska Esc , aby zamknąć okno dialogowe. Ponieważ Esc jest skojarzony z przyciskiem Anuluj , okno dialogowe zostanie zamknięte i akcja zostanie anulowana. Klucz Esc ma wpływ tylko na przejściowy interfejs użytkownika, nie zamyka ani nie przechodzi wstecz przez interfejs użytkownika aplikacji.
Klawisze Home i End
Klawisze Home i End umożliwiają użytkownikowi przewijanie do początku lub końca regionu interfejsu użytkownika.
Przykłady tego doświadczenia obejmują:
- W przypadku
ListViewiGridView, klawisz Home przenosi fokus do pierwszego elementu i przewija go tak, aby był widoczny, podczas gdy klawisz End przenosi fokus do ostatniego elementu i przewija go tak, aby był widoczny. - Dla kontrolki
ScrollView, klawisz Home przewija do górnej części regionu, natomiast klawisz End przewija do dolnej części regionu (fokus nie jest zmieniany).
Klawisze Page Up i Page Down
Klawisze Page umożliwiają użytkownikowi przewijanie obszaru interfejsu użytkownika o określone stopnie.
Na przykład w przypadku kontrolek ListView i GridView klawisz Page up przewija region w górę o „stronę” (zazwyczaj o wysokość widoku) i przenosi fokus na wierzchołek regionu. Alternatywnie klawisz Page Down przewija region w dół o stronę i przesuwa fokus na dół regionu.
F6
Klucz F6 umożliwia użytkownikowi cykl między okienkami lub ważnymi sekcjami aplikacji lub interfejsu użytkownika. Shift-F6 zwykle przechodzi do tyłu (zobacz Ułatwienia dostępu klawiatury).
Są one często związane z punktami orientacyjnymi i nagłówkami, ale nie muszą odpowiadać bezpośrednio.
Przykład:
- W przeglądarce Microsoft Edge naciśnięcie F6 spowoduje cykl między paskiem tabulatora, paskiem adresu/paskiem aplikacji i zawartością strony.
- W Eksploratorze plików naciśnięcie F6 będzie przełączać się między sekcjami aplikacji.
- Na pulpicie naciśnięcie F6 spowoduje cykl między częściami paska zadań a pulpitem.
Skróty klawiaturowe
Oprócz implementowania nawigacji za pomocą klawiatury i aktywacji warto zaimplementować skróty klawiaturowe, takie jak akceleratory klawiatury i dostępu do ważnych lub często używanych funkcji.
Skróty klawiaturowe mogą ułatwić korzystanie z aplikacji, zapewniając zarówno rozszerzoną obsługę ułatwień dostępu, jak i lepszą wydajność dla użytkowników klawiatury.
Skrót to kombinacja klawiatury, która zwiększa produktywność, zapewniając wydajny sposób uzyskiwania dostępu do funkcji aplikacji przez użytkownika. Istnieją dwa rodzaje skrótów:
- Akceleratory to skróty , które wywołują polecenie aplikacji. Aplikacja może lub nie udostępnia określonego interfejsu użytkownika odpowiadającego poleceniu. Akceleratory zwykle składają się z Ctrl i litery.
- Klucze dostępu to skróty, które ustawiają fokus na określony interfejs użytkownika w aplikacji. Klucze dostępu zwykle składają się z Alt oraz litery.
Zapewnienie spójnych skrótów klawiaturowych, które obsługują podobne zadania w aplikacjach, sprawia, że są znacznie bardziej przydatne i wydajne i pomaga użytkownikom je zapamiętać.
Akceleratory
Akceleratory ułatwiają użytkownikom wykonywanie typowych akcji w aplikacji znacznie szybciej i wydajniej.
Przykłady akceleratorów:
- Naciśnięcie Ctrl + N w dowolnym miejscu w aplikacji Poczta powoduje uruchomienie nowego elementu poczty.
- Naciśnięcie Ctrl + E w dowolnym miejscu w przeglądarce Microsoft Edge (i wielu aplikacjach ze sklepu Microsoft Store) powoduje uruchomienie wyszukiwania.
Akceleratory mają następujące cechy:
- Używają przede wszystkim sekwencji Ctrl i Funkcja (klawisze skrótów systemowych systemu Windows korzystają również z kombinacji Alt + z klawiszami innymi niż alfanumeryczne oraz klawisza z logo Windows).
- Są one przypisywane tylko do najczęściej używanych poleceń.
- Są one przeznaczone do zapamiętania i są udokumentowane tylko w menu, etykietkach narzędzi i Pomocy.
- Mają one wpływ w całej aplikacji, gdy są obsługiwane.
- Powinny one być przypisywane spójnie, ponieważ są zapamiętane i nie są bezpośrednio udokumentowane.
Klucze dostępu
Aby uzyskać bardziej szczegółowe informacje na temat obsługi kluczy dostępu za pomocą platformy UWP, zobacz stronę Klucze dostępu .
Klucze dostępu ułatwiają użytkownikom niepełnosprawności funkcji motorycznych możliwość naciśnięcia jednego naraz w celu wykonania akcji na określonym elemencie w interfejsie użytkownika. Ponadto klucze dostępu mogą służyć do przekazywania dodatkowych skrótów, aby ułatwić zaawansowanym użytkownikom szybkie wykonywanie akcji.
Klucze dostępu mają następujące cechy:
- Używają Alt oraz klucza alfanumerycznego.
- Są one przeznaczone głównie dla ułatwień dostępu.
- Są one udokumentowane bezpośrednio w interfejsie użytkownika, obok kontrolki, za pomocą Key Tips.
- Mają one wpływ tylko w bieżącym oknie i nawigują do odpowiedniego elementu menu lub kontrolki.
- Klucze dostępu powinny być przypisywane spójnie do często używanych poleceń (zwłaszcza przycisków zatwierdzania), zawsze, gdy jest to możliwe.
- Są zlokalizowane.
Typowe skróty klawiaturowe
Poniższa tabela to mała próbka często używanych skrótów klawiaturowych.
| Akcja | Kluczowe polecenie |
|---|---|
| Wybierz wszystko | Ctrl+A |
| Ciągłe wybieranie | Shift+Strzałka |
| Zapisz | Ctrl+S |
| Znajdź | Ctrl+F |
| Drukować | Ctrl+P |
| Kopiuj | Ctrl+C |
| Cięcie | Ctrl+X |
| Wklej | Ctrl+V |
| Cofnąć | Ctrl+Z |
| Następna karta | Ctrl+Tab |
| Zamknij kartę | Ctrl+F4 lub Ctrl+W |
| Powiększenie semantyczne | Ctrl++ lub Ctrl+- |
Aby uzyskać pełną listę skrótów systemowych systemu Windows, zobacz skróty klawiaturowe dla systemu Windows. Typowe skróty aplikacji można znaleźć w temacie Skróty klawiaturowe dla aplikacji firmy Microsoft.
Zaawansowane doświadczenia
W tej sekcji omówiono niektóre bardziej złożone środowiska interakcji z klawiaturą obsługiwane przez aplikacje platformy UWP wraz z niektórymi zachowaniami, o których należy pamiętać, gdy aplikacja jest używana na różnych urządzeniach i z różnymi narzędziami.
Grupa kontrolna
Można grupować zestaw powiązanych lub uzupełniających kontrolek w "grupie kontrolnej" (lub obszarze kierunkowym), który umożliwia "nawigację wewnętrzną" za pomocą strzałek. Grupa kontrolna może być pojedynczym tabulatorem lub można określić wiele tabulatorów w grupie kontrolnej.
Nawigacja strzałki
Użytkownicy oczekują obsługi nawigacji strzałki, gdy istnieje grupa podobnych, powiązanych kontrolek w regionie interfejsu użytkownika:
-
AppBarButtonsw aCommandBar -
ListItemslubGridItemswewnątrzListViewlubGridView -
ButtonswewnątrzContentDialog
Kontrolki platformy uniwersalnej systemu Windows domyślnie obsługują nawigację strzałki. W przypadku układów niestandardowych i grup kontrolek użyj polecenia XYFocusKeyboardNavigation="Enabled" , aby zapewnić podobne zachowanie.
Rozważ dodanie obsługi nawigacji strzałek w przypadku używania następujących kontrolek:
|
Przyciski okna dialogowego
Przełączniki radiowe |
AppBarButtons
ListItems i GridItems |
Znaczki tabulacji
W zależności od funkcjonalności i układu aplikacji, najlepszą opcją nawigacji dla grupy kontrolnej może być pojedynczy punkt tabulatora z nawigacją za pomocą strzałek po elementach podrzędnych, wiele punktów tabulatora, lub ich połączenie.
Użyj wielu tabulatorów i strzałek aby nawigować po przyciskach.
Użytkownicy ułatwień dostępu korzystają z dobrze ustalonych reguł nawigacji za pomocą klawiatury, które zwykle nie używają strzałek do nawigowania po kolekcji przycisków. Jednak użytkownicy bez upośledzenia wzroku mogą czuć, że zachowanie jest naturalne.
Przykładem domyślnego zachowania platformy UWP w tym przypadku jest ContentDialog. Podczas gdy klawisze strzałek mogą służyć do poruszania się między przyciskami, każdy przycisk jest również punktem zatrzymania tabulatora.
Przypisywanie zatrzymania pojedynczej karty do znanych wzorców interfejsu użytkownika
W przypadkach, gdy układ jest zgodny ze znanym wzorcem interfejsu użytkownika dla grup kontrolek, przypisanie pojedynczego punktu zatrzymania tabulatora do grupy może zwiększyć wydajność nawigacji dla użytkowników.
Oto kilka przykładów:
RadioButtons- Wiele
ListViews, które wyglądają jak i zachowują się jak pojedynczyListView - Każdy interfejs użytkownika, który wygląda i zachowuje się jak siatka kafelków (takich jak kafelki menu Start)
Określanie zachowania grupy kontrolnej
Użyj następujących interfejsów API, aby obsługiwać niestandardowe zachowanie grupy kontroli (wszystkie zostały omówione bardziej szczegółowo w dalszej części tego tematu):
- Funkcja XYFocusKeyboardNavigation umożliwia nawigację strzałki między kontrolkami
- TabFocusNavigation wskazuje, czy istnieje wiele tabstopów, czy pojedynczy tabstop
- FindFirstFocusableElement i FindLastFocusableElement ustawia fokus na pierwszym elemencie przy użyciu klawisza Home i na ostatnim elemencie przy użyciu klawisza End
Na poniższej ilustracji przedstawiono intuicyjną nawigację klawiaturą dla grupy przycisków radiowych. W tym przypadku zalecamy pojedynczy znak tabulacji dla grupy kontrolnej, wewnętrzną nawigację między przyciskami radiowymi przy użyciu klawiszy strzałek, klawisz Home powiązany z pierwszym przyciskiem radiowym i klawisz End powiązany z ostatnim przyciskiem radiowym.
Klawiatura i Narrator
Narrator to narzędzie ułatwień dostępu interfejsu użytkownika skierowane do użytkowników klawiatury (obsługiwane są również inne typy wejścia). Jednak funkcja Narratora wykracza poza interakcje klawiaturowe obsługiwane przez aplikacje platformy UWP i wymagana jest dodatkowa ostrożność podczas projektowania aplikacji platformy UWP dla Narratora. ( Strona Podstawy Narratora przeprowadzi Cię przez środowisko użytkownika Narratora).
Oto niektóre różnice między zachowaniami klawiatury uniwersalnej platformy Windows a tymi obsługiwanymi przez Narratora:
- Dodatkowe kombinacje klawiszy do nawigacji do elementów interfejsu użytkownika, które nie są dostępne za pośrednictwem standardowej nawigacji klawiatury, takie jak Caps lock + klawisze strzałek do odczytu etykiet kontrolek.
- Nawigacja do wyłączonych funkcji. Domyślnie wyłączone elementy nie są widoczne za pośrednictwem standardowej nawigacji za pomocą klawiatury.
- Sterowanie "widokami" w celu szybszej nawigacji w oparciu o stopień szczegółowości interfejsu użytkownika. Użytkownicy mogą przechodzić do elementów, znaków, wyrazów, wierszy, akapitów, linków, nagłówków, tabel, punktów orientacyjnych i sugestii. Standardowa nawigacja za pomocą klawiatury uwidacznia te obiekty jako płaską listę, co może sprawić, że nawigacja będzie kłopotliwa, chyba że podasz klawisze skrótu.
Analiza przypadku — kontrolka AutoSuggestBox
Przycisk wyszukiwania elementu AutoSuggestBox nie jest dostępny dla standardowej nawigacji za pomocą tabulacji i strzałek, ponieważ użytkownik może nacisnąć Enter , aby przesłać zapytanie wyszukiwania. Jest on jednak dostępny za pośrednictwem Narratora, gdy użytkownik naciska Caps Lock + strzałka.
Za pomocą klawiatury użytkownicy naciskająEnter, aby przesłać zapytanie wyszukiwania
|
W programie Narrator użytkownicy naciskają Enter , aby przesłać zapytanie wyszukiwania |
W Narratorze użytkownicy mogą uzyskać dostęp do przycisku wyszukiwania, używając Caps Lock + Strzałka w prawo, a następnie naciskając Spacja |
Klawiatura, konsola gry i zdalne sterowanie
Gamepady i piloty zdalnego sterowania obsługują wiele zachowań i funkcji klawiaturowych na platformie UWP Windows. Jednakze względu na brak różnych kluczowych opcji dostępnych na klawiaturze, gamepad i pilot zdalnego sterowania są pozbawione wielu optymalizacji klawiatury (pilot zdalnego sterowania jest jeszcze bardziej ograniczony niż gamepad).
Aby uzyskać więcej szczegółowych informacji na temat obsługi UWP dla gamepada i wejścia zdalnego sterowania, zobacz Interakcje z gamepadem i zdalnym sterowaniem.
Poniżej przedstawiono niektóre mapowania między klawiaturą, padem i pilotem.
| Klawiatura | Konsola gry | Zdalne sterowanie |
|---|---|---|
| Przestrzeń | Przycisk | Wybierz przycisk |
| Wejść | Przycisk | Wybierz przycisk |
| Ucieczka | Przycisk B | Przycisk Wstecz |
| Strona główna/koniec | N/A | N/A |
| Strona w górę/w dół | Przycisk wyzwalacza dla przewijania w pionie, przycisk zderzaka na potrzeby przewijania poziomego | N/A |
Niektóre kluczowe różnice należy wziąć pod uwagę podczas projektowania aplikacji platformy UWP do użycia z konsolą gry i użyciem zdalnego sterowania:
Wpis tekstowy wymaga od użytkownika naciśnięcia A w celu aktywowania kontrolki tekstu.
Nawigacja fokusu nie jest ograniczona do grup kontrolnych, użytkownicy mogą swobodnie przechodzić do dowolnego elementu interfejsu użytkownika, na którym można skupić uwagę w aplikacji.
Fokus może przejść do dowolnego elementu interfejsu użytkownika z możliwością koncentracji uwagi w kierunku naciśnięcia, chyba że znajduje się w interfejsie użytkownika nakładki lub zaangażowaniu fokusu , co uniemożliwia wchodzenie i wychodzenie z regionu do momentu zaangażowania/odłączenia się za pomocą przycisku A. Aby uzyskać więcej informacji, zobacz sekcję nawigacji kierunkowej .Przyciski D-pad i lewy kij są używane do przenoszenia fokusu między kontrolkami i nawigacji wewnętrznej.
UWAGA Gamepad i pilot zdalnego sterowania nawigują tylko do elementów znajdujących się w tej samej kolejności wizualnej, co naciśnięty przycisk kierunkowy. Nawigacja jest wyłączona w tym kierunku, gdy nie ma żadnego kolejnego elementu, który może uzyskać fokus. W zależności od sytuacji użytkownicy klawiatury nie zawsze mają to ograniczenie. Aby uzyskać więcej informacji, zobacz sekcję Wbudowana optymalizacja klawiatury .
Nawigacja kierunkowa
Nawigacja kierunkowa jest zarządzana przez klasę pomocnika Menedżera fokusu UWP, który przyjmuje naciskaną klawisz kierunkowy (strzałki, D-pad) i próbuje przenieść fokus w odpowiednim kierunku wizualnym.
W przeciwieństwie do klawiatury, gdy aplikacja rezygnuje z trybu myszy, nawigacja kierunkowa jest stosowana w całej aplikacji do gry i zdalnego sterowania. Aby uzyskać więcej informacji na temat optymalizacji nawigacji w kierunkach, zapoznaj się z interakcjami gamepada i pilota zdalnego sterowania.
NUTA Nawigacja przy użyciu Tab klawiatury nie jest traktowana jako nawigacja kierunkowa. Aby uzyskać więcej informacji, zobacz sekcję Tab stop .
|
Obsługiwana nawigacja kierunkowa |
Nawigacja kierunkowa nie jest obsługiwana |
Wbudowana optymalizacja klawiatury
W zależności od używanego układu i kontrolek aplikacje platformy uniwersalnej systemu Windows można zoptymalizować specjalnie pod kątem wprowadzania za pomocą klawiatury.
W poniższym przykładzie przedstawiono grupę elementów listy, elementów siatki i elementów menu, które zostały przypisane do pojedynczego zatrzymania karty (zobacz sekcję Tab stop ). Gdy grupa ma fokus, nawigacja wewnętrzna jest wykonywana z strzałek kierunkowych w odpowiedniej kolejności wizualizacji (zobacz sekcję Nawigacja ).
Nawigacja strzałką w jednej kolumnie
Nawigacja za pomocą strzałki w jednym wierszu
Nawigacja kluczami strzałek między wieloma kolumnami i wierszami
Zawijanie jednorodnych elementów listy i widoku siatki
Nawigacja kierunkowa nie zawsze jest najbardziej efektywnym sposobem nawigowania po wielu wierszach i kolumnach elementów List i GridView.
NUTA Elementy menu są zazwyczaj listami z jedną kolumną, ale w niektórych przypadkach mogą być stosowane specjalne reguły koncentracji uwagi (zobacz Interfejs użytkownika wyskakujących okienek).
Obiekty listy i siatki można tworzyć z wieloma wierszami i kolumnami. Są one zwykle w porządku 'row-major' (gdzie elementy wypełniają cały wiersz przed wypełnieniem następnego wiersza) lub 'column-major' (gdzie elementy wypełniają całą kolumnę przed wypełnieniem następnej kolumny). Kolejność główna wiersza lub kolumny zależy od kierunku przewijania i upewnij się, że kolejność elementów nie powoduje konfliktu z tym kierunkiem.
W porządku wierszowym (gdzie elementy są wypełniane od lewej do prawej, od góry do dołu), gdy zaznaczenie jest na ostatnim elemencie w wierszu i zostanie naciśnięta strzałka w prawo, fokus zostanie przeniesiony na pierwszy element w następnym wierszu. To samo zachowanie występuje w odwrotnym kierunku: kiedy kursor znajduje się na pierwszym elemencie w wierszu i strzałka w lewo jest naciskana, kursor jest przenoszony do ostatniego elementu w poprzednim wierszu.
W porządku kolumnowym (gdzie elementy wypełniają się od góry do dołu, z lewej do prawej), gdy fokus znajduje się na ostatnim elemencie w kolumnie i użytkownik naciska klawisz strzałki w dół, fokus przenosi się do pierwszego elementu w następnej kolumnie. To samo zachowanie występuje w odwrotnym kierunku: gdy fokus jest ustawiony na pierwszy element w kolumnie, a strzałka w górę jest naciskana, fokus jest przenoszony do ostatniego elementu w poprzedniej kolumnie.
|
Nawigacja w układzie wierszowym |
Nawigacja przy użyciu układu kolumnowego |
Interfejs użytkownika popup
Jak wspomniano, należy spróbować upewnić się, że nawigacja kierunkowa odpowiada wizualnej kolejności kontrolek w interfejsie użytkownika aplikacji.
Niektóre kontrolki (takie jak menu kontekstowe, menu nadmiarowe paska poleceń i menu AutoSuggest) wyświetlają menu podręczne w lokalizacji i kierunku (domyślnie w dół) względem podstawowej kontrolki i dostępnego miejsca na ekranie. Należy pamiętać, że na kierunek otwierania może wpływać wiele różnych czynników podczas działania.
|
|
W przypadku tych kontrolek, gdy menu jest najpierw otwierane (i żaden element nie został wybrany przez użytkownika), klawisz strzałki w dół zawsze ustawia fokus na pierwszy element, podczas gdy klawisz strzałki w górę zawsze ustawia fokus na ostatni element w menu.
Jeśli ostatni element ma fokus, a klawisz Strzałka w dół zostanie naciśnięty, fokus przenosi się do pierwszego elementu w menu. Podobnie, jeśli pierwszy element ma fokus, a strzałka w górę zostanie naciśnięta, fokus zostanie przeniesiony do ostatniego elementu menu. To zachowanie jest określane jako jazda na rowerze i jest przydatne do nawigowania w menu podręcznych, które mogą być otwierane w nieprzewidywalnych kierunkach.
Uwaga / Notatka
Jazda na rowerze powinna być unikana w interfejsach użytkownika bez wyskakujących okienek, w których użytkownicy mogą czuć się uwięzieni w niekończącej się pętli.
Zalecamy emulowanie tych samych zachowań w kontrolkach niestandardowych. Przykładowy kod dotyczący implementowania tego zachowania można znaleźć w dokumentacji nawigacji fokusu programowego .
Przetestuj aplikację
Przetestuj swoją aplikację, używając wszystkich obsługiwanych urządzeń wejściowych, aby upewnić się, że nawigacja po elementach interfejsu użytkownika jest spójna i intuicyjna oraz że żadne nieoczekiwane elementy nie zakłócają preferowanej kolejności tabulacji.
Powiązane artykuły
- Zdarzenia klawiatury
- Identyfikowanie urządzeń wejściowych
- Reagowanie na obecność klawiatury dotykowej
- Przykładowe wizualizacje stanu fokusu
- Kontrolka NavigationView — szczegóły obsługi klawiatury
- Dostępność klawiatury
Dodatek
Klawiatura programowa
Klawiatura programowa jest wyświetlana na ekranie i używana zamiast klawiatury fizycznej do wpisywania i wprowadzania danych za pomocą dotyku, myszy, pióra/rysika lub innego urządzenia wskazującego. Na urządzeniach do gier należy wybrać poszczególne klawisze, przesuwając wizualny wskaźnik lub używając skrótów klawiaturowych na gamepadzie lub pilocie.
Klawiatura dotykowa
Klawiatura dotykowa systemu Windows 11
W zależności od urządzenia klawiatura dotykowa jest wyświetlana, gdy pole tekstowe lub inna kontrolka tekstu edytowalnego staje się fokusem lub gdy użytkownik ręcznie włącza go za pośrednictwem Centrum powiadomień:
Jeśli aplikacja programowo ustawia fokus na kontrolkę wprowadzania tekstu, klawiatura dotykowa nie jest wywoływana. Eliminuje to nieoczekiwane zachowania, które nie są podżegane bezpośrednio przez użytkownika. Jednak klawiatura automatycznie ukrywa się, gdy fokus jest przenoszony programowo do kontrolki wprowadzania tekstu nietekstowego.
Klawiatura dotykowa zwykle pozostaje widoczna, gdy użytkownik przechodzi między kontrolkami w formularzu. To zachowanie może się różnić w zależności od innych typów kontrolek w formularzu.
Poniżej znajduje się lista kontrolek niedopuszczających do edycji, które mogą uzyskać fokus podczas sesji wprowadzania tekstu przy użyciu klawiatury dotykowej bez wyłączania klawiatury. Zamiast niepotrzebnie przemodelować interfejs użytkownika i potencjalnie dezorientować użytkownika, klawiatura dotykowa pozostaje widoczna, ponieważ użytkownik prawdopodobnie będzie przełączać się między tymi kontrolkami a wpisywaniem tekstu za pomocą klawiatury dotykowej.
- Pole wyboru
- Pole kombi
- Przycisk radiowy
- Pasek przewijania
- Tree
- Element drzewa
- Menu
- Pasek menu
- Pozycja menu
- Pasek narzędzi
- List
- Element listy
Oto przykłady różnych trybów klawiatury dotykowej. Pierwszy obraz jest układem domyślnym, drugi to rozwinięty układ (który może nie być dostępny we wszystkich językach).
Klawiatura dotykowa w domyślnym trybie układu
Klawiatura dotykowa w trybie układu rozwiniętego
Pomyślne interakcje za pomocą klawiatury umożliwiają użytkownikom wykonywanie podstawowych scenariuszy aplikacji przy użyciu tylko klawiatury; oznacza to, że użytkownicy mogą uzyskiwać dostęp do wszystkich elementów interaktywnych i aktywować funkcję domyślną. Szereg czynników może mieć wpływ na poziom sukcesu, w tym nawigacja za pomocą klawiatury, klawisze dostępu dla ułatwień dostępu oraz klawisze przyspieszające (lub skróty) dla zaawansowanych użytkowników.
Klawiatura ekranowa
Podobnie jak klawiatura dotykowa, klawiatura ekranowa (OSK) jest programową klawiaturą używaną zamiast klawiatury fizycznej do pisania i wprowadzania danych za pomocą dotyku, myszy, pióra lub rysika, czy innego urządzenia wskazującego; ekran dotykowy nie jest wymagany. System OSK jest dostarczany dla systemów, które nie mają klawiatury fizycznej lub dla użytkowników, których zaburzenia mobilności uniemożliwiają im korzystanie z tradycyjnych fizycznych urządzeń wejściowych. System OSK emuluje większość, jeśli nie wszystkie, funkcjonalność klawiatury sprzętowej.
Protokół OSK można włączyć na stronie Klawiatura w obszarze Ustawienia > Ułatwienia dostępu.
UWAGA OSK ma priorytet nad klawiaturą dotykową, która nie będzie wyświetlana, jeśli OSK jest obecny.
Klawiatura ekranowa
Klawiatura ekranowa Xbox One
Aby uzyskać więcej informacji, zobacz Używanie klawiatury na ekranie do wpisywania.
Windows developer