banner
Punkt orientacyjny nagłówka całej witryny — zazwyczaj zawiera logo, główną nawigację i wyszukiwarkę. Element <header> na najwyższym poziomie automatycznie przyjmuje tę rolę. Na jednej stronie może być tylko jeden banner.
Kiedy używać
Używaj <header> jako bezpośredniego potomka <body> (lub <html> w górnopoziomowym fragmencie). Gdy <header> jest na najwyższym poziomie, przeglądarka automatycznie eksponuje go jako punkt orientacyjny banner. Gdy <header> jest zagnieżdżony wewnątrz <article>, <section>, <main> lub <aside>, jest jedynie zwykłą grupą, a nie punktem orientacyjnym.
role="banner" na <div> jest właściwe tylko wtedy, gdy nie możesz użyć <header> — na przykład w CMS-ie, który usuwa tagi punktów orientacyjnych.
Na stronie może być co najwyżej jeden banner. Jeśli masz drugi nagłówek, który nie jest banerem witryny (nagłówek sekcji, nagłówek wątku komentarzy), użyj zwykłego <header> zagnieżdżonego wewnątrz swojej sekcji, a nie na najwyższym poziomie.
Kiedy dodawać etykietę
Jeśli strona ma wiele punktów orientacyjnych tego samego typu (rzadkie w przypadku bannera, częstsze w przypadku nawigacji), dodaj aria-label, aby je rozróżnić. Pojedynczy banner nie potrzebuje etykiety — czytniki ekranu ogłaszają go jako „banner”.
Typowe błędy
- Wiele elementów
<header>na górze strony, każdy awansowany do punktu orientacyjnego banner. Użytkownicy czytników ekranu widzą dwa wpisy „banner” w menu punktów orientacyjnych i nie mogą stwierdzić, który jest prawdziwym nagłówkiem. role="banner"na<header>zagnieżdżonym wewnątrz<main>lub<article>. Rola nadpisuje domyślne zachowanie bez punktu orientacyjnego i zanieczyszcza nawigację punktami orientacyjnymi.- Logo witryny umieszczone poza
<header>, przez co wypada poza punkt orientacyjny banner. - Przyklejona nawigacja wyrenderowana jako oddzielny
<div role="banner">obok oryginalnego<header>— dwa bannery. - Banner z pustą zawartością (tylko dekoracyjne obramowania) — punkt orientacyjny nadal pojawia się w nawigacji czytnika ekranu, ale nic w sobie nie zawiera.
Przykład
<body>
<header>
<a href="/" aria-label="Disability World home">
<img src="/logo.svg" alt="">
</a>
<nav aria-label="Primary">
<a href="/toolkit/">Toolkit</a>
<a href="/library/">Library</a>
</nav>
</header>
<main>…</main>
</body>