landmark-unique
Landmarks mit derselben Rolle müssen eindeutige Namen haben
Prüft, dass bei zwei oder mehr Landmarks mit derselben Rolle jede einen eigenen zugänglichen Namen hat.
Anwendbarkeit. Gilt, sobald zwei oder mehr Landmark-Regionen auf der Seite dieselbe Landmark-Rolle haben (banner, contentinfo, main, navigation, complementary, region, form oder search). Ein Custom Element, dem seine ElementInternals eine Landmark-Rolle geben (this.attachInternals().role), ohne role-Attribut, das eine andere nennt, ist eine Landmark wie ein natives Element mit dieser Rolle.
Erwartung. Unter Landmarks mit derselben Rolle hat jede einen eigenen zugänglichen Namen (über aria-label/aria-labelledby; Landmarks erhalten ihren Namen nicht aus dem Inhalt). Zwei Landmarks derselben Rolle mit demselben Namen (auch zwei, die beide unbenannt sind) sind für Personen, die mit assistiven Technologien über Landmarks navigieren, nicht zu unterscheiden. Ein gemeinsamer Name wird als CANTTELL gemeldet, nie als Verstoß: Die ARIA Authoring Practices erlauben ihn, wenn die Landmarks denselben Inhalt und Zweck haben, etwa eine Seitennavigation, die über und unter einer Tabelle wiederholt wird; das kann nur eine Person bestätigen. Zwei unbenannte Landmarks brauchen in jedem Fall Namen, und für diese Namen gilt dann dieselbe Ausnahme.
Was ein Befund meldet.
role: die Landmark-Rolle, die die kollidierenden Landmarks gemeinsam haben, etwanavigation.name: der Name, den sie teilen, in Kleinbuchstaben mit zusammengefassten Leerräumen. Leer, wenn alle unbenannt sind.groupSize: wie viele Landmarks dieser Rolle diesen Namen teilen.
Diese Felder in data.details helfen, einen Befund zu lesen und zu reproduzieren. Außer reasonCode und den wenigen Feldern, die Ausgabeschema als stabil nennt, sind sie kein stabiler Vertrag: Ein Feld kann in einer Minor-Version umbenannt werden oder wegfallen, bauen Sie also nicht darauf auf.
Beispiele
<nav aria-label="Primary">Primary nav</nav><nav aria-label="Footer">Footer nav</nav>
Jede Navigation-Landmark hat einen eigenen zugänglichen Namen.
<nav aria-label="Site">First</nav><nav aria-label="Site">Second</nav>
Zwei Navigation-Landmarks haben denselben zugänglichen Namen, sodass Screenreader-Nutzende sie in der Landmark-Liste nicht auseinanderhalten können. Eine Person prüft, ob ihr Inhalt identisch ist; das ist der einzige Fall, in dem die ARIA Authoring Practices einen gemeinsamen Namen erlauben.
<nav aria-label="Primary">Primary nav</nav><main>Content</main>
Keine Landmark-Rolle wird mehr als einmal verwendet.
So prüfen Sie es
Wenn diese Regel nicht entscheiden kann, meldet sie cantTell und überlässt die Frage einer Person. Jede Frage, die sie stellen kann, steht hier unter ihrem Reason-Code, mit den Schritten, um sie zu beantworten. Ein Befund enthält dieselben Schritte in howToCheck, in der Sprache des Scans. Siehe Ausgabeschema.
LANDMARK_NOT_UNIQUE
- Suchen Sie die im Bericht genannten Landmarken; sie teilen eine Rolle, etwa navigation, und einen Namen oder gar keinen.
- Betrachten Sie jede auf der Seite und vergleichen Sie, was sie enthält und wozu sie dient.
- Unterscheiden sie sich im Zweck (zum Beispiel Hauptmenü und Links im Fußbereich), prüfen Sie, ob jede ein aria-label oder aria-labelledby hat, das sie unterscheidet.
- Öffnen Sie den Bereich „Barrierefreiheit“ in den Entwicklertools des Browsers und bestätigen Sie den Namen, den jede Landmarke bereitstellt.
Bestanden. Die Landmarken enthalten denselben Inhalt für denselben Zweck (etwa eine über und unter einer Liste wiederholte Seitennavigation), oder jede hat jetzt einen eigenen Namen, der sagt, was sie ist.
Nicht bestanden. Landmarken mit unterschiedlichem Inhalt teilen einen Namen oder haben keinen, sodass sie bei der Navigation über Landmarken nicht zu unterscheiden sind (Best Practice, ARIA13).