Barrierefreie Software mit JavaFX

Seite 3: Tastaturfokus sichtbar machen

Inhaltsverzeichnis

Es gibt Programmfenster mit vielen Eingabefeldern, etwa eine Eingabemaske zur Adressenverwaltung. In Eingabefeldern wird der Textcursor nur als senkrechter Strich dargestellt. Das ist für Menschen mit starker Sehbehinderung ein Problem. Sie können nicht erkennen, in welchem Eingabefeld sich der Textcursor befindet, weil der senkrechte Strich schlecht zu sehen ist. Um das Problem zu lösen, sollte das aktive Eingabefeld eine andere Hintergrundfarbe bekommen. Hierfür eignet sich die Farbe Gelb.

In JavaFX eine Hintergrundfarbe zu ändern ist nicht einfach. Es werden CSS-Kenntnisse benötigt. Im folgenden Codebeispiel werden zwei Label und zwei Textfelder zur Eingabe von Vor- und Nachname angelegt:

Label vLblVorname = new Label("_Vorname:"); 
TextField vVorname = new TextField("");
Label vLblNachname = new Label("_Nachname:");
TextField vNachNameFeld = new TextField("");

Jetzt folgen die zwei Listener, die dafür sorgen, dass die Eingabefelder "Vorname" und "Nachname" gelb werden, wenn diese aktiv sind:

vVorname.focusedProperty().addListener(new ChangeListener<Boolean>() {    
@Override
public void changed(ObservableValue<? extends Boolean> arg0, Boolean oldPropertyValue, Boolean newPropertyValue) {
if (newPropertyValue)
{vVorname.setStyle("-fx-background-color: yellow;" );}
else {vVorname.setStyle("-fx-background-color: white;" );}
}
});

Die setStyle-Angaben sind CSS.

vNachNameFeld.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> arg0, Boolean oldPropertyValue,Boolean newPropertyValue) {
if (newPropertyValue)
{vNachNameFeld.setStyle("-fx-background-color: yellow;" );}
else {vNachNameFeld.setStyle("-fx-background-color: white;" );}
}
});

So lässt sich dafür sorgen, dass die Hintergrundfarbe des aktiven Eingabefeldes gelb und somit gut sichtbar für Menschen mit einer Sehbehinderung ist.

Menschen mit Sehbehinderungen oder Farbfehlsichtigkeit können Einstellungen im Betriebssystem vornehmen, die unterstützen, den Computer besser zu bedienen. Damit diese Einstellungen helfen, muss die Java-Anwendung sie übernehmen.

Bei Einstellungen | System | Anzeige | Erweiterte Skalierungseinstellungen | Benutzerdefinierte Skalierung lässt sich eine Prozentangabe eingeben, wie groß die Schrift von Windows sein soll. 150 Prozent ist zum Testen ein guter Wert. Nachdem die Windows-Systemschrift größer ist, startet man die Java-Anwendung. Danach ist zu überprüfen, ob alle Programmfenster lesbar und bedienbar sind. Ist das der Fall, dann können auch Menschen mit einer Sehbehinderung mit der Java-Anwendung arbeiten. Eine wichtige Anmerkung: Ein Programmfenster kann man nicht so gestalten, dass sich die Windows-Systemschrift beliebig groß skalieren lässt.

Große Systemschrift von Windows