Kurz nachdem ich hier im Blog berichtet, wie es möglich ist unter JAWS Großbuchstaben anzusagen, schrieb mich ein netter Leser an und wies mich darauf hin, dass es eine offizielle JAWS-Mailingliste gibt, in welcher häufig solche Lösungen präsentiert werden.

Selbstverständlich meldete ich mich sogleich in dieser Liste an und seither habe ich viele der immer mal wieder auftretenden Probleme auch dank dieser lösen können. Vor wenigen Tagen stellte ein Mitglied, mit dem ich seit einiger Zeit gut befreundet bin, eine Jaws Skriptsammlung vor die einige meiner Probleme auf geniale Weise löst.

Um was es sich hier genau handelt und welche Probleme sie aus der Welt schafft, will er euch heute selbst berichten.

Dies ist ein Gastbeitrag von Udo. Ich freue mich Ihn heute hier zu Wort kommen zu lassen.

Der Mensch war ja – ehe er sesshaft wurde und anfing Getreide anzubauen – ein Jäger und Sammler. Und die Sammelwut ist wohl noch tief in unseren Genen: der eine sammelt Briefmarken, der andre Erfahrungen. Ich sammle Scripts. Und da ich – wie Stephan – auf den Screenreader JAWS angewiesen bin, liegt es nahe, Scripts für JAWS zu sammeln. Da gibt es nur ein Problem: wo zum Kuckuck bekommt man JAWS-Scripts denn her? Gut, in JAWS sind ja schon einige dabei, aber darüber hinaus findet sich im Internet recht wenig.

Ich weiß nicht, wie es euch geht, aber wenn ich ein Computerproblem habe, dann schaue ich erst einmal im Internet nach. Viele kleine VBScripts und VBA-Makros haben mir schon sehr das Leben erleichtert. Und weil man sich das Leben mit Scripts unheimlich erleichtern kann, habe ich mir die eine oder andere Script-Sprache angeeignet und bin zum Schluss bei JAWS-Script hängen geblieben.

Seit ein paar Monaten poste ich von mir erstellte JAWS-Scripts in die JAWS-Mailingliste. Da ich mir denke: Vielleicht gibt's ja noch den einen oder anderen Jäger und Sammler, der diese gebrauchen kann ;-)

Das Problem mit den Anwenderskripts

Da gibt es nur ein Problem: Nach jedem JAWS-Update müsste man theoretisch alle Scripts neu erstellen, da JAWS die Scripts in zwei Verzeichnissen speichert: die Original-Scripts im JAWS-Scriptverzeichnis und die angepassten (eigenen) Scripts im Anwender-Scriptverzeichnis. Nach einem JAWS-Update werden die Scripts im JAWS-Scriptverzeichnis zwar aktualisiert, die im Anwenderscriptverzeichnis jedoch nicht - denn wer will schon, dass seine mühsam erstellten Scripte einfach so überschrieben werden!

Eine richtige Lösung für dieses Problem gibt es nicht, sodass man eigentlich nach jedem JAWS-Update seine Anwenderscripts löschen und neu erstellen muss, damit die Original-JAWS-Scripts von JAWS vom JAWS-Verzeichnis ins Anwenderverzeichnis kopiert werden. :-(

Deshalb habe ich mir gedacht, ich sammle mal all meine Scripts in einer Datei, sodass man nach einem JAWS-Update sich nicht jedes Script einzeln neu erstellen muss, sondern lediglich über einen einzigen Befehl einbinden kann. Herausgekommen ist dabei meine Scriptsammlung für Microsoft Word, welche ich euch im Folgenden mal kurz vorstellen möchte.

Microsoft Word Skriptsammlung "ewWord" vorgestellt

Kennt ihr das Problem: Ihr schreibt einen halben Roman in Word, vergesst zu speichern und – zack – der PC stürzt ab. Eigentlich kein Problem, denn Word speichert im Hintergrund mit und öffnet nach einem Neustart dann die im Hintergrund gespeicherten Dokumente. Mausklicker haben damit sicherlich kein Problem, aber versucht mal – ihr Mausschieber – das Ganze mit der Tastatur zu machen. Geht zwar schon irgendwie, aber danach seid ihr fühlbar um mehrere Jahre gealtert. Deshalb gibt es in der Scriptsammlung eine Funktion, die alle x Tastaturanschläge für euch das Dokument speichert. Und damit man weiß, dass das Dokument gespeichert wurde, kommt auch ein kleiner kurzer Sound beim Speichern.

Was mich schon seit Jahren ärgert ist, dass Rechtschreibfehler auf dem Bildschirm zwar mit einer roten Linie unterstrichen werden, aber Blinde/Sehbehinderte hiervon nichts mitkriegen. Deshalb überprüft ein Script der Scriptsammlung nach jedem Leerschritt, ob im Absatz ein Fehler ist und meldet dies dann per Sprache und/oder akustisch. Bei einer Zeilenschaltung wird das gesamte Dokument überprüft und per Sound und Sprache der Fehler gemeldet. Beides lässt sich zusammen oder getrennt voneinander ein-/ausschalten, sodass jeder die Funktion seinen Vorlieben nach nutzen kann.

Habt ihr euch schon mal beim Schreiben gefragt, ob – nach der Eingabe eines Kürzels für die Autokorrektur – diese auch tatsächlich ausgelöst wurde? Also Finger zur Braillezeile und nachlesen oder per Sprachausgabe sich das zuletzt geschriebene Wort vorlesen lassen. Das war mir alles zu zeitaufwendig und so habe ich ein Script in die Sammlung aufgenommen, welches folgendermaßen funktioniert: Ich habe z. B. viele Abkürzungen in die Autokorrektur übernommen. Zum Beispiel wird aus "uew.." das Wort „Udo Egner-Walter“. Aber warum die zwei Punkte am Ende? Ganz einfach: mein Script überwacht die Eingaben der Tastatur und wenn zwei Punkte vorkommen, lässt es JAWS das letzte Wort sprechen. Steht da nach wie vor "uew..", so hat die Ersetzung nicht geklappt, steht da hingegen "Udo Egner-Walter" - Bingo. Steht da jedoch "Stephan", dann hat mir wahrscheinlich ein Freund einen Streich gespielt. Da zwei Punkte alleine eigentlich in einem Text nicht vorkommen (entweder der Punkt allein als Satzpunkt oder aber drei Punkte als Auslassungszeichen) bekommt man so die Möglichkeit, sich einen Haufen von Abkürzungen in die Autokorrektur zu übernehmen und die Punkte stellen sicher, dass das Script vorliest, ob das Ganze auch geklappt hat.

Und wenn wir gerade bei der Autokorrektur sind, der Dialog zur Autokorrektur lässt sich per Scripttaste (Strg+Win+A) ebenfalls schnell zum Einfügen von neuen Einträgen aufrufen. Ebenso wie der Dialog zur Sprachauswahl und der Dialog zum Hinzufügen neuer Tasten. Letzterer ist sehr praktisch, da man in diesem Dialog ja jeder Word-Funktion eine eigene Taste zuweisen kann.

Und weil die JAWS-Entwickler vergessen hatten, eine Funktion zu implementieren, die automatisch vorliest, ob eine Taste bereits in Word vergeben ist (bisher musste man hierfür den JAWS-Cursor bemühen), habe ich in meinem Script diese Funktion erstellt. Wenn man im Eingabefeld für neue Tasten steht, bekommt man dann auch nach Drücken der Tasten angesagt, ob diese schon vergeben ist oder nicht).

Wenn wir dann schon beim fehlenden Ankündigen sind, dann wäre da noch die Funktion zum Ändern der Groß-/Kleinschreibung genannt (Shift+F3). Da wird das Wort zwar umgewandelt, jedoch wird nicht angesagt, ob das Wort jetzt groß- oder kleingeschrieben ist. Das Script „ewChangeCase“ ändert deshalb die Groß-/Kleinschreibung und liest das Ergebnis dann vor.

Über die Ribbons ist es zwar möglich, Kopf-/Fußzeilen und Fußnoten anzuzeigen, schneller geht's aber mit Tastenkombination der Scripts in der Sammlung. Wer bis hierher gelesen hat und mal eine Pause machen möchte, um morgen weiterzulesen, würde sich vielleicht über eine Funktion zum Erstellen eines temporären Lesezeichens freuen. Zumindest für Word gibt es in der Scriptsammlung auch ein Script hierfür

Auch zum Setzen einer Anfangs- und Endmarke gibt es ein Script, welches beim Setzen der Endmarke den Text zwischen Anfangs- und Endmarke auch gleich markiert. Die in diesem Abschnitt genannten Funktionen gibt es zwar schon in JAWS selbst, aber diese lassen sich meines Wissens nicht anpassen, da man für zumindest eine Funktion „JAWS-Taste + Leertaste, gefolgt von B“ drücken muss. Ich hab’s noch nicht hingekriegt, das zu ändern, weshalb ich die Funktionen für die Scriptsammlung einfach selbst erstellt habe.

Zum Lesen von Text, habe ich ebenfalls ein paar (fehlende) JAWS-Funktionen nachgerüstet: Lesen von der Cursorposition bis zum Absatzende, aktuelle Zeile bis zum Cursor lesen, das letzte Wort lesen sowie ansagen, ob es groß-/kleingeschrieben ist, sowie melden, ob ein Leerzeichen zwischen Wort und Absatzmarke ist bzw. ob der Cursor sich überhaupt am Absatzende befindet.

Ein Script zum Sprechen von Dokumentinformationen sagt die Seitenzahl, die Gesamtseitenzahl, die aktuelle Position in der Zeile, den Zoom und die Zeichenanzahl an.

Was macht ihr, wenn ihr ans Absatzende wollt? Mit „Strg+Pfeil ab“ zum nächsten Absatz gehen und dann mit den Cursor-Tasten zurück? Das Script der Sammlung geht per Tastendruck direkt (zum Weiterschreiben) ans Absatzende.

Auch lässt sich – wenn ihr in einer Tabelle seid – mit einem Tastendruck die komplette Tabelle markieren.

Habt ihr euch schon einmal gefragt, welche Nummerierung/Aufzählung ihr überhaupt eingefügt habt und wie diese aussieht? Ein Script der Sammlung präsentiert alle Nummerierungen und Aufzählungen in einer Liste und liest euch auch gleich eine Beschreibung darüber vor.

Ein paar Schnelleinstellungen für die Scripts lassen sich auch direkt über eine Tastenkombination und Dialog einstellen sowie die Anwendungs-Konfigurationsdatei öffnen, in welcher man ganz viele Sachen seinen Wünschen entsprechend anpassen kann.

So, und die zwei Highlights habe ich mir für den Schluss aufgehoben:

Ein Script öffnet einen Eingabedialog, über den man ein Word-Makronamen eingeben kann. Da ich viele Befehle und mögliche Befehlsnamen schon vorab in einer Datei für das Script geschrieben habe, kann man z. B. „Datei öffnen“ eingeben und der „Datei-öffnen-Dialog“ erscheint. Oder „Suchen“ oder „Autokorrektur“. Lediglich "Kaffee kochen" hat mir das Script verweigert. Die Datei mit diesen Befehlen lässt sich selbstverständlich anpassen, sodass man seine eigenen „Kürzel“ eingeben kann, um ein Word-Makro zu starten.

Das letzte Script, welches ich euch vorstellen möchte, ist ein Script, welches versucht die „alten“ Menüs von Word „nachzubauen“. Die Möglichkeiten für Dialogelemente (z. B. Menüs) sind in JAWS-Script begrenzt, sodass die Menüs über zwei Listboxen realisiert werden. Die erste Listbox listet die Menüs auf („Datei,“, „Bearbeiten“, „Ansicht“, usw.). Wählt man z. B. „Datei“ aus, so werden dann in einer zweiten Listbox alle Befehle des früheren „Dateimenüs“ aufgelistet. Auch dieses Script wird über eine Textdatei gesteuert, die man sich gerne anpassen kann. Für die Scriptsammlung habe ich eine Windows-Hilfe-Datei im CHM-Format erstellt, die der Sammlung beiliegt und ebenfalls aus Word heraus mit der Taste „Strg.Win+F1“ aufgerufen werden kann. Allerdings gibt es vom Betriebssystem vorgegebene Sicherheitseinstellungen die bewirken, dass die Inhalte der CHM-Datei nicht auf allen Computer angezeigt werden können. Sollten die Inhalte nicht angezeigt werden können, so gibt es in einigen Betriebssystemen die Möglichkeit, im Explorer mit „Alt + Enter“ oder der Kontextmenütaste die Eigenschaften aufzurufen und hier dann in der Registerkarte „Allgemein“ das Kontrollkästchen „Öffnen der Datei zulassen“ zu aktivieren.

Selbst ausprobieren

Ach so, das Wichtigste habe ich fast vergessen: Die Scriptsammlung könnt ihr bei Interesse auf der deutschen Homepage von Freedom Scientific herunterladen oder hier über einen Direktlink. Zum Installieren die heruntergeladene Datei "ewWord.zip" in ein Verzeichnis entpacken und die Datei "Setup.hta" ausführen. Alternativ steht in der Datei "Lies mich.txt" wie man die Scripts von Hand installieren kann. Über Anregungen, Verbesserungsvorschläge, Kritik oder allgemeine Rückmeldungen würde ich mich sehr freuen.

Lieben Gruß und viel Spaß mit ewWord wünscht euch Udo
Kommentare  
Dieser Artikel klingt für mich sehr interessant, auch wenn ich vom Skript schreiben keine Ahnung habe. Jedenfalls finde
ich die Idee die dahinter steckt, sehr gut, soweit ich sie verstehe. Ich selber Lucia Cobra von der Firma Baum. Aber für diejenigen, die Ahnung vom Skript
schreiben und von der entsprechenden Sprache dafür haben, dürfte der Artikel eine sehr große Hilfe sein und wie gesagt, er ist sehr erheiternd und gut
geschrieben, sodass auch Personen, die keine Ahnung haben davon, den Artikel bis zu Ende lesen, weil es einfach Spaß macht, ihn zu lesen. Viele Grüße Gabi
Hallo Wolfgang,

zuerst einmal vielen Dank für dein Lob. Freut mich, dass dir die Sammlung gefällt.

Was das Lernen von JAWS-Script angeht, so gibt es auf der deutschen FS-Seite ein deutschsprachiges Einsteiger-Tutorial: http://www.freedomsci.de/data/Basics_of_Scripting_Deu.chm

Die Datei ist zwar schon etwas älter, aber immer noch klasse für den Einstieg.

Auf der englischen FS-Seite findest du hier diverse Dokumente in englischer Sprache: http://www.freedomscientific.com/products/blindness/jawsdocumentation

Ganz wichtig finde ich auch die Hilfedatei FSDN.chm. Die enthält alle JAWS-Scripts und -Functionen. Du kannst sie hier (in Englisch) herunterladen:
http://www.freedomscientific.com/support/jawsdocumentation/FSDN

Des Weiteren werden in der JAWS-Mailingliste alle möglichen Dinge rund um JAWS geschrieben, auch zum Thema Scripts.

Ich hoffe das hilft dir weiter.

Liebe Grüße
Udo
Hallo,
sehr interessanter Beitrag!
Habe mir die Scriptsammlung sogleich installiert und finde sie klasse!
Jetzt stelle ich mir aber die Frage wie kann ich selber JAWS-Scripts schreiben?
Gibt es Anleitungen oder etwas in der Art?

Grüße
Wolfgang
Kommentar schreiben
Schreibe uns deine Meinung. Für Anregungen oder Kritik bin ich gleichermaßen offen. Durch die Eingabe deines Kommentars bestätigst du die Datenschutzerklärung.

Folgen und Teilen

Ich bemühe mich circa einen neuen Beitrag pro Monat zu veröffentlichen. Um keinen Artikel zu verpassen, kannst du mir auf verschiedenen Kanälen folgen.

Du findest mich sowohl auf Facebook, wie auch bei Twitter.

Alternativ bleibst du bei dem beliebten RSS-Reader Feedly oder in jeder anderen RSS App durch Hinzufügen dieses Links auf dem Laufenden.

Ganz klassich kannst du dich natürlich auch über neue Beiträge per Email informieren lassen:

Alma, Denny und ich
Meine Blindenführhunde:
Alma und Denny
Ich mit Blindenstock auf Shoppingtour

Unterstütze mich

Ein Leckerli für Alma,
ein Kaffee für Stephan,
ein Bierchen für beide?

(weitere Infos)

Letzte Kommentare

Hallo Marie, es freut mich, dass du deine Smarthome-Elemente auch so zu schätzen weißt! Alexa als...

vor 1 Woche
Geschrieben von: Stephan

Hallo Jana, da hast du absolut recht! Es ist wirklich faszinierend, wie viel uns diese...

vor 1 Woche
Geschrieben von: Stephan

Hallo Katja, du sprichst da einen wichtigen Punkt an! Genau das war einer der Gründe, warum ich...

vor 1 Woche
Geschrieben von: Stephan

Hallo Mo, vielen Dank für deinen Kommentar! Altmodisch zu leben hat auch seine Vorteile –...

vor 1 Woche
Geschrieben von: Stephan

Lieber Stephan, ich lebe tatsächlich ein bisschen altmodisch. Weder diese ganzen Features gar...

vor 1 Woche
Geschrieben von: Mo

Was ich schon mal super relevant finde, deine Installationen funktionieren auch, wenn das Netz...

vor 1 Woche
Geschrieben von: Katja

Ja, es ist doch echt erstaunlich, was uns all die praktischen Assistenten so abnehmen können!...

vor 1 Woche
Geschrieben von: Jana

Beliebte Schlagwörter