BIK-BITV / BIK-Web-Test

Testverfahren zur Prüfung der Barrierefeiheit von Webanwendungen anhand der Kriterien der WCAG 2.1, EN 301 549 und BITV 2.0
75 stars 22 forks source link

Custom Tags #279

Closed ThomKoeh closed 2 years ago

ThomKoeh commented 2 years ago

Hallo, wie wird denn mit Custom-Tags, wie sie zum Beispiel von Angular eingesetzt werden können, bewertet. Ein Beispiel wäre </router-outlet). Verhält es sich hier, wie bei den Custom-Attributen, sodass es kein Fehler ist?

marcus-herrmann commented 2 years ago

Ein Custom Element ist ohne weitere "Behandlung" erstmal ein div mit einem "schicken Namen", wie es TGPi hier nennt: https://www.tpgi.com/custom-element-semantics/ - aber es kommt deswegen unbehandelt genauso semantik-los wie ein div daher.

In dem oben verlinkten Artikel, der trotz seines Alters korrekt ist, gibt es zwei Punkte:

Kurzfassung: Custom Elements wie divs sehen. Wenn ein "unbehandeltes" div an einer vorgefundenen Stelle die falsche semantische Wahl wäre, dann entsprechend in 9.4.1.2 behandeln. In anderen Fällen ignorieren, wie man div und span ignoriert, wenn sie irrelevant sind.

MarcHaunschild commented 2 years ago

Hallo Marcus; Super zusammengefasst! Ich habe noch eine Frage außerhalb der großen Gruppe. Warum hatte das Beispiel einen einleitenden backslash?Ist das so in Angular, ggfs aus Gründen? Weniger störend? Fügt der Browser ggfs im DOM dann kein öffnendes Tag hinzu (dann wäre es aber gar nichts, nicht mal ein div)? Oder war das nur komisch/ falsch „zitiert“

EDIT Ich habe das als Mail bekommen und dachte ich antworte mit meiner off-topic-Frage nur Marcus - die Zitate, Signatur usw habe ich mal entfernt

ThomKoeh commented 2 years ago

Vielen Dank für die Antwort!

Das heißt, dass wenn ein Custom Element Namen, Rolle bzw. Wert benötigt, muss dies (wie bei anderen nicht semantischen Elementen) mit ARIA nachgebildet werden. Ist dies nicht der Fall, dann wäre es ein Fehler.

Falls es nur zur Eingrenzung von Inhalten verwendet wird, ohne ein interaktives Element oder Strukturelement zu sein, dann wäre es bei 9.4.1.2 kein Fehler.

Liege ich da richtig?

@MarcHaunschild habe bei der Frage das öffnende Tag vergessen...

marcus-herrmann commented 2 years ago

Hi @MarcHaunschild, das war oben falsch zitiert. Für Custom Elements gelten die gleichen Regeln wie für "eingeborene Elemente", mit dem Unterschied, dass die benutzerdefinierten Elemente einen Bindestrich haben müssen, die "eingeborenen" keins haben dürfen.

marcus-herrmann commented 2 years ago

Das heißt, dass wenn ein Custom Element Namen, Rolle bzw. Wert benötigt, muss dies (wie bei anderen nicht semantischen Elementen) mit ARIA nachgebildet werden. Ist dies nicht der Fall, dann wäre es ein Fehler.

Japp. Die mangelnde Type Extension ist auch eines der Hemmschuhe von Web Components allgemein, bzw. eines der Hauptprobleme von "Framework-HTML". Gäbe es sie verlässlich, würde die Lage besser aussehen.

Falls es nur zur Eingrenzung von Inhalten verwendet wird, ohne ein interaktives Element oder Strukturelement zu sein, dann wäre es bei 9.4.1.2 kein Fehler.

Nochmal japp, zumindest nach meinem Verständnis der Dinge. Dein router-outlet von oben ist garantiert nur "Developer Convenience", eine besondere Semantik sollte wahrscheinlich gar nicht kommuniziert werden.

ThomKoeh commented 2 years ago

Vielen Dank noch einmal!

detlevhfischer commented 2 years ago

@ThomKoeh Können wir das Issue schließen?

ThomKoeh commented 2 years ago

Klar vielen Dank!