In dieser Anleitung geht es um die Verwendung der Standardtastaturnavigation, wie sie derzeit in Blockly implementiert ist.
Verwenden der Tastaturnavigation
Für eine erfolgreiche Navigation über die Tastatur müssen Nutzer die folgenden Aufgaben ausführen können:
- Im Arbeitsbereich navigieren
- Blöcke in einem Arbeitsbereich verbinden
- Block zum Arbeitsbereich hinzufügen
- Blöcke trennen
- Navigation in der Toolbox
- Flyout verwenden
- Blöcke aus dem Flyout einfügen
Im Folgenden wird erläutert, wie die Standardtastaturnavigation von Blockly diese Aufgaben erfüllt.
Tastaturnavigation aktivieren
Nutzer können die Tastaturnavigation aktivieren oder deaktivieren, indem sie Umschalttaste + Strg + k drücken.
Wenn die Tastaturnavigation zum ersten Mal aktiviert wird, wird im Arbeitsbereich eine blinkende rote Linie angezeigt. Das ist der Cursor. Sie zeigt den aktuellen Standort des Nutzers
und wird aktualisiert, wenn er im Arbeitsbereich navigiert.
Wenn Sie die Eingabetaste drücken, wird am aktuellen Standort eine blaue Linie erstellt, die die Markierung eines Nutzers darstellt. Eine Markierung zeigt eine Zielregion für das Einfügen eines Blocks an. Sie wird nicht aktualisiert, wenn Sie den Cursor im Arbeitsbereich bewegen.
Verwenden des Standard-Cursors
Der Arbeitsbereich besteht aus Eingaben, Feldern, Verbindungen, Blöcken und Arbeitsbereichskoordinaten. Der Standardcursor bewegt sich im Arbeitsbereich, indem alle Komponenten in verschiedene Ebenen aufgeteilt werden.
Mit den Tasten A und D können Sie zwischen den Ebenen wechseln. Mit den Tasten W und S können Sie sich innerhalb einer Ebene bewegen.
Arbeitsbereichsebene
Wechseln Sie in den Tastaturnavigationsmodus, indem Sie Umschalttaste + Strg + k drücken. Dadurch wird der Cursor auf den Arbeitsbereich oder den ersten Block im Arbeitsbereich platziert. Wenn sich der Cursor in einem Block befindet, verschieben Sie ihn durch zweimaliges Drücken von A auf die Arbeitsbereichsebene.
Mit Umschalttaste + WASD können Sie den Cursor in den Arbeitsbereich bewegen. Verwenden Sie den Schlüssel D, um zur Stackebene zu wechseln.
Stapelebene
Auf Stackebene können Sie mit den Tasten W und S zwischen Blöcken im Arbeitsbereich wechseln. Auf dieser Ebene wird der Cursor durch ein ausgefülltes rotes Rechteck um alle Blöcke in einem Stapel dargestellt. Mit dem Schlüssel D gelangen Sie zum ersten Block im ausgewählten Stack.
Blockierungs- und Verbindungsebene
Diese Ebene enthält einen Block und alle externen Verbindungen innerhalb des Blocks. Der Standardcursor ist so eingestellt, dass der Block bei einer vorherigen oder Ausgabeverbindung übersprungen wird. Ist keiner von beiden vorhanden, bewegt sich der Cursor wie unten gezeigt zum Block.
Unten sehen Sie die drei möglichen externen Verbindungen.
Auf Block- und Verbindungsebene können Sie mit den Tasten W und S durch die externen Verbindungen navigieren. Auf dieser Ebene wird der Cursor durch einen blinkenden roten Umriss der aktuellen Verbindung dargestellt. Drücken Sie D, um zum ersten Feld oder zur ersten Eingabe in einem Block zu gelangen.
Felder und Eingabeebene
Diese Ebene enthält alle Felder und Eingaben, die zum Block gehören. Beispiele für Felder und Eingaben sind unten zu sehen.
Auf dieser Ebene können Sie mit W und S durch die bearbeitbaren Felder und Eingaben des aktuellen Blocks navigieren. Bei einem Feld ist der Cursor ein ausgefülltes rotes Rechteck. Bei einer Eingabe ist der Cursor ein blinkendes rotes Puzzleteil. Wenn sich der Cursor auf einer Eingabe befindet, drücken Sie D, um zum verbundenen Block zu gelangen.
Wenn sich der Cursor auf einem Feld befindet, drücken Sie zum Bearbeiten die Eingabetaste.
Verbindungsblöcke im Arbeitsbereich
- Rufen Sie Ihre Zielverbindung mithilfe der WASD-Schlüssel auf.
- Verbindung mit der Eingabetaste markieren
- Rufen Sie mithilfe der WASD-Schlüssel einen gültigen Verbindungspunkt auf.
- Verbinden Sie die beiden Blöcke mit dem Schlüssel I (zum Einfügen)
Block im Arbeitsbereich verschieben
Normalerweise verschieben Sie einen Block in Blockly in den Arbeitsbereich, indem Sie ihn auswählen, an die gewünschte Position ziehen und dann loslassen. Mit Tastenkombinationen markieren Sie Ihre Zielregion, navigieren Sie zu dem Block, den Sie verschieben möchten, und weisen Sie ihn an, ihn zu verschieben.
- Navigieren Sie mit der Tastenkombination Umschalttaste + WASD zu einer Position im Arbeitsbereich.
- Markieren Sie diesen Ort im Arbeitsbereich mit der Eingabetaste.
- Navigieren Sie mit den WASD-Tasten zu dem Block, den Sie verschieben möchten.
- Verschieben Sie den Block mit der Taste I an die markierte Stelle.
Löseblöcke
Normalerweise trennen Sie in Blockly zwei Blöcke, indem Sie den unteren Block aufnehmen und vom übergeordneten Block wegziehen. Mithilfe von Tastenkombinationen können Sie Blöcke trennen, indem Sie mit dem Cursor auf die Verbindung, die Sie trennen möchten, das X drücken.
- Gehen Sie mithilfe der WASD-Tasten zu der Verbindung, die Sie trennen möchten.
- Verbindung mit X trennen
Einen Block aus der Toolbox einfügen
- Drücken Sie die T-Taste, um die Toolbox zu öffnen.
- Mit den Tasten W und S können Sie zwischen den Kategorien wechseln.
- Drücken Sie die Taste D, um zu den Blöcken im Flyout-Fenster zu wechseln.
- Mit den Tasten W und S durch die Blöcke navigieren
- Drücken Sie die Eingabetaste, um einen Block aus dem Flyout einzufügen.
Experimente
Wir glauben, dass es vier Hauptbereiche gibt, mit denen Menschen experimentieren könnten:
- Tastenzuordnungen: Gibt an, welche Schlüssel welchen Aktionen zugeordnet werden sollen.
- Text für Screenreader/Protokollierung/Warnungen: Legt fest, wie ein Screenreader Cursorpositionen sowie Fehler oder Warnungen auslesen soll.
- Arbeitsbereich-Navigation: Die Art und Weise, wie Nutzer durch die verschiedenen Blöcke, Felder, Eingaben und Verbindungen im Arbeitsbereich navigieren.
- Darstellung des Cursors: So sollten Cursor und Markierung aussehen.
Weitere Informationen zur Verwendung dieser APIs finden Sie im Code-Lab für die Blockly-Tastatur.
Wenn Sie weitere Bereiche testen möchten, bei denen wir Ihnen möglicherweise helfen können, füllen Sie bitte dieses Formular aus.
Häufig gestellte Fragen
F: Warum wurden bei der Tastaturnavigation nicht die Pfeiltasten verwendet?
A: Screenreader verwenden in der Regel die Pfeiltasten. Wir wollten nicht eingreifen und haben uns deshalb für die WASD-Schlüssel entschieden.
Uns ist jedoch klar, dass jeder unterschiedliche Bedürfnisse hat. Deshalb empfehlen wir dringend, eine einfache Möglichkeit zum Ändern der Schlüsselzuordnungen zu entwickeln.
F: Das ist ziemlich kompliziert. Warum brauchen wir verschiedene Ebenen?
A:Für die Tastaturnavigation brauchten wir eine strukturierte Methode, um sich zwischen den verschiedenen Blöcken, Verbindungen, Feldern, Eingaben und Arbeitsbereichskoordinaten zu bewegen.
Intern stellen wir dies mit einem abstrakten Syntaxbaum (AST) dar. Die Standard-Cursor-Implementierung weicht nicht weit von diesem Modell ab.Dies soll Entwicklern ein besseres Verständnis der zugrunde liegenden Architektur vermitteln. Es gibt weitere cursors, die für Endnutzer leichter verständlich sind.
Beschränkungen
Der Wechsel zu nicht blockierenden Komponenten wie Papierkorb, Zoom- und Flyout-Schaltflächen wird noch nicht unterstützt. Weitere Informationen zu Einschränkungen finden Sie in der bugs.