W tym przewodniku skupiamy się na domyślnym poruszaniu się po interfejsie za pomocą klawiatury, które jest obecnie stosowane w Blockly.
.Korzystanie z nawigacji za pomocą klawiatury
Aby nawigacja za pomocą klawiatury była skuteczna, użytkownik musi mieć możliwość wykonania tych czynności:
- Poruszanie się po obszarze roboczym
- Łączenie bloków w obszarze roboczym
- Dodawanie bloku do obszaru roboczego
- Odłączanie bloków
- Poruszanie się po sekcji narzędzi
- Poruszanie się po menu
- Wstawianie bloków z menu
Poniżej wyjaśniamy, jak domyślna nawigacja za pomocą klawiatury w Blockly wykonuje te czynności.
Włączanie nawigacji przy użyciu klawiatury
Użytkownik może włączać i wyłączać nawigację za pomocą klawiatury, naciskając Shift + Ctrl + K.
Gdy po raz pierwszy włączysz nawigację za pomocą klawiatury, na przestrzeni roboczej pojawi się migająca czerwona linia. To jest kursor. Pokazuje ona aktualną lokalizację użytkownika i aktualizuje się, gdy użytkownik porusza się po miejscu pracy.
Naciśnięcie Enter powoduje wyświetlenie niebieskiej linii w bieżącej lokalizacji, która przedstawia znacznik użytkownika. Znacznik wskazuje miejsce docelowe wstawiania bloku. Nie aktualizuje się, gdy przenosisz kursor po obszarze roboczym.
Używanie domyślnego kursora
Obszar roboczy składa się z danych wejściowych, pól, połączeń, bloków i koordynatów obszaru roboczego. Domyślny kursor porusza się po obszarze roboczym, dzieląc wszystkie komponenty na różne poziomy.
Do poruszania się między poziomami używaj klawiszy A i D. Aby poruszać się w obrębie poziomu, użyj klawiszy W i S.
Poziom obszaru roboczego
Aby przejść do trybu sterowania za pomocą klawiatury, naciśnij Shift + Ctrl + K. Spowoduje to umieszczenie kursora w obszarze roboczym lub na pierwszym bloku w tym obszarze. Jeśli kursor znajduje się na bloku, przeniesienie go do poziomu obszaru roboczego można wykonać dwukrotnie naciskając A.
Aby przesunąć kursor w obszarze roboczym, użyj klawiszy Shift + WASD. Aby przejść do poziomu zasobów, użyj klawisza D.
Poziom stosu
Na poziomie grupy możesz poruszać się między grupami bloków w Workspace za pomocą klawiszy W i S. Na tym poziomie kursor jest reprezentowany przez czerwony prostokąt wokół wszystkich bloków w stosie. Aby przejść do pierwszego bloku w wybranym stosie, użyj klawisza D.
Blokowanie i poziom połączeń
Ten poziom zawiera blok i wszystkie połączenia zewnętrzne bloku. Kursor domyślnie pomija blok, jeśli istnieje połączenie wyjściowe lub poprzednie. Jeśli nie ma ani jednego ani drugiego, kursor przejdzie do bloku, jak pokazano poniżej.
Poniżej znajdziesz 3 możliwe połączenia zewnętrzne.
Na poziomie bloku i połączenia możesz poruszać się po zewnętrznych połączeniach za pomocą klawiszy W i S. Na tym poziomie kursor jest reprezentowany przez migający czerwony kontur bieżącego połączenia. Aby przejść do pierwszego pola lub pola wprowadzania w bloku, naciśnij D.
Pola i poziom danych wejściowych
Ten poziom zawiera wszystkie pola i dane wejściowe, które znajdują się w bloku. Poniżej znajdziesz przykłady pól i danych wejściowych.
Na tym poziomie możesz poruszać się po polach i wejściach bieżącego bloku, które można edytować, za pomocą klawiszy W i S. Kursor w polu ma postać czerwonego prostokąta. W przypadku danych wejściowych kursor ma postać migającego czerwonego elementu układanki. Gdy kursor znajduje się na elemencie wejściowym, naciśnij D, aby przejść do połączonego bloku.
Gdy kursor znajduje się na polu, naciśnij Enter, aby je edytować.
Łączenie bloków w Workspace
- Przechodzenie do docelowego połączenia za pomocą klawiszy WASD
- Zaznacz połączenie, naciskając klawisz Enter.
- Przejdź do prawidłowego punktu połączenia za pomocą klawiszy WASD.
- Połącz 2 bloki za pomocą klucza I (do wkładania).
Przenoszenie bloku na obszarze roboczym
W Blockly przenosisz blok na obszar roboczy, podnosząc go, przeciągając go w wybrane miejsce i puszczając. Za pomocą skrótów klawiszowych zaznacz miejsce docelowe, przejdź do bloku, który chcesz przenieść, a następnie powiedz mu, aby się poruszył.
- Przechodzenie do pozycji w obszarze roboczym za pomocą klawiszy Shift + WASD.
- Zaznacz tę lokalizację na obszarze roboczym, używając klawisza Enter.
- Użyj klawiszy WASD, aby przejść do bloku, który chcesz przenieść.
- Przesuń blok do zaznaczonego miejsca za pomocą klawisza I.
Odłączanie bloków
W Blockly zwykle odłączasz 2 bloki, podnosząc niższy blok i przeciągając go od bloku nadrzędnego. Dzięki skrótom klawiszowym możesz odłączać bloki, naciskając X kursorem na połączeniu, które chcesz przerwać.
- Użyj klawiszy WASD, aby przejść do połączenia, które chcesz przerwać.
- Rozłączanie z X
Wstawianie bloku z zestawu narzędzi
- Naciśnij klawisz T, aby otworzyć okno narzędzi
- Aby poruszać się po kategoriach, używaj klawiszy W i S.
- Aby przejść do bloków w wysuwanym menu, naciśnij klawisz D.
- Przechodzenie między blokami za pomocą klawiszy W i S
- Aby wstawić blok z wyskakującego okienka, naciśnij klawisz Enter.
Eksperymenty
Uważamy, że są 4 główne obszary, w których użytkownicy mogą chcieć eksperymentować:
- Mapowania klawiszy: jakie klawisze mają być mapowane na jakie działania.
- Tekst dla czytników ekranu/Rejestrowanie/Ostrzeżenia: sposób odczytywania przez czytnik ekranu lokalizacji kursorów oraz błędów i ostrzeżeń.
- Nawigacja po Workspace: sposób, w jaki użytkownik porusza się po różnych blokach, polach, danych wejściowych i połączeniach w Workspace.
- Wygląd kursora: jak powinien wyglądać kursor i znacznik.
Więcej informacji o korzystaniu z tych interfejsów API znajdziesz w laboratorium kodu Blockly Keyboard Navigation.
Jeśli chcesz przetestować inne funkcje, w których przypadku możemy Ci pomóc, wypełnij ten formularz.
Najczęstsze pytania
Pytanie: dlaczego nie korzystasz z klawiszy strzałek do poruszania się po interfejsie za pomocą klawiatury?
Odp.: czytniki ekranu zwykle korzystają z klawiszy strzałek. Nie chcieliśmy zakłócać tego procesu, dlatego zdecydowaliśmy się użyć klawiszy WASD.
Zdajemy sobie sprawę, że każdy ma inne potrzeby, dlatego zdecydowanie zalecamy stworzenie łatwego sposobu zmiany przypisania klawiszy.
P: To wygląda na dość skomplikowane. Po co nam te różne warstwy?
Odp.: podczas projektowania nawigacji za pomocą klawiatury potrzebowaliśmy uporządkowanego sposobu poruszania się po różnych blokach, połączeniach, polach, danych wejściowych i koordynatach w pracy.
Wewnątrz reprezentujemy to za pomocą abstrakcyjnego drzewa składni (AST). Domyślna implementacja kursora nie odbiega zbytnio od tego modelu.Jest to celowe działanie, które ma pomóc deweloperom lepiej zrozumieć podstawową architekturę. Istnieją też inne wskaźniki, które mogą być łatwiejsze do zrozumienia dla użytkownika.
Ograniczenia
Nie obsługujemy jeszcze przechodzenia do komponentów nieblokujących (np. kosza, przycisków powiększania i wysuwanych przycisków). Więcej informacji o ograniczeniach znajdziesz na liście otwartych błędów związanych z poruszaniem się po interfejsie za pomocą klawiatury.