Von Christian Wiesing auf Dienstag, 10. November 2015
Kategorie: Application Development

Barrierefreie JSF-Komponenten

In JSF-Projekten stößt man schnell an die Genzen, wenn es um das Thema Barrierefreiheit geht. Die meisten Renderer der jeweiligen JSF-Komponenten tragen diesem Konzept leider viel zu selten Rechnung. Häufig fehlt die Möglichkeit in den HTML-Komponenten die notwendigen ARIA-Attribute zu setzen.

Seit JSF 2.0 besteht jedoch die Möglichkeit die Renderer von JSF-Komponenten zu erweitern. Diese Mechanik eignet sich sehr gut dazu, um die Komponenten Barrierefrei zu machen. Eine Beispielhafte Lösung eines Renderers für ein Eingabefeld könnte wie folgt aussehen:

Hier wird die Methode "getEndTextToRender" besteht nun die Möglichkeit in den Renderprozess der Komponente einzugreifen und diese dynamisch mit Attributen zu erweitern.

Anschließend muss noch der Renderer "javax.faces.text" in der faces-config.xml überschrieben werden:

Der generierte HTML-Code besitzt von nun an auch die notwendigen ARIA-Elemente:

Kommentare hinterlassen