Nachricht für neue Nutzer.
Nachricht für engagierte Nutzer.

Vorlage Diskussion:KnowHowComputer: Unterschied zwischen den Versionen

Aus ZUM-Unterrichten
KKeine Bearbeitungszusammenfassung
Markierung: Manuelle Zurücksetzung
KKeine Bearbeitungszusammenfassung
Markierung: Quelltext-Bearbeitung 2017
 
(3 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 19: Zeile 19:
}}
}}
</pre>
</pre>
'''2025-06-29 erledigt''' ''2025-07-09 Super!''


2. Wenn man eine Seite, in der das widget per Vorlage eingebunden ist, von einem Screenreader vorlesen lässt, dann beginnt dieser mit dem Vorlesen nicht am Seitenanfang, sondern mit dem Inhalt des mehrzeiligen Textfeldes Hauptspeicher. Das liegt an dem main-Tag, das vom Screenreader als "Hauptsprungmarke" erkannt wird. Auf der  stand alone Seite khc-emulator.html hatte dieses Tag noch eine Berechtigung, im widget ist es jetzt aber eher hinderlich und sollte daher entfernt werden. Gleiches gilt für die nav-Tags im widget.  
2. Wenn man eine Seite, in der das widget per Vorlage eingebunden ist, von einem Screenreader vorlesen lässt, dann beginnt dieser mit dem Vorlesen nicht am Seitenanfang, sondern mit dem Inhalt des mehrzeiligen Textfeldes Hauptspeicher. Das liegt an dem main-Tag, das vom Screenreader als "Hauptsprungmarke" erkannt wird. Auf der  stand alone Seite khc-emulator.html hatte dieses Tag noch eine Berechtigung, im widget ist es jetzt aber eher hinderlich und sollte daher entfernt werden. Gleiches gilt für die nav-Tags im widget.  
'''2025-06-29 sollte behoben sein'''  ''2025-07-09 Na ja, nicht so wirklich.'' <br />
''Wenn man eine Lernpfad-Seite lädt, in der weiter unten die Vorlage KnowHowComputer verwendet wird, dann erscheint im Browserfenster nach wie vor nicht der Seitenanfang, sondern der Fokus springt gleich runter zum KHC-Emulator-widget in das mehrzeilige Eingabefeld Hauptspeicher.
Die Screenreader erkennen hier außerdem eine "Hauptsprungmarke", die normalerweise am Seitenanfang (nach Werbe- und Navigationselementen) durch <code><main></code> oder <code>role="main"</code> erzeugt wird.
Für die Nicht-visuelle Orientierung wäre es günstiger, wenn auch beim Öffnen von widget-Seiten die Anzeige mit dem Seitenanfang beginnen würde. ''


3. Die Steuerelemente im widget (z.B. "neustartschalter", ...) werden durch das Attribut aria-describedby= mit einer jeweils passenden Beschreibung verknüpft ("descr-neustartschalter", ...), die recht ausführlich ausfällt und ursprünglich eigentlich dafür gedacht war, einmalig über die Bedeutung und Handhabung dieses Elements zu informieren. Diese Beschreibung ist jetzt als Bestandteil des Lernpfad-Textes verfügbar. Durch das aria-describedby-Attribut wird die komplette Beschreibung nun aber jedes Mal vom Screenreader vorgelesen, wenn ein Steuerfeld den focus erhält. An dieser Stelle ist das eher lästig als hilfreich. Daher mein Vorschlag: Im widget die aria-describedby-Attribute entweder ganz weglassen oder den Beschreibungstext erheblich kürzen.
3. Die Steuerelemente im widget (z.B. "neustartschalter", ...) werden durch das Attribut aria-describedby= mit einer jeweils passenden Beschreibung verknüpft ("descr-neustartschalter", ...), die recht ausführlich ausfällt und ursprünglich eigentlich dafür gedacht war, einmalig über die Bedeutung und Handhabung dieses Elements zu informieren. Diese Beschreibung ist jetzt als Bestandteil des Lernpfad-Textes verfügbar. Durch das aria-describedby-Attribut wird die komplette Beschreibung nun aber jedes Mal vom Screenreader vorgelesen, wenn ein Steuerfeld den focus erhält. An dieser Stelle ist das eher lästig als hilfreich. Daher mein Vorschlag: Im widget die aria-describedby-Attribute entweder ganz weglassen oder den Beschreibungstext erheblich kürzen.
'''2025-06-29 sollte behoben sein''' ''2025-07-09 Ja, ist jetzt nicht mehr so geschwätzig ;-)''


4. Die Hilfetexte, die mit Parameter nohelp=true ausgeschaltet werden können, können aus meiner Sicht auch ganz aus dem widget herausgenommen werden, da diese Inhalte nun ebenfalls im Lernpfad-Text erscheinen können.
4. Die Hilfetexte, die mit Parameter nohelp=true ausgeschaltet werden können, können aus meiner Sicht auch ganz aus dem widget herausgenommen werden, da diese Inhalte nun ebenfalls im Lernpfad-Text erscheinen können.
'''2025-06-29 hab sie jetzt in einen Dialog geschoben aber so richtig wertvoll sind sie kaum noch'''
''2025-07-09 Der Parameter-Eintrag nohelp=true scheint nicht mehr zu funktionieren - was ich schade finde. Oder habe ich da was übersehen?''
''Auf jeden Fall sollten die beiden folgenden Abschnitte in der widget-Hilfe folgendermaßen geändert werden:''
'''Über den Know-How-Computer''' <br />
Die Idee zum Know-How-Computer wurde im Jahr 1983 von Wolfgang Back (WDR) und Ulrich Rohde (PC-Magazin) entwickelt. Veröffentlicht wurde das Konzept des KHC u.a. in den Computerzeitschriften MC und PC-Magazin. Weitere Informationen findet man auf de.wikipedia.org/wiki/Know-how-Computer
Im Laufe der Zeit wurden weitere, zum Teil leicht abgewandelte Varianten des Know-How-Computers veröffentlicht, wie z.B der so genannte Murmelrechner, der auf der Seite www.inf-schule.de/rechner/bonsai/murmelrechner vorgestellt wird.
'''Kurzanleitung zu dieser JavaScript Implementierung des KHC''' <br />
Die Bedienoberfläche des KHC besteht in dieser Implementierung aus folgenden fünf Elementen, die mit TAB bzw. UMSCHALT+TAB fokussiert (angewählt) werden können.
'''Mehrzeiliges Textfeld Hauptspeicher''' <br />
bildet den Hauptspeicher des Know-How-Computers ab. Jede Zeile des Textfeldes enthält die Nummer (Adresse) einer Speicherzelle und deren Inhalt. Dabei gehört die Adresse (Zahl vor dem Doppelpunkt) selbst nicht zum Inhalt der Speicherzelle, sondern dient lediglich ihrer eindeutigen Bezeichnung. Die Zelleninhalte (hinter dem Doppelpunkt) können entweder KHC-Befehle oder Daten (Zahlenwerte von 0 bis 99) sein.
Der gesamte Inhalt des Textfeldes kann über Tastatureingaben verändert werden. Dabei muss in jeder Zeile die Abfolge Adresse, Doppelpunkt, Befehl oder Datenwert eingehalten werden. Da es sich um ein normales Textfeld handelt, kann sein gesamter Inhalt, also ein ganzes KHC-Programm, einfach durch Kopieren und Einfügen ("Drag and Drop") aus einem Texteditor in den KHC-Speicher importiert oder umgekehrt in einen Editor exportiert und in einer Textdatei gespeichert werden.
Wenn in diesem Textfeld Programmzeilen verändert wurden, sollte vor der nächsten Programmausführung ein Neustart mit dem Neustart-Schalter (Taste F8, im Firefox STRG+F8) durchgeführt werden.
'''Einzeiliges Textfeld Programmzähler''' <br />
enthält eine Kombination aus Programmzähler und Befehlsregister. Im Befehlsregister (hinter dem Doppelpunkt) steht immer der aktuelle Befehl, der im nächsten Schritt ausgeführt werden soll. Der Programmzähler (vor dem Doppelpunkt) gibt die Adresse der Speicherzelle an, von der dieser Befehl ins Befehlsregister geladen wurde.
'''Neustart-Schalter F8''' <br />
setzt den Programmzähler auf den Wert 1 zurück und lädt den Befehl aus der Zelle 1 des Hauptspeichers in das Befehlsregister. Der Inhalt des Hauptspeichers wird durch einen Neustart nicht verändert. Der Neustart-Schalter kann auch mit der F8-Taste (im Firefox  mit STRG+F8) aktiviert werden.
'''Ausführen-Schalter F9''' <br />
führt den aktuellen Befehl im Befehlsregisters aus und lädt anschließend den nächsten Befehl aus dem Hauptspeicher dorthin. Der Ausführen-Schalter kann auch mit der F9-Taste (im Firefox  mit STRG+F9) aktiviert werden.


5. Ich habe das widget auf verschiedenen Endgeräten getestet, unter Windows mit den Screenreadern NVDA und JAWS. Keine Probleme gab es dabei bei den Windows-Rechnern (win10 mit Chrome), Ipad (voice over nicht getestet), Android-Smartphones (Chrome).
5. Ich habe das widget auf verschiedenen Endgeräten getestet, unter Windows mit den Screenreadern NVDA und JAWS. Keine Probleme gab es dabei bei den Windows-Rechnern (win10 mit Chrome), Ipad (voice over nicht getestet), Android-Smartphones (Chrome).
Zeile 30: Zeile 71:


6. Und zum Schluss noch eine Winzigkeit: Schön wäre es, wenn im widget die Beschriftungen "Programmzähler" und "Hauptspeicher" über den entsprechenden Textfeldern '''fett''' dargestellt würden.
6. Und zum Schluss noch eine Winzigkeit: Schön wäre es, wenn im widget die Beschriftungen "Programmzähler" und "Hauptspeicher" über den entsprechenden Textfeldern '''fett''' dargestellt würden.
'''2025-06-29 sollte behoben sein''' ''2025-07-09 Super, Danke!''

Aktuelle Version vom 9. Juli 2025, 10:11 Uhr

Zuerst einmal ganz herzlichen Dank an Christian Schröder für die tolle Unterstützung bei der Implementierung des KHC-widgets und der Vorlage KnowHowComputer im Lernpfad Know-How-Computer! Im Großen und Ganzen läuft das schon sehr gut. Es gibt aber noch ein paar Details, die aus meiner Sicht noch verbessert werden könnten:

1. Die Anzahl der KHC-Hauptspeicherzellen ist derzeit fest auf 25 eingestellt. Das ist für einige Anwendungsfälle deutlich überdimensioniert - für andere wiederum aber auch zu wenig. Frage: Könnte man die Vorlage KnowHowComputer um einen Parameter "lines" erweitern, mit welchem die Zeilenanzahl im Textfeld - und damit die Speichergröße - festgelegt werden kann? Beispiel:

{{KnowHowComputer
|Speicherkonfiguration1= # Demonstration
1: isz 8
2: jmp 4
3: stp
4: inc 7
5: dec 8
6: jmp 1
7: 5
8: 4
|lines=10
|nohelp=true
}}

2025-06-29 erledigt 2025-07-09 Super!


2. Wenn man eine Seite, in der das widget per Vorlage eingebunden ist, von einem Screenreader vorlesen lässt, dann beginnt dieser mit dem Vorlesen nicht am Seitenanfang, sondern mit dem Inhalt des mehrzeiligen Textfeldes Hauptspeicher. Das liegt an dem main-Tag, das vom Screenreader als "Hauptsprungmarke" erkannt wird. Auf der stand alone Seite khc-emulator.html hatte dieses Tag noch eine Berechtigung, im widget ist es jetzt aber eher hinderlich und sollte daher entfernt werden. Gleiches gilt für die nav-Tags im widget.


2025-06-29 sollte behoben sein 2025-07-09 Na ja, nicht so wirklich.
Wenn man eine Lernpfad-Seite lädt, in der weiter unten die Vorlage KnowHowComputer verwendet wird, dann erscheint im Browserfenster nach wie vor nicht der Seitenanfang, sondern der Fokus springt gleich runter zum KHC-Emulator-widget in das mehrzeilige Eingabefeld Hauptspeicher. Die Screenreader erkennen hier außerdem eine "Hauptsprungmarke", die normalerweise am Seitenanfang (nach Werbe- und Navigationselementen) durch <main> oder role="main" erzeugt wird. Für die Nicht-visuelle Orientierung wäre es günstiger, wenn auch beim Öffnen von widget-Seiten die Anzeige mit dem Seitenanfang beginnen würde.

3. Die Steuerelemente im widget (z.B. "neustartschalter", ...) werden durch das Attribut aria-describedby= mit einer jeweils passenden Beschreibung verknüpft ("descr-neustartschalter", ...), die recht ausführlich ausfällt und ursprünglich eigentlich dafür gedacht war, einmalig über die Bedeutung und Handhabung dieses Elements zu informieren. Diese Beschreibung ist jetzt als Bestandteil des Lernpfad-Textes verfügbar. Durch das aria-describedby-Attribut wird die komplette Beschreibung nun aber jedes Mal vom Screenreader vorgelesen, wenn ein Steuerfeld den focus erhält. An dieser Stelle ist das eher lästig als hilfreich. Daher mein Vorschlag: Im widget die aria-describedby-Attribute entweder ganz weglassen oder den Beschreibungstext erheblich kürzen.

2025-06-29 sollte behoben sein 2025-07-09 Ja, ist jetzt nicht mehr so geschwätzig ;-)

4. Die Hilfetexte, die mit Parameter nohelp=true ausgeschaltet werden können, können aus meiner Sicht auch ganz aus dem widget herausgenommen werden, da diese Inhalte nun ebenfalls im Lernpfad-Text erscheinen können.

2025-06-29 hab sie jetzt in einen Dialog geschoben aber so richtig wertvoll sind sie kaum noch

2025-07-09 Der Parameter-Eintrag nohelp=true scheint nicht mehr zu funktionieren - was ich schade finde. Oder habe ich da was übersehen?

Auf jeden Fall sollten die beiden folgenden Abschnitte in der widget-Hilfe folgendermaßen geändert werden:

Über den Know-How-Computer
Die Idee zum Know-How-Computer wurde im Jahr 1983 von Wolfgang Back (WDR) und Ulrich Rohde (PC-Magazin) entwickelt. Veröffentlicht wurde das Konzept des KHC u.a. in den Computerzeitschriften MC und PC-Magazin. Weitere Informationen findet man auf de.wikipedia.org/wiki/Know-how-Computer

Im Laufe der Zeit wurden weitere, zum Teil leicht abgewandelte Varianten des Know-How-Computers veröffentlicht, wie z.B der so genannte Murmelrechner, der auf der Seite www.inf-schule.de/rechner/bonsai/murmelrechner vorgestellt wird.

Kurzanleitung zu dieser JavaScript Implementierung des KHC
Die Bedienoberfläche des KHC besteht in dieser Implementierung aus folgenden fünf Elementen, die mit TAB bzw. UMSCHALT+TAB fokussiert (angewählt) werden können.

Mehrzeiliges Textfeld Hauptspeicher
bildet den Hauptspeicher des Know-How-Computers ab. Jede Zeile des Textfeldes enthält die Nummer (Adresse) einer Speicherzelle und deren Inhalt. Dabei gehört die Adresse (Zahl vor dem Doppelpunkt) selbst nicht zum Inhalt der Speicherzelle, sondern dient lediglich ihrer eindeutigen Bezeichnung. Die Zelleninhalte (hinter dem Doppelpunkt) können entweder KHC-Befehle oder Daten (Zahlenwerte von 0 bis 99) sein.

Der gesamte Inhalt des Textfeldes kann über Tastatureingaben verändert werden. Dabei muss in jeder Zeile die Abfolge Adresse, Doppelpunkt, Befehl oder Datenwert eingehalten werden. Da es sich um ein normales Textfeld handelt, kann sein gesamter Inhalt, also ein ganzes KHC-Programm, einfach durch Kopieren und Einfügen ("Drag and Drop") aus einem Texteditor in den KHC-Speicher importiert oder umgekehrt in einen Editor exportiert und in einer Textdatei gespeichert werden.

Wenn in diesem Textfeld Programmzeilen verändert wurden, sollte vor der nächsten Programmausführung ein Neustart mit dem Neustart-Schalter (Taste F8, im Firefox STRG+F8) durchgeführt werden.

Einzeiliges Textfeld Programmzähler
enthält eine Kombination aus Programmzähler und Befehlsregister. Im Befehlsregister (hinter dem Doppelpunkt) steht immer der aktuelle Befehl, der im nächsten Schritt ausgeführt werden soll. Der Programmzähler (vor dem Doppelpunkt) gibt die Adresse der Speicherzelle an, von der dieser Befehl ins Befehlsregister geladen wurde.

Neustart-Schalter F8
setzt den Programmzähler auf den Wert 1 zurück und lädt den Befehl aus der Zelle 1 des Hauptspeichers in das Befehlsregister. Der Inhalt des Hauptspeichers wird durch einen Neustart nicht verändert. Der Neustart-Schalter kann auch mit der F8-Taste (im Firefox mit STRG+F8) aktiviert werden.

Ausführen-Schalter F9
führt den aktuellen Befehl im Befehlsregisters aus und lädt anschließend den nächsten Befehl aus dem Hauptspeicher dorthin. Der Ausführen-Schalter kann auch mit der F9-Taste (im Firefox mit STRG+F9) aktiviert werden.

5. Ich habe das widget auf verschiedenen Endgeräten getestet, unter Windows mit den Screenreadern NVDA und JAWS. Keine Probleme gab es dabei bei den Windows-Rechnern (win10 mit Chrome), Ipad (voice over nicht getestet), Android-Smartphones (Chrome). Nicht funktioniert hat es auf einem Samsung TAB 7 Tablet unter Android 12. Da erscheint im Hauptspeicher-Textfeld lediglich das KHC-Programm als Text ohne Zeilenumbrüche, aber es gibt keine Schalter und keine Funktionalität.

6. Und zum Schluss noch eine Winzigkeit: Schön wäre es, wenn im widget die Beschriftungen "Programmzähler" und "Hauptspeicher" über den entsprechenden Textfeldern fett dargestellt würden.

2025-06-29 sollte behoben sein 2025-07-09 Super, Danke!