ARIA in CSS

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Jeremey reagiert auf Saras Tweet über die Verwendung von `[aria-*]`-Selektoren anstelle von Klassen, wenn das Styling, das Sie anwenden, direkt mit dem ARIA-Status zusammenhängt.

… das ist meine bevorzugte Methode, um CSS- und JavaScript-Interaktionen zu verknüpfen. Hier ist [ein] alter CodePen, wo Sie es in Aktion sehen können.

Welches ist dieses klassische Duell.

[aria-hidden='true'] {
  display: none;
}

Es gibt viele weitere Möglichkeiten. Nehmen wir eine Tab-Designkomponente.

Da diese Tabs (mit Reach UI) bereits die richtigen ARIA-Zustände für Dinge wie den aktiven Tab anwenden, beschäftigen sie sich nicht einmal mit der Manipulation von Klassennamen. Um den aktiven Zustand zu gestalten, wählen Sie das <button> mit einem Datenattribut und ARIA-Status wie

[data-reach-tab][aria-selected="true"] {
  background: white;
}

Die Panels mit dem Inhalt? Diese haben eine ARIA-Rolle, also werden sie entsprechend gestaltet.

[role="tabpanel"] {
  background: white;
}

ARIA passt auch manchmal zu Variationen, wie zum Beispiel...

[aria-orientation="vertical"] {
  flex-direction: column;
}

Wenn Sie denken, warten Sie mal, was ist ARIA? Heydons neue Show Webbed Briefs hat eine lustige Einführung in ARIA als Pilotfolge.