figure
Oznacza samodzielny blok ilustracyjny — obraz, diagram, fragment kodu — zazwyczaj z podpisem. Najpierw użyj natywnego elementu <figure>; po role="figure" sięgaj tylko gdy element hosta nie może być <figure>.
Kiedy stosować
Używaj <figure> i <figcaption>. Natywny element obsługuje rolę, powiązanie podpisu oraz semantykę konspektu dokumentu.
role="figure" jest odpowiedni tylko gdy nie możesz użyć natywnego elementu. Połącz go z dostępną nazwą — albo aria-labelledby wskazującym na element podpisu, albo aria-label zawierającym tekst podpisu.
Figura ogłaszana jest jako „figura, [podpis]” w czytnikach ekranu, sygnalizując, że to co następuje ma charakter ilustracyjny, a nie jest ciągłą prozą. Stosuj ją do listingów kodu, schematów, wykresów i obrazów osadzonych, które zasługują na podpis — nie dla każdego dekoracyjnego obrazu.
Częste błędy
<figure>bez<figcaption>i bezaria-label. Figura nie ma dostępnej nazwy, a rola nie wnosi żadnej wartości.role="figure"na<div>opakowującym<img>, któregoaltjuż zawiera opis. Redundantne; wystarczy samo<img>.- Umieszczenie
<figcaption>poza<figure>. Podpis musi być bezpośrednim dzieckiem, aby natywne powiązanie działało. - Wiele figur na stronie z tym samym tekstem podpisu. Dodaj
aria-labelledbywskazujące na unikalny element, aby nawigacja po figurach działała. role="figure"bezpośrednio na<img>. Użyj go na elemencie-kontenerze, z obrazem wewnątrz.
Przykład
<!-- Zalecane -->
<figure>
<img src="/images/keyboard-trap.svg" alt="Focus indicator stuck on a modal overlay with no escape route">
<figcaption>A keyboard trap inside a poorly built modal.</figcaption>
</figure>
<!-- Gdy <figure> jest niemożliwy -->
<div role="figure" aria-labelledby="diag-1">
<img src="…" alt="…">
<p id="diag-1">Tab order through an inaccessible single-page app.</p>
</div>