Wie geschieht das Fokus-Handling im WIM-System?
<2014-05-21>
Die Interaktionen der Nutzer mit der WIM-App erfolgen in aller Regel mit einer ganz bestimmten Darstellungs-Komponente wie beispielsweise einem Texteingabefeld eines Moduls (bzw. seiner Darstellung).
Hier wird beschrieben, wie Änderungen des Interaktionsfokus gehandhabt werden.
Was ist die Rolle des "Interaktions-Fokus"?

Die Aktionen der Nutzer der WIM-App sind oftmals auf eine ganz bestimmte (dargestellte) Komponente gerichtet. Wenn es beispielsweise mehrere Eingabefelder für Texte gibt, muss eines - und genau eines - von ihnen die eingegebenen Zeichen aufnehmen. Diese Darstelllungskomponente hat den "Interaktions-Fokus", weil sich alle Nutzer-Aktionen, bei denen nicht explizit etwas anderes bestimmt wird, auf diese Komponente beziehen.

Der Interaktions-Fokus muss nicht immer ein Texteingabefed, Auslöse-"Knopf", Auswahlliste etc. sein, sondern kann auch durch einen ausgewählten Textbereich, eine ausgewähltes Listenelement etc. repräsentiert werden.

Weiterhin kann sich ein Teil der Nutzer-Aktionen auf einen sehr kleinen "fokussierten" Bereich beziehen, ein anderer Teil der Nutzer-Aktionen auf einen umfassenderen Bereich und ein weiterer Teil der möglichen Nutzeraktionen auf einen noch umfassenderen Bereich beziehen.

So kann sich eine per Tastatur ausgelöste Aktion (beispielsweise die Umschaltung der Schriftstärke) auf den selektierten Text beziehen, während sich eine Einrückungs-Aktion auf das Listenelement, in dem sich der selektierte Text befindet, wirkt. Eine vertikale Scroll-Aktion wirkt hier jedoch auf das Darstellungsfenster des selektierten Textbereichs, in dem sich die dargestellte Liste mitsamt ihrem Textumfeld befindet, eine horizontale Scroll-Aktion kann dagegen einen ganzen (Teil-) Darstellungsbereich auswechseln und eine weitere andere Tastatureingabe kann beispielsweise die Darstellungsgröße sämtlicher Zeichen beeinflussen.

Der "Fokus" liegt also nicht unbedingt ausschließlich bei einem "kleinen" fokussierten Bereich, sondern letztlich bei einer "Hierarchie" von Darstellungs-Elementen. Beginnend beim detailliertesten fokussierten Darstellungselement werden die Aktionsanforderungen also an die jeweils nächst-umfassendere Komponente weitergegeben, falls die detailliertere Komponente nicht dafür zuständig ist.

Interaktions-Ereignisse werden meist "global" vom APP-Modul registriert und in das WIM-System eingebracht. Daher muss - beginnend beim APP-Modul - der "Fokus-Pfad" zur detailliertesten Fokussierung gekennzeichnet sein und stets aktualisiert gehalten werden, damit die Ereignisbearbeitung an das zuständige Modul delegiert werden kann.

Damit die Nutzer wissen, wo sich der aktuelle Interaktions-Fokus gerade befindet, sollte diese Komponente optisch gut erkennbar gekennzeichnet sein. Bei Eingabefeldern geschieht dieses oft durch einen farbigen Rahmen.

Die jeweils gerade aktive fokussierte Komponente sollte immer für die Nutzer sichtbar sein. Sie kann aber Umstände halber beispielsweise auch mal aus den sichtbaren Bereich heraus gescrollt sein. Dann muss die Komponente aber bei der nächsten relevanten Aktion wieder in den sichtbaren Bereich zurückgebracht werden. Daher wird von den Fokussierungen bei Bedarf die Visualisierungs-Mimik des Systems aufgerufen.

Welche Schritte werden bei einer Änderung des Interaktions-Fokus durchlaufen?
  1. Ein Modul stellt fest, dass ein bestimmtes Modul den Interaktions-Fokus haben sollte. Diesem Modul wird dann ein "DenandFocus" EVENT-Request zugeschickt.
  2. Beim Eintreffen eines "DemandFocus"-Request (oder ggf. auch anderer Ereignisse) sendet das in den Fokus zu rückende Modul an sein einbettendes Modul einen "FocusMe"-EVENT-Request.
  3. Falls das Modul, das einen "FocusMe"-Request von einem seiner einbettenden Modul erhält, bereits im aktuellen Fokus-Strang steht, schickt es seinerseits einen "FocusMe"-Request an sein einbettendes Modul weiter.
  4. Ist das Modul, das den "FocusMe"-Request bereits aktuell im Fokus-Strang, entzieht es demjenigen seiner eingebetteten Module, das momentan ebenfalls im Fokusstrang enthalten ist, den aktuellen Fokus-Status. Dazu wird ihm der Vorgabe-Parameter "Focus" auf den Wert "false" (= 0) gesetzt und via TARGETS-Request (auf dem üblichen Wege) mitgeteilt.
  5. Dann wird für das Modul, das den Fokus angefordert hat, der "Focus"-Parameter auf den Wert "true" (1) gesetzt und per TARGETS-Request mitgeteilt.
  6. Erhält ein Modul eine Vorgabe "Focus=0", gibt es eine eben-solche Vorgabe an dasjenige seiner eingebetteten Module weiter, das den aktuellen (Unter-) Fokus besitzt, weiter.
    Die von der Fokus-Rücknahme betroffenen Module müssen ggf auch noch andere Aktionen durchführen. Alle gemeinsam müssen aber den "focused"-Klassen-Bezeichner (class="focused") bei ihrem zugeordneten DOM-Element entfernen. Dadurch kann mit Hilfe von CSS-Regeln das Erscheinungsbild der Modul-Darstellung verändert werden.
  7. Bekommt ein Modul den Interaktions-Fokus durch die Parameter-Vorgabe Focus="1" zugeteilt, gibt es eine eben-solche Vorgabe an dasjenige seiner eingebetteten Module weiter, das einen Fokus angefordert hat.
    Weitere Aktionen können beim spezifischen Modul nötig sein. Von allen Modulen ist jedoch der Klassen-Parametername "focused" bei ihrem zugeordneten DOM-Element zu setzen.
  8. Dasjenige eingebettete Modul, das den Fokus erhält, aber seinerseits nicht mehr an ein beim ihm eingebettetes Modul weitergeben kann, muss abschließend Sichtbarmachung anfordern und einen "ShowMe"-EVENT-Request an sein einbettendes Modul senden. Der Fokus muss ja von den Nutzern verlässlich bemerkt werden können.
Themen hierzuAssciated topics:

Darstellungen beim Client

Das könnte Sie auch interessierenFurther readings:
Steuerung der Darstellung von Objekten
<2019-02-03>
Das openWIM-System bietet die Möglichkeit, die Darstellung von Themen, Dokumenten, usw. in weiten Teilen zu gestalten, ohne dass dazu Änderungen im Programmcode oder an (HTML-)Vorlagen nötig sind.   Mehr »
Anordnung von WIM-App-Modulen
<2013-03-28>
Innerhalb eines (BOX-)Moduls können Module in verschiedener Art und Weise angeordnet werden. Dieser Beitrag geht näher darauf ein.   Mehr »
Aufbau einer Internetpräsenz mit dem WIM-System
<2013-08-04>
Mit dem WIM-System können kleine, überschaubare Internetpräsenzen leicht aufgebaut werden, aber auch sehr umfangreiche. Diese Info soll einen Überblick über den Aufbau des WIM-Systems und das Zusammenspiel seiner wichtigsten Komponenten geben.   Mehr »
Bereithalten der Verknüpfungsdaten aller wichtigen Themen in der WIM-App
<2013-05-05>
Die Verknüpfung von Themen untereinander spielt bei der Verarbeitung der Daten in der WIM-App eine wichtige Rolle. Alle dafür notwendigen Daten zumindest der wichtigsten Themen werden daher vorab in die WIM-App geladen.   Mehr »
Was ist die Rolle der "Dialoge" (einschließlich "Meldungen") im openWIM-System?
<2015-04-05>
Bei Darstellungen von Dokumenten, Themen usw. sowie zur Gesamtdarstellung können bei bestimmten Anlässen "Dialoge" (im einfachsten Fall "Meldungen") überlagernd dargestellt werden.   Mehr »
Wie werden Infos oder Themen sichtbar gemacht?
<2014-05-24>
Bei verschiedensten Anlässen wird es notwendig, bestimmte Moduldarstellungen für die Nutzer sichtbar zu machen. Dieses kann beispielsweise durch Scrollen oder intransparent machen geschehen,
Hier werden die dabei verwendeten Verfahren beschrieben.
   Mehr »
Wie geschieht die Koordination zwischen den Modulen im Client?
Von: @VB <2015-04-18>
Die Module zur Darstellung der Informationen sind zwar in einer hierarchischen Struktur miteinander verknüpft, doch die Aufgabenteilung ist sehr kooperativ geregelt. Jedes Modul agiert möglichst autonom in seinen eigenen Aufgabenbereich, stimmt jedoch alle Aktionen, die andere Module betreffen, mit denen ab.   Mehr »
Welche Aspekte sind bei mehrsprachlichen Informationsangeboten besonders relevant?
Von: @VB <2016-10-03>
Bei der Nutzung und dem Betrieb mehrsprachlicher Informationssysteme und Internetpräsenzen sind einige Anforderungen zu beachten. In diesem Dokument werden sie aus der Anwender- und Betreiber-Perspektive diskutiert.   Mehr »
Überwachung der Sitzungen beim openWIM-System
<2017-08-15>
Die Kommunikation der Apps im Browser mit dem Server wird über "Sitzungen" (sessions) geregelt. Mit Hilfe dieses Dokumentes kann eine Übersicht über die beim Server notierten Sitzungen erstellt werden - falls die dafür notwendige Berechtigung aktiv ist.   Mehr »
Gestaltungs-Hinweise für WIM-Anwendungen
<2014-06-28>
Im Prinzip bietet eine mit dem WIM-System sehr große Freiheiten beider Gestaltung. Um jedoch eine bessere Nutzbarkeit zu erreichen, sollten einige Grundregeln beachten werden.   Mehr »
Wie kann der ordnungsgemäße Betrieb von openWIM-Systemen überwacht werden?
Von: @VB <2015-03-16>
Für eine zuverlässige Nutzung von openWIM-Systemen ist es unerlässlich, dass der laufende Betrieb "in Realzeit" überwacht werden kann. Der openWIM-Monitor wird dazu verwendet und hier beschrieben.   Mehr »
Internet-Links für openWIM-Entwickler
<2020-03-10>
In den Weiten des Internets gibt es etliche hilfreiche Internetpräsenzen und Dokumente, die für die Entwickler des openWIM-Systems hilfreich sein können. Hier sind einige aufgelistet:   Mehr »
Die Bildrechte werden in der Online-Version angegeben.For copyright notice look at the online version.

Bildrechte zu den in diese Datei eingebundenen Bild-Dateien:

Hinweise:
1. Die Bilder sind in der Reihenfolge ihres ersten Auftretens (im Quelltext dieser Seite) angeordnet.
2. Beim Anklicken eines der nachfolgenden Bezeichnungen, wird das zugehörige Bild angezeigt.
3, Die Bildrechte-Liste wird normalerweise nicht mitgedruckt,
4. Bildname und Rechteinhaber sind jeweils im Dateinamen des Bildes enthalten.