HintergrundSprachdialoge Dieses Dokument in der Navigationsstruktur finden

 

Typischerweise ist eine mobile Anwendung in eine Reihe von unterschiedlichen Sprachdialogen unterteilt. Diese entsprechen den aufeinander folgenden Interaktionsschritten des Benutzers im Browser oder GUI einer nicht-sprachgesteuerten Anwendung.

Die Führung der Sprachdialoge erfolgt technisch über das Setzen des Browser-Fokus. In dem Moment, in dem der Fokus auf ein eingabebereites, sprachfähiges Dynpro-Element fällt, wird der zugehörige Sprachdialog automatisch aktiviert. Je nach Zusammenhang wird jeweils einer der drei möglichen Dialog-Varianten gestartet. Die Dialoge werden beim Generierungsvorgang automatisch erzeugt, sofern die Dynpros bzw Dynpro-Elemente als sprachfähig gekennzeichnet sind.

Hinweis Hinweis

Der Start-Dialog ist grundsätzlich nicht eingabefähig.

Ende des Hinweises
Start-Dialog: sayOnPageLoad

Wenn das der Generierung zu Grunde liegende Dynpro als sprachfähig markiert wurde, wird bei der Generierung an erster Stelle immer der Dialog sayOnPageLoadeingefügt. Dieser Dialog übernimmt beim ersten Aufruf zunächst das Vorlesen eventuell aufgetretener Fehlermeldungen. Wenn keine Fehlermeldungen vorliegen, erfolgt auch keine Textausgabe, es sei denn, für das betreffende Dynpro ist das Sprach-Attribut PromptText mit einem entsprechenden Wert vorhanden. In diesem Fall wird dann der PromptText vorgelesen. Nach Ablauf des Start-Dialogs wird der Fokus auf das von der Anwendung definierte Folge-Element gesetzt. Wenn dieses Folge-Element als sprachfähig gekennzeichnet ist, wird der zugehörige Dialog automatisch gestartet. Handelt es sich bei diesem Element um eine Schaltfläche (Button), wird ein Kommando-Dialog gestartet, handelt es sich um ein eingabefähiges Element, wird ein Eingabe-Dialog gestartet.

Kommando-Dialog: sayCommand

In einem Kommando-Dialog sayCommand werden alle Schaltflächen eines Dynpros , die als sprachfähig markiert wurden, zusammengefasst. Die Textelemente werden aus den Beschriftungen der Schaltflächen gebildet.

Achtung Achtung

Schaltflächen, die mit Ikonen an Stelle von Textelementen ausgerüstet sind, können nicht in den Dialog eingebunden werden, sie werden daher ignoriert.

Ende der Warnung.

Über eine Spracheingabe können so die den Schaltflächen zugeordneten OKCodes ausgelöst werden.

Neben den zur jeweiligen Schaltfläche gehörenden OKCodes werden immer auch zwei Standard - OKCodes in den Dialog integriert:

Sprach-Kommando

OKCode

"Enter"

/0

"Abmelden"

/nex

Die Anwendungsentwicklung kann auf die Gestaltung des Kommando-Dialogs keinen Einfluss nehmen. Lediglich durch das Unsichtbar-Schalten bzw. Deaktiven einer Schaltfläche kann die Generierung des Dialogs manipuliert werden.

Eingabe-Dialog: VRFunc_<FELDNAME>

Wird bei der Template-Generierung ein eingabefähiges, sprachfähiges Element vorgefunden, führt dies zur Erzeugung eines Eingabe-Dialogs. Im Gegensatz zum Kommando-Dialog, der alle Schaltflächen eines Bildschirmbildes zusammenfasst, ist der Eingabe-Dialog spezifisch für jedes einzelne Eingabefeld.

Ein weiterer Unterschied ist, dass das Verhalten eines Eingabe-Dialogs mit Hilfe der XML-Properties TimeOut, PromptText, HelpText, FilledText, Grammar, GrammarLink und NextField beeinflusst werden kann.

Der Eingabe-Dialog wird zur Laufzeit aktiviert, wenn ein zugehöriges Dynpro-Element den Fokus der laufenden Anwendung übernimmt.

Neben den von der Anwendung konfigurierten Werte werden diesem Dialog immer auch zwei generische Eingabemöglichkeiten hinzugefügt:

Sprach-Kommando

Resultat

"Weiter"

Das aktuelle Feld wird übersprungen und der Fokus an das Folgefeld übergeben.

"Kommando"

Mit Hilfe dieser Spracheingabe kann der Benutzer zu jedem Zeitpunkt der laufenden Anwendung in den Kommando-Dialog wechseln um so beispielsweise alle bisher getätigten Eingaben mit Hilfe des Sprach-Kommandos "Enter" an das Backend zu senden oder eine andere Schaltfläche des Dialogs auszulösen.

Reihenfolge der Sprachdialoge

Jeder im Browser dargestellten Bildschirm enthält eine Zusammenstellung von Sprachdialogen in der folgenden Form:

Eine Anzahl Eingabe-Dialoge wird vom zugehörigen Start-Dialog eingeleitet und mit Hilfe des zugehörigen Kommando-Dialogs geschlossen. Die nachstehende Grafik skizziert beispielhaft eine typische Abfolge der Dialoge:

Die Abbildung wird im Begleittext erläutert.

Beim Generieren der Templates werden die sprachgesteuerten Schritte in genau eine implizite Reihenfolge gesetzt und entsprechend dieser Reihenfolge zur Laufzeit aktiviert. Der Fokus der Anwendung wird nach Abarbeitung eines Schrittes automatisch an den implizit festgelegten Folgeschritt übergeben und dessen Sprachdialog aktiviert. Ist kein Folgefeld mehr vorhanden, wird der Kommando-Dialog des Bildschirmbilds aktiviert.

Über das Setzen der VR-Property "NextField" kann die Anwendungsentwicklung die implizite Reihenfolge unterbrechen und explizit das nächste Folgefeld festlegen. Dies ist jedoch mit Risiken verbunden, da die laufende Anwendung immer prüfen muss, ob das entsprechende Feld sichtbar und aktiv ist. Insbesondere in Fehlersituationen kann diese Prüfung schwierig sein weshalb das explizite Setzen des Folgefeldes nur in Ausnahmefällen realisiert werden sollte!