Accessible Pagination

Sechs Seitenlinks, sechsmal nur „Link“

Linktext, Liste, Zielgröße: drei Stellen, an denen Seitenwahl scheitert.

Website prüfen
Beispiel im Prüfbericht Markierter Befund
Markierter Befund · Kritisch · WCAG 2.4.4 und 4.1.2Leerer Verweis zum Seitenplan

Anatomie einer Seitenwahl

Jeder Sprung zeigt, woher er kommt und wohin er führt

Eine gute Pagination verbindet sichtbare Orientierung, eindeutige Linkziele und einen verständlichen Zustand nach dem Laden.

Konzeptansicht · nicht bedienbarSuchergebnisse · Seite 3 von 8
  1. 1
    Bereich benennen<nav aria-label="Suchergebnisse, Seiten">
  2. 2
    Aktuelle Seite auszeichnenaria-current="page" steht genau einmal in der Gruppe.
  3. 3
    Ziel im Namen nennen Die „4“ erhält den Namen „Seite 4 von 8“.
  4. 4
    Trefffläche großzügig bauen 44 × 44 CSS-Pixel sind eine robuste Gestaltung über dem WCAG-Mindestmaß.
Der SeitenwechselLinkziel und geladener Zustand müssen dieselbe Seite meinen.
Vor dem KlickSeite 4 von 8href="?seite=4"
Nach dem LadenSuchergebnisse, Seite 4 von 8aria-current="page"

Bei einem vollständigen Seitenaufruf nennt der Dokumenttitel die neue Seite. Aktualisieren Sie Ergebnisse ohne Seitenaufruf, verschieben Sie den Fokus gezielt auf die Ergebnisüberschrift und ändern Sie den Titel mit.

Vier Zustände, ein verlässliches Muster

Nicht verfügbare Richtungen entfallen. Sie bleiben weder als deaktivierter Link noch als stummer Pfeil stehen.

Erste Seitekein Zurück-Link

In der Mittebeide Richtungen

Letzte Seitekein Weiter-Link

Schmaler ViewportPriorität statt Miniatur

Das vollständige Grundgerüst

Die sichtbaren Wörter bleiben im zugänglichen Namen. Zahlenlinks ergänzen die Seite und, wenn bekannt, die Gesamtzahl.

<nav class="pagination"
  aria-label="Suchergebnisse, Seiten">
  <ul>
    <li>
      <a href="?seite=2" rel="prev">
        Vorherige Seite
      </a>
    </li>
    <li>
      <a href="?seite=1"
        aria-label="Seite 1 von 8">1</a>
    </li>
    <li>
      <a href="?seite=2"
        aria-label="Seite 2 von 8">2</a>
    </li>
    <li>
      <a href="?seite=3"
        aria-label="Seite 3 von 8"
        aria-current="page">3</a>
    </li>
    <li>
      <a href="?seite=4"
        aria-label="Seite 4 von 8">4</a>
    </li>
    <li aria-hidden="true">…</li>
    <li>
      <a href="?seite=8"
        aria-label="Seite 8 von 8">8</a>
    </li>
    <li>
      <a href="?seite=4" rel="next">
        Nächste Seite
      </a>
    </li>
  </ul>
</nav>
.pagination ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pagination a {
  display: inline-grid;
  place-items: center;
  min-inline-size: 44px;
  min-block-size: 44px;
  padding-inline: 12px;
  border: 2px solid currentColor;
  color: #151514;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.pagination [aria-current="page"] {
  background: #151514;
  color: #ffffff;
  font-weight: 700;
}

.pagination a:focus-visible {
  outline: 3px solid #3b2bbd;
  outline-offset: 3px;
}

So prüfen Sie es

  1. Tabben Sie durch die Links. Reihenfolge und Fokusrahmen bleiben sichtbar.
  2. Prüfen Sie im Accessibility Tree: ein benannter Navigationsbereich, eine Liste und genau ein aria-current="page".
  3. Öffnen Sie „Nächste Seite“. URL, Dokumenttitel, Ergebnisinhalt und aktuelle Markierung wechseln auf dieselbe Seitennummer.
  4. Prüfen Sie bei 320 CSS-Pixeln Breite. Die Links umbrechen oder werden bewusst reduziert; horizontaler Seitenscroll entsteht nicht.

Aus dem Prüfbericht

Vier Stellen, vier Befunde

Zum Mitnehmen

Die Seitenwahl, korrigiert

Ein nav, eine Liste, aria-current, ein Mindestmaß.

Korrektur in 2 Schritten ansehen
  1. Die Seitenwahl als benannte Liste bauen

    nav benennt den Bereich, ul zählt, aria-current markiert die aktuelle Seite.

    KorrekturvergleichSchritt 1 · HTML

    Vorher

    <div class="pages">
      <a href="?seite=2">‹</a>
      <a href="?seite=1">1</a>
      <a href="?seite=3" class="current">3</a>
      <a href="?seite=4">›</a>
    </div>

    Nachher

    <nav aria-label="Seiten">
      <ul class="pages">
        <li><a href="?seite=2" aria-label="Vorherige Seite">‹</a></li>
        <li><a href="?seite=1" aria-label="Seite 1 von 8">1</a></li>
        <li><a href="?seite=3" aria-label="Seite 3 von 8" aria-current="page">3</a></li>
        <li><a href="?seite=4" aria-label="Nächste Seite">›</a></li>
      </ul>
    </nav>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Tab auf die 3. Ein Vorleseprogramm sagt „Seite 3 von 8, aktuelle Seite, Link“.

  2. Jedes Ziel auf 44 Pixel bringen

    Ein Mindestmaß und Abstand aus CSS. Die Zahl bleibt gleich groß.

    KorrekturvergleichSchritt 2 · CSS

    Vorher

    .pages a {
      display: inline-block;
      padding: 0 2px;
    }

    Nachher

    .pages {
      display: flex;
      gap: 8px;
    }
    .pages a {
      display: inline-grid;
      place-items: center;
      min-width: 44px;
      min-height: 44px;
    }

    Markierte Zeilen wurden geändert

    So prüfen Sie es Messen Sie ein Ziel in den Entwicklerwerkzeugen. 44 mal 44 Pixel, 8 Pixel Abstand.

Werbung

Kostenloser Website-Barrierefreiheits-Check

Website auf Barrierefreiheit prüfen.

Technische WCAG-Warnsignale erkennen. Kritische Stellen zuerst prüfen.

Der Website-Check ist bereit.

Werbung

Ein letzter Schritt

Prüfen, bevor Sie gehen.

Finden Sie automatisch erkennbare Barrieren auf Ihrer eigenen Website.

Website prüfen

Kostenlos starten · keine Installation

Automatisches Screening. Tastaturbedienung und Screenreader bleiben manuelle Prüfung.