Topics

Barrierefreies Implementierungsmuster für Kartenkomponenten

  • column

Kartenförmige Komponenten werden häufig in Artikellisten usw. verwendet. Obwohl sie einfach aussehen, gibt es überraschend tiefgreifende Designprobleme, wenn man die Barrierefreiheit betrachtet.

Eine typische Karte von oben

  • Bild
  • Artikelüberschrift
  • Artikelzusammenfassung
  • Weitere Details finden Sie hier.

Betrachten wir ein Implementierungsmuster für ein vertikales Layout.

Wichtige Punkte, die beim Design zu beachten sind

1. Visuelle Ordnung und HTML-Struktur

Bildschirmleseprogramme lesen HTML im Allgemeinen in der Reihenfolge, in der es geschrieben ist.Erfolgskriterium 1.3.2 (Sinnvolle Sequenz, Stufe A)Also,Das Grundprinzip besteht darin, die visuelle Reihenfolge an die HTML-Reihenfolge anzupassen.Das ist es, was wir sagen.

Die Änderung der CSS-Reihenfolge verstößt an sich nicht gegen die WCAG-Richtlinien. Solange der Inhalt verständlich ist, ist es unproblematisch, wenn die visuelle und die HTML-Reihenfolge voneinander abweichen. Wichtig ist Flexibilität und situationsgerechte Entscheidungen.

2. Umgang mit Bildern

Bilder auf Artikelkarten sind oftdekorativDer Titel des Artikels reicht aus, um den Inhalt zu vermitteln, daher ist es kaum nötig, die Bildbeschreibung vorzulesen.

Wenn es als dekoratives Bild behandelt wirdalt=""ist ausreichend.

<img src="thumbnail.jpg" alt="">

3. Linkbezeichnung „Details“

Allgemeine Formulierungen wie „Mehr erfahren“ sollten aus folgenden Gründen vermieden werden:

Visuelle Probleme

Ohne den umgebenden Kontext ist es schwer zu erkennen, was ein Link ist.

Probleme mit Bildschirmleseprogrammen

Bei der Anzeige in einer Liste mithilfe der Linklistenfunktion sind alle Links mit „Details anzeigen“ beschriftet und nicht unterscheidbar (WCAG 2.4.4 Link Purpose, Level A).

Probleme mit der Spracherkennung

Wenn mehrere identische Texte vorhanden sind, müssen Sie diese anhand ihrer Nummer auswählen, was den Vorgang kompliziert macht.

Idealerweise sollte der Link einen Text enthalten, der seinen Zweck bereits aus dem Link selbst klar macht, wie zum Beispiel „Details zu XX ansehen“. Hier zeigen wir Ihnen jedoch, wie Sie dies umsetzen können, wenn Sie das Design „Details ansehen“ exakt nachbilden möchten.

4. Klickbare Bereiche der Karten

Aus UX-Gründen ist es oft wünschenswert, die gesamte Karte klickbar zu machen. Dies lässt sich auf verschiedene Weise erreichen, wobei sich die Auswirkungen auf die Barrierefreiheit jeweils unterschiedlich auswirken.

5. Sollten Karten Artikel oder Divs sein?

Die Wahl hängt von der Art des Inhalts ab.

<article>Geeignet, wenn:

  • Der Karteninhalt stellt einen eigenständigen Inhalt dar.

<div>Wenn das in Ordnung ist:

  • Es fungiert lediglich als eine Gruppe von Links
  • Die Karten selbst besitzen keine semantische Unabhängigkeit.

Für allgemeine Blogbeitragslisten oder Produktlistenkarten,<article>Jedoch mehrere<article>Bitte berücksichtigen Sie bei der Verwendung die Landmarkenbewegung des Bildschirmlesers.aria-labelledbyoderaria-labelEs wird empfohlen, zur Kennzeichnung jedes Artikels ein CSS3-Tag zu verwenden (WCAG 2.4.6, Level AA).

aria-labelledbyWenn Sie dies verwenden, stellen Sie sicher, dass die ID ein eindeutiger Wert ist.

Visuelle Ordnung und HTML-Struktur

Muster 1: Visuelle Reihenfolge an HTML-Reihenfolge anpassen

Es ist einfach und intuitiv, da die HTML-Reihenfolge perfekt mit der visuellen Reihenfolge übereinstimmt.

<article>Das erste Element in einer Kopfzeile ist zwar wünschenswert, aber keine zwingende Voraussetzung. Wenn Sie Wert auf eine einheitliche visuelle Anordnung legen, ist dieses Muster in Ordnung.

ergänzen:

Spracherkennungssoftware (Dragon, Voice Control usw.) funktioniert auf Basis des auf dem Bildschirm angezeigten Textes.visually-hidden (sr-only)Dadurch bleibt der visuelle Text erhalten und die Bedienung per Spracherkennung ist möglich. Zusätzlich finden Sie hier Implementierungsbeispiele für die Muster OK und NG zur Unterstützung von Link-Beschriftungen.




Details anzeigen



Details anzeigen





Details anzeigen



Details anzeigen


Muster 2: Visuelle Reihenfolge mit CSS anpassen

.article-card {
  display: flex;
  flex-direction: column;
}

.article-card img {
  order: -1;
}

<article>ist eine semantisch wünschenswertere Struktur, da das erste Element von zur Überschrift wird.

Dekorative Bilder (alt=""), die Lesereihenfolge bleibt unberührt (da Bilder übersprungen werden).

Beachten:

  • Wenn das Bild aussagekräftig ist und ein Alt-Attribut besitzt, ist diese Struktur ungeeignet, da sie die visuelle und Lesereihenfolge verändert.
  • Die Reihenfolge der Tastaturtabs entspricht der HTML-Reihenfolge. Wenn Sie also mehrere fokussierbare Elemente innerhalb einer Karte haben, stellen Sie sicher, dass die Fokusreihenfolge den logischen Ablauf nicht unterbricht.

Wenn Sie den gesamten anklickbaren Bereich der Karte nutzen möchten

Muster 3: Die gesamte Karte mithilfe von Pseudoelementen klickbar machen

Bei dieser Methode wird ein Titellink-Pseudoelement verwendet, um die gesamte Karte abzudecken, wobei die Schaltfläche „Mehr erfahren“ als visuelle Dekoration dient.<span>Zu.

Klicken Sie auf „Details anzeigen“.<a>So wie es isttabindex="-1"oderaria-hidden="true"Trotzdem wird es in der Linkliste eines Bildschirmleseprogramms oder im Elementnavigationsmodus unübersichtlich sein, daher<span>Ich denke, es wäre besser, so vorzugehen.

.article-card {
  position: relative;
}

.card-link::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
}

.card-link:focus-visible {
  outline: none;
}

.card-link:focus-visible::after {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* カード内に複数のリンクがある場合の例 */
.article-card a:not(.card-link) {
  position: relative;
  z-index: 2;
}

Verdienst:

  • Bewahrt die semantische Struktur
  • Wird von Bildschirmlesegeräten flüssig vorgelesen.
  • Innerhalb einer Karte können mehrere Links platziert werden (Kategorien, Schlagwörter, Autorenlinks usw.).

Nachteile:

  • z-indexEin Management ist erforderlich (aber sobald es eingerichtet ist, gibt es kein Problem).

Muster 4: Die gesamte Karte<a>Umgeben mit

Auf diese Weise wird die gesamte Karte zu einem einzigen Link, sodass „Details ansehen“ eine naheliegende Wahl darstellt.<span>Es wird sein.

Verdienst:

  • Einfach umzusetzen
  • Einfache CSS-Anpassungen

Nachteile:

  • Manche Bildschirmleseprogramme lesen den gesamten Text zusammengefügt vor (insbesondere VoiceOver, das „Artikeltitel, Artikelzusammenfassung...Details ansehen, Link“ vorliest).
  • Sie können nicht mehrere Links in eine Karte einfügen.

Beispiele für jedes Muster

Zusammenfassung

Es gibt verschiedene Ansätze zur Implementierung barrierefreier Kartenkomponenten. Wichtig ist, dass es kein „einzig richtiges“ Implementierungsmuster gibt.Die optimale Lösung variiert je nach Situation.Das bedeutet es.

Bei der Umsetzung ist Folgendes zu beachten:

  1. Wählen Sie eine Implementierung, die keine Probleme für die tatsächlichen Benutzer verursacht.
  2. Berücksichtigen Sie die Bedeutung des Bildes, den Zweck der Karte und die Gesamtstruktur der Website.
  3. Priorisieren Sie praktische und wartungsfähige Implementierungen.

Verfasst von

Er wechselte von Desktop-Publishing in die Webwelt und entwickelte sich schnell zu einem wahren Meister seines Fachs mit umfassenden Kenntnissen in Markup, Frontend-Design, Webentwicklung und Barrierefreiheit. Seit der Gründung von Liberogic ist er in verschiedenen Bereichen aktiv und gilt im Unternehmen mittlerweile als wandelndes Lexikon. In letzter Zeit beschäftigt er sich intensiv mit Effizienzsteigerungen durch den Einsatz von Eingabeaufforderungen und fragt sich: „Können wir uns bei der Barrierefreiheit stärker auf KI verlassen?“ Seine Technologien und sein Denken entwickeln sich stetig weiter.

Futa

IAAP-zertifizierter Spezialist für Webzugänglichkeit (WAS) / Markup-Ingenieur / Frontend-Entwickler / Webdirektor

Artikel dieses Mitarbeiters ansehen

Wir sind stolz auf unsere zuverlässige Teamstruktur und unsere schnelle Reaktionsfähigkeit.

Bei Liberogic treiben unsere erfahrenen Mitarbeiter Projekte proaktiv voran, weshalb wir bei unseren Kunden hohes Ansehen genießen.
Wir stellen sicher, dass Projektmanager und -leiter ordnungsgemäß eingesetzt werden, um einen reibungslosen Ablauf des gesamten Projekts zu gewährleisten. Wir verhindern unnötige Kostensteigerungen durch vollständige Zusagen und weisen Ressourcen den richtigen Personen an den richtigen Stellen zu. Wir sind bekannt für unsere Schnelligkeit, mit der wir Arbeitsinhalte erfassen, Kostenvoranschläge erstellen und einreichen.

Bitte beachten Sie, dass wir keine Vor-Ort-Arbeit im SES-Stil aktiv durchführen.

Wir unterstützen fast alle wichtigen Projektmanagement- und Chat-Tools, darunter Slack, Teams, Redmine, Backlog, Asana, Jira, Notion, Google Workspace, Zoom und Webex.

Haben Sie Probleme mit der Barrierefreiheit im Internet?

Fallstudie