Quantcast
Channel: Webkrauts - für mehr Qualität im Web
Viewing all articles
Browse latest Browse all 243

Eltern von Elementen mit Fokus hervorheben

$
0
0
Checkliste, bei der einzelne Checkboxen mit einem pinken Marker abgehakt werdenDie Pseudoklasse :focus-within

Pseudoklassen helfen, Zustände von Elementen gesondert zu gestalten. Ein Vertreter dieser Gattung ist :focus-within, der – sinnvoll eingesetzt – Formulare auf Webseiten benutzerfreundlicher machen kann.

CSS-Pseudoklassen sind nützlich, um Zustände abzufragen und den Benutzer durch gestalterische Elemente zu unterstützen. Am bekanntesten und häufigsten eingesetzt dürften Pseudoklassen in Verbindung mit Links sein. Dazu gehören beispielsweise :hover und :visited. Auch für Formularelemente kennen die meisten Webworker einige entsprechende Tricks. So lässt sich via :checked eine Checkbox gestalten, die angehakt ist, und mit :focus ein Element hervorheben, das gerade den Fokus hat.

Weniger bekannt ist jedoch die Pseudoklasse :focus-within. Der Name deutet die Funktionalität bereits an. Eine damit versehene CSS-Regel kommt dann zum Einsatz, wenn ein Kindelement den Fokus erhält. Ein sinnvoller Einsatz sind HTML-Formulare, bei denen sich beispielsweise die Hintergrundfarbe eines Fieldsets verändern lässt, sobald ein darin befindliches Eingabefeld den Fokus erhält.

Das funktioniert auch über mehrere Ebenen hinweg. Webworker können dadurch den gesamten body oder andere umfassende Elternelemente gestalten. Im folgenden Beispiel ist ein Wrapper mit :focus-within ausgestattet, worüber der Text oberhalb des Formulars in seiner Sichtbarkeit reduziert wird, sobald ein Benutzer in ein Eingabefeld klickt. Gleichzeitig verändern sich die Hintergrundfarben des Formularelements und des jeweils umschließenden fieldsets.

See the Pen :focus-within by Sascha (@saschapi) on CodePen.

Mit wenigen Ausnahmen ist :focus-withinin modernen Desktop- und Smartphonebrowsern gut verfügbar. Der Internet Explorer und Edge bieten keine Unterstützung und auch Opera Mini spielt leider nicht mit. Da es aber kaum stört, wenn diese Verbesserung für bestimmte Benutzer nicht verfügbar ist, spricht nichts dagegen, :focus-within produktiv einzusetzen und so die Nutzereingabe in Formularen durch weitere gestalterische Mittel zu unterstützen.

Wie auch in anderen Fällen sollten Webworker die Pseudoklasse :focus-within natürlich nur gezielt da einsetzen, wo es sinnvoll ist und nicht eine reine Spielerei darstellt. Es finden sich jedoch sicherlich viele gute Einsatzmöglichkeiten.

Sascha Postner

Viewing all articles
Browse latest Browse all 243