Anmelden Pakete ansehen

Landmarks müssen eine eindeutige Rolle oder eine einzigartige Kombination aus role, label und title haben

Foto des Forschers
Yotam Flohr
Forscher
Foto des Experten
Ritvik Shrivastava
Erkenntnisse aus
Blind Hören
WCAG 2.2 Level A
Von Menschen für Menschen geschrieben und recherchiert
Foto des Forschers
Yotam Flohr
Forscher
Foto des Experten
Ritvik Shrivastava
Fachmännisch überprüft von
Kommentare: 0
Ihre gesamte Domain
Erhalten Sie detaillierte Anweisungen, wie Sie jedes Barrierefreiheitsproblem auf Ihrer Website beheben können

Web-Accessibility-Standards erfordern, dass jedes Landmark entweder eine einzigartige Rolle oder eine individuelle Kombination aus role, label und title (zugänglicher Name) hat.

Warum es wichtig ist

Die Regel landmark-unique stellt sicher, dass keine doppelten Landmarks mit identischer Rolle oder Bezeichnung existieren. Dies verbessert die Navigation für Screenreader-Nutzer, da sie nicht mehrfach durch ähnliche Landmarks navigieren müssen, um den gesuchten Inhalt zu finden.

Behebung des Problems

Jedes Landmark sollte eine einzigartige Rolle oder eine unverwechselbare Kombination aus role, aria-label oder title haben.

Falls mehrere Landmarks derselben Art benötigt werden, sollten sie jeweils eine eindeutige Bezeichnung erhalten.

Doppelte Landmarks ohne klaren Unterschied sollten vermieden werden.

Gutes Codebeispiel

Codebeispiel
Haupt-ID="pass-main">Nur Haupt-ID</main> <header id="pass-header">Nur Header-ID</header> <form id="pass-form-aria-label-1" aria-label="form-label-1"></form> <form id="pass-form-aria-label-2" aria-label="form-label-2"></form> <div id="form-label-1">Formular mit Label-1</div> <div id="form-label-2">Formular mit Label-2</div> <form id="pass-form-aria-labelledby-1" aria-labelledby="form-label-1"></form> <form id="pass-form-aria-labelledby-2" aria-labelledby="form-label-2"></form> <form id="pass-aside-aria-label-1" aria-label="aside-label-1"></form> <form id="pass-aside-aria-label-2" aria-label="aside-label-2"></form> <div id="aside-label-1">aside-mit-label-1</div> <div id="aside-label-2">aside-mit-label-2</div> <form id="pass-aside-aria-labelledby-1" aria-labelledby="aside-label-1"></form> <form id="pass-aside-aria-labelledby-2" aria-labelledby="aside-label-2"></form> <footer id="pass-footer">Nur Fußzeile</footer> Kopieren

Schlechtes Codebeispiel

Codebeispiel
<main id="violation-main-1">Erster Hauptbereich</main> <iframe src="landmark-unique/frame.html" title="iframe mit Hauptbereich" id="frame"></iframe> <header id="violation-header-1">Erste Kopfzeile</header> <header id="violation-header-2">Zweite Kopfzeile</header> <form id="violation-form-aria-label-1" aria-label="formular-beschriftung"></form> <form id="violation-form-aria-label-2" aria-label="formular-beschriftung"></form> <div id="form-label-1">formular-mit-beschriftung</div> <div id="form-label-2">formular-mit-beschriftung</div> <form id="violation-form-aria-labelledby-1" aria-labelledby="form-label-1"></form> <form id="violation-form-aria-labelledby-2" aria-labelledby="form-label-2"></form> <form id="violation-aside-aria-label-1" aria-label="seitenbereich-beschriftung"></form> <form id="violation-aside-aria-label-2" aria-label="seitenbereich-beschriftung"></form> <div id="aside-label-1">seitenbereich-mit-beschriftung</div> <div id="aside-label-2">seitenbereich-mit-beschriftung</div> <form id="violation-aside-aria-labelledby-1" aria-labelledby="aside-label-1"></form> <form id="violation-aside-aria-labelledby-2" aria-labelledby="aside-label-2"></form> <footer id="violation-footer-1">Erste Fußzeile</footer> <footer id="violation-footer-2">Zweite Fußzeile</footer> <div id="form-label-3">iframe-formular-mit-beschriftung</div> <div id="violation-form-through-iframe-1" role="form" aria-labelledby="form-label-3"></div> <div id="violation-nav-through-iframe-1" role="navigation"></div> <div id="violation-role-banner" aria-label="doppelte beschriftung" role="banner"></div> <div id="violation-role-banner-2" aria-label="doppelte beschriftung" role="banner"></div> <div id="violation-role-complementary" role="complementary"></div> <div id="violation-role-complementary-2" role="complementary"></div> <div id="violation-role-contentinfo" aria-label="doppelte beschriftung für inhaltsinfo" role="contentinfo"></div> <div id="violation-role-contentinfo-2" aria-label="doppelte beschriftung für inhaltsinfo" role="contentinfo"></div> <div id="violation-role-main" aria-label="doppelte beschriftung für hauptinhalt" role="main"></div> <div id="violation-role-main-2" aria-label="doppelte beschriftung für hauptinhalt" role="main"></div> <div id="violation-role-region" role="region"></div> <div id="violation-role-region-2" role="region"></div> <div id="violation-role-search" role="search"></div> <div id="violation-role-search-2" role="search"></div> <nav id="violation-nav" aria-label="doppelte beschriftung für navigation"></nav> <nav id="violation-nav-2" aria-label="doppelte beschriftung für navigation"></nav> <section id="violation-section" aria-label="doppelte beschriftung für abschnitt"></section> <section id="violation-section-2" aria-label="doppelte beschriftung für abschnitt"></section> Kopieren