Akordeon (harmonijka)
- Przyciski są używane jako akordeony, dzięki czemu mogą być nawigowane przez użytkowników klawiatury i dostępne dla czytników ekranowych.
- Każdy przycisk akordeonowy i rzeczywista treść ma unikalne
id
i związane z nimaria-controls
. - Każdy przycisk posiada atrybut
aria-expanded
, który jest przełączany pomiędzytrue
ifalse
. Jeśliaria-expanded='true'
, powiązana z nim treść jest wyświetlana, a jeśliaria-expanded='false'
, to treść jest ukryta.
Wytyczne WCAG 2.1
2.4.3 Kolejność fokusu - Jeśli strona internetowa może być nawigowana sekwencyjnie, a kolejność nawigacji wpływa na zrozumienie lub funkcjonalność strony, komponenty przyjmują fokus w kolejności, dzięki której zachowany jest sens i funkcjonalność treści. (Poziom A)
2.4.5 Wiele dróg - Istnieje więcej niż jeden sposób umożliwiający zlokalizowanie strony internetowej w zestawie stron internetowych, z wyjątkiem sytuacji, kiedy dana strona jest wynikiem jakiejś procedury lub jednym z jej etapów. (Poziom AA)
2.4.7 Widoczny fokus - Każdy interfejs posiadający możliwość obsługi przy pomocy klawiatury ma tryb obsługi, w którym fokus klawiatury jest stale widoczny. (Poziom AA)
2.4.8 Lokalizacja - Zapewniona jest informacja, w którym miejscu w zestawie stron internetowych znajduje się użytkownik. (Poziom AAA)
4.1.2 Nazwa, rola, wartość - Dla wszystkich komponentów interfejsu użytkownika (w tym, ale nie tylko, elementów formularzy, łączy oraz komponentów wygenerowanych przez skrypty) nazwa oraz rola mogą być określone programowo; stan, właściwości oraz wartości, które mogą być ustawione przez użytkownika, mogą również być ustawione programowo; powiadomienie o zmianach w tych elementach dostępne jest dla programów użytkownika, w tym technologii wspomagających (Poziom A)
<section class="accordion-section">
<div class="accordion" role="presentation">
<div class="js-accordion__panel">
<h3 class="accordion__heading">
<button class="accordion__trigger" aria-controls="accordion__content_1" aria-expanded="false" tabindex="0" id="accordion__title_1" aria-selected="false">Jestem wysoki, gdy jestem młody i niski, gdy jestem stary. Czym ja jestem?
</button>
</h3>
<div class="accordion__content" id="accordion__content_1" role="region" aria-hidden="true" aria-labelledby="accordion__title_1">
<p>Świeca</p>
</div>
</div>
<div class="js-accordion__panel">
<h3 class="accordion__heading">
<button class="accordion__trigger" aria-controls="accordion__content_2" aria-expanded="false" tabindex="0" id="accordion__title_2" aria-selected="false">Co waży więcej, kilogram piór czy kilogram cegieł?
</button>
</h3>
<div class="accordion__content" id="accordion__content_2" role="region" aria-hidden="true" aria-labelledby="accordion__title_2">
<p>Ani jedno, ani drugie, ważą po kilogramie</p>
</div>
</div>
<div class="js-accordion__panel">
<h3 class="accordion__heading">
<button class="accordion__trigger" aria-controls="accordion__content_3" aria-expanded="false" tabindex="0" id="accordion__title_3" aria-selected="false">Im dalej idziesz, tym więcej zostawiasz za sobą. Czym one są?
</button>
</h3>
<div class="accordion__content" id="accordion__content_3" role="region" aria-hidden="true" aria-labelledby="accordion__title_3">
<p>Odciski stóp.</p>
</div>
</div>
</div>
</section>
Skopiowane!
Paginacja
- Umieść paginację w elemencie
<nav>
, jeśli możesz. - Jeśli musisz użyć bardziej ogólnego elementu, takiego jak
<div>
, dodajrole="navigation"
do każdego paska nawigacyjnego, aby wyraźnie zidentyfikować go jako punkt orientacyjny dla użytkowników technologii wspomagających. - Znacznik zawiera
aria-label="pagination"
do opisania typu nawigacji. - Dodaj
aria-current="page"
do łącza, które wskazuje na bieżącą stronę. To powie AT, że zaznaczone łącze wskazuje na bieżącą stronę. - Dodaj
aria-disabled="true"
do łącza, gdy łącze jest wyłączone.
Zasoby
Wytyczne WCAG 2.1
2.4.8 Lokalizacja - Zapewniona jest informacja, w którym miejscu w zestawie stron internetowych znajduje się użytkownik (Poziom AAA)
Stan domyślny
Stan wyłączonych grup łączy Poprzednia/Następna grupa łączy
Stan wyłączonych grup łączy Poprzednia/Następna grupa łączy
<section class="pagination-section">
<h3>Stan domyślny</h3>
<nav aria-label="pagination">
<ul class="pagination">
<li class="pagination__item pagination__item--previous-group">
<a class="pagination__link" href="#">
<span class="visuallyhidden">
Początek
<span>zestawu stron</span>
</span>
</a>
</li>
<li class="pagination__item pagination__item--previous-page">
<a class="pagination__link" href="#">
<span class="visuallyhidden">
Poprzednia
<span>sttrona</span>
</span>
</a>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#">
<span class="visuallyhidden">strona </span>1
</a>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#">
<span class="visuallyhidden">strona </span>2
</a>
</li>
<li class="pagination__item pagination__item--is-active">
<a class="pagination__link" href="#" aria-current="page"><span class="visuallyhidden">strona</span>3</a>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#">
<span class="visuallyhidden">strona </span>4
</a>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#">
<span class="visuallyhidden">strona </span>5
</a>
</li>
<li class="pagination__item pagination__item--next-page">
<a class="pagination__link" href="#">
<span class="visuallyhidden">
Następna
<span>strona</span>
</span>
</a>
</li>
<li class="pagination__item pagination__item--next-group">
<a class="pagination__link" href="#">
<span class="visuallyhidden">
Koniec
<span>zestawu stron</span>
</span>
</a>
</li>
</ul>
</nav>
<div class="break"></div>
<h3>Stan wyłączonych grup łączy Poprzednia/Następna grupa łączy</h3>
<nav aria-label="pagination">
<ul class="pagination">
<li class="pagination__item pagination__item--previous-group">
<a class="pagination__link pagination__link--is-disabled" href="#" aria-disabled="true">
<span class="visuallyhidden">
Początek
<span>zestawu stron</span>
</span>
</a>
</li>
<li class="pagination__item pagination__item--previous-page">
<a class="pagination__link" href="#">
<span class="visuallyhidden">
Poprzednia
<span>strona</span>
</span>
</a>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#">
<span class="visuallyhidden">strona </span>1
</a>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#">
<span class="visuallyhidden">strona </span>2
</a>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#"><span class="visuallyhidden">strona</span>3</a>
</li>
<li class="pagination__item pagination__item--is-active">
<a class="pagination__link" href="#" aria-current="page">
<span class="visuallyhidden">strona </span>4
</a>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#">
<span class="visuallyhidden">strona </span>5
</a>
</li>
<li class="pagination__item pagination__item--next-page">
<a class="pagination__link" href="#">
<span class="visuallyhidden">
Następna
<span>strona</span>
</span>
</a>
</li>
<li class="pagination__item pagination__item--next-group">
<a class="pagination__link pagination__link--is-disabled" href="#" aria-disabled="true">
<span class="visuallyhidden">
Koniec
<span>zestawu stron</span>
</span>
</a>
</li>
</ul>
</nav>
<div class="break"></div>
<h3>Stan wyłączonych grup łączy Poprzednia/Następna grupa łączy</h3>
<nav aria-label="pagination">
<ul class="pagination">
<li class="pagination__item pagination__item--previous-page">
<a class="pagination__link pagination__link--is-disabled" href="#" aria-disabled="true">
<span class="visuallyhidden">
Poprzednia
<span>strona</span>
</span>
</a>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#">
<span class="visuallyhidden">strona </span>1
</a>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#">
<span class="visuallyhidden">strona </span>2
</a>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#"><span class="visuallyhidden">strona</span>3</a>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#">
<span class="visuallyhidden">strona </span>4
</a>
</li>
<li class="pagination__item pagination__item--is-active">
<a class="pagination__link" href="#" aria-current="page">
<span class="visuallyhidden">strona </span>5
</a>
</li>
<li class="pagination__item pagination__item--next-page">
<a class="pagination__link pagination__link--is-disabled" href="#" aria-disabled="true">
<span class="visuallyhidden">
Następna
<span>strona</span>
</span>
</a>
</li>
</ul>
</nav>
</section>
Skopiowane!