Schlagwort: JavaScript

Vanilla JavaScript im Einsatz – von kleinen Helfern bis zu eigenständigen Modulen, die ihren Job machen ohne Framework-Abhängigkeit.


JavaScript-Code in einem dunklen Editor, unten scharf, nach oben zunehmend unscharf. Im Fokus steht der Listener für das Ereignis hidden.bs.modal: Er holt den gemerkten Auslöser mit modalTriggers.get( modalElement ), prüft mit document.contains( trigger ), ob er noch im Dokument steht, setzt mit trigger.focus() den Fokus zurück und löscht danach den Eintrag mit modalTriggers.delete( modalElement ). Darüber, unscharf, der Listener für hide.bs.modal mit document.activeElement.blur().

Wieder da, wo man war – Fokus bei Bootstrap-Modals

Nach dem Schliessen eines Bootstrap-Modals soll der Fokus wieder dort landen, wo er vorher war – beim Element (meist ein Button), das den Modal geöffnet hat. Das betrifft die Bedienung mit Tastatur, Screenreader und Maus. Ein kleines JavaScript löst das zentral für alle Modals einer Seite, auch dort, wo Bootstrap den auslösenden Button nicht selbst kennt.

Weiterlesen: Wieder da, wo man war – Fokus bei Bootstrap-Modals
Sechs stilisierte Cards auf grauem Grund, angeordnet in einem Raster aus zwei Reihen zu je drei. Jede Card hat einen weinroten Kopfbereich mit einer grossen weissen Zahl, darunter angedeutete Textzeilen als dunkle und graue Balken sowie einen weinroten Button. Die Zahlen stehen in gemischter Reihenfolge: oben 3, 1 und 5, unten 2, 4 und 6.

Jedes Mal anders – HTML-Cards zufällig anordnen

Wenn HTML-Cards bei jedem Seitenaufruf in einer anderen Reihenfolge erscheinen sollen, lässt sich das mit ein wenig JavaScript und CSS lösen – ganz ohne Eingriff ins Backend. Die Cards sind zunächst unsichtbar und ihr Platz auf der Seite ist von Anfang an reserviert, damit sich der Inhalt darunter nicht verschiebt. Sind sie gemischt, erscheinen sie.

Weiterlesen: Jedes Mal anders – HTML-Cards zufällig anordnen
Zwei stilisierte lange Tabellen nebeneinander, getrennt durch ein nach rechts weisendes Winkelzeichen. Ein heller Kasten zeigt jeweils den sichtbaren Bereich, die Zeilen darüber und darunter sind ausgegraut. Links ist der dunkle Tabellenkopf oberhalb des Kastens aus dem sichtbaren Bereich gescrollt; rechts ist der Tabellenkopf weinrot eingefärbt am oberen Rand des Kastens angedockt, während die Zeilen darunter weiterlaufen.

Stehen bleiben, bitte – Sticky Header bei langen Tabellen

Bei langen Tabellen verliert man schnell die Übersicht, wenn der Tabellenkopf aus dem Sichtfeld scrollt. Wenn man den Tabellenkopf mit CSS festhält, während die Zeilen darunter durchlaufen, behält man die Übersicht. Und das ist weniger aufwendig, als man denkt.

Weiterlesen: Stehen bleiben, bitte – Sticky Header bei langen Tabellen
JavaScript-Code des Lightbox-Moduls, Fokus auf der Pinch-Zoom-Logik

Lightbox für WordPress – ohne Plugin

Jeder kennt sie, man setzt sie fast voraus, und sie rückt ein Bild oder anderen Inhalt vor einem abgedunkelten Hintergrund in den Fokus – eine Lightbox. Für WordPress lässt sich so etwas mit einem Plugin lösen – oder man programmiert etwas Schlankes, das nur lädt, wenn es gebraucht wird, und sonst nicht.

Weiterlesen: Lightbox für WordPress – ohne Plugin
Screenshot des Teilen-Dialogs auf marcelbest.com: ein modaler Dialog mit dem Titel «Teile den Beitrag» liegt über der abgedunkelten, unscharfen Seite. Darin die zu teilende URL in einem dunklen Feld und darunter eine Reihe Teilen-Symbole – Facebook, X, LinkedIn, Pinterest, WhatsApp, E-Mail und Kopieren. Über dem URL-Feld ist der Tooltip «URL in die Zwischenablage kopieren» eingeblendet, oben rechts ein Schliessen-Kreuz mit sichtbarem Fokus-Rahmen.

Modal oder nicht – das ist hier nicht die Frage

Einen Button zum Teilen meiner Beiträge – der den Fokus ganz aufs Teilen legt, so wie es YouTube macht, das wäre doch was. Also ein modaler Dialog (Modal). Was nach einer Fingerübung aussah, wurde zum Lehrstück: Ein Modal ist ein eigenes Dokument, und sobald man das realisiert, fängt die eigentliche Arbeit erst an.

Weiterlesen: Modal oder nicht – das ist hier nicht die Frage
Zwei stilisierte Beitragsvorschau-Karten nebeneinander, getrennt durch ein nach rechts weisendes Winkelzeichen. Links hat nur der rote Weiterlesen-Button einen hellen Fokus-Rahmen; rechts liegt ein leichter roter Schleier über der ganzen Karte und zeigt sie als gesamte Klickfläche, während der Button seinen Fokus-Rahmen behält.

Weniger Code, mehr Barrierefreiheit

Die ganze Beitragsvorschau anklickbar machen, nicht nur den Weiterlesen-Link – und das barrierefrei. Klingt einfach, war es nicht. Bis ich merkte, dass ich das falsche Problem lösen wollte. Die richtige Lösung war dann fast peinlich simpel.

Weiterlesen: Weniger Code, mehr Barrierefreiheit