Poziom
AA
Od wersji
WCAG 2.2
Pozycje
82 / 193
/ Kryterium WCAG

2.5.8 Rozmiar celu (minimum)

Wszystko, w co się klika lub stuka, musi mieć co najmniej 24 na 24 piksele CSS albo dość wolnego miejsca dookoła, żeby nikt nie trafiał przez pomyłkę w sąsiednią kontrolkę.

/ Czego wymaga

Cel to obszar, który reaguje na kliknięcie lub dotknięcie. Kryterium wyznacza dla niego dolną granicę: 24 na 24 piksele CSS, liczone dla obszaru, który faktycznie reaguje, a nie dla ikony narysowanej w środku. Chroni to osoby, które nie mogą precyzyjnie wskazywać: ludzi z drżeniem rąk lub ograniczonym ruchem dłoni, osoby korzystające ze wskaźnika na głowę i każdego, kto używa małego ekranu dotykowego. Gdy cele są maleńkie i ściśnięte, tacy użytkownicy otwierają nie ten link albo usuwają nie ten wiersz.

Mniejszy cel nadal spełnia kryterium w pięciu przypadkach, które ono samo wymienia. Odstęp: koło o średnicy 24 pikseli CSS, wyśrodkowane na celu, nie dotyka innego celu ani takiego samego koła wokół innego zbyt małego celu. Odpowiednik: inna kontrolka na tej samej stronie robi to samo i ma wymagany rozmiar. Cel w tekście: znajduje się w zdaniu albo ogranicza go wysokość wiersza otaczającego tekstu. Kontrolkę rysuje przeglądarka, a autor jej nie zmienił. Określony wygląd jest istotny albo wymagany prawem.

To kryterium jest nowe w WCAG 2.2, więc audyt na zgodność z WCAG 2.1 go nie obejmuje.

/ Jak strony go nie spełniają

  • Pasek narzędzi składa się z przycisków z ikonami o szerokości 16 pikseli, ustawionych jeden przy drugim bez żadnego odstępu.
  • Numery stron w paginacji to wąskie linki rozmieszczone co kilka pikseli.
  • Przycisk zamykania okna dialogowego to mały krzyżyk dociśnięty w rogu do innej kontrolki.
  • Rząd ikon mediów społecznościowych w stopce ma 20 pikseli wysokości i odstępy po 4 piksele.
  • Krzyżyk usuwający filtr ma kilka pikseli szerokości i leży tuż obok linku samego filtra.

/ Jak sprawdzić samodzielnie

  1. Ustaw powiększenie przeglądarki na 100 procent i zacznij od drobnych elementów: przycisków z ikonami, paginacji, krzyżyków zamykania, ikon w stopce i własnych pól wyboru.
  2. Zbadaj każdy z nich w narzędziach deweloperskich. Rozmiar pokazany dla elementu, razem z paddingiem, to właśnie cel, a szerokość i wysokość muszą mieć co najmniej 24 piksele CSS.
  3. Dla wszystkiego, co mniejsze, zmierz odległość do sąsiadów. Koło o średnicy 24 pikseli wyśrodkowane na celu nie może sięgać innego celu ani takiego samego koła wokół innego małego celu.
  4. Sprawdź, czy pozostały mały cel podpada pod któryś z wymienionych wyjątków, na przykład jest linkiem w zdaniu albo natywnym polem wyboru, którego nikt nie ostylował.
  5. Otwórz stronę na telefonie i zanotuj, w których miejscach kciuk trafia w niewłaściwą kontrolkę.

/ Jak to naprawić

  • Ustaw min-width: 24px i min-height: 24px na samym elemencie button lub a, a nie tylko na znajdującym się w nim svg.
  • Powiększ klikalny obszar paddingiem i zostaw ikonę w takim rozmiarze, w jakim jest narysowana.
  • Tam, gdzie projekt nie może urosnąć, rozsuń cele właściwością margin albo gap w kontenerze flex lub grid, aż koła o średnicy 24 pikseli przestaną się stykać.
  • Linkowi, który zawiera samą ikonę, nadaj display: inline-flex, żeby szerokość, wysokość i padding zaczęły na niego działać.
  • Zastąp maleńkie własne pole wyboru lub przycisk opcji natywnym elementem input albo nadaj własnemu rozmiar 24 na 24 piksele CSS.

/ Co sprawdza nasz skaner

Test target-too-small mierzy wyrenderowany rozmiar linków, przycisków, elementów input i select oraz elementów z rolą button, link, checkbox lub switch. Pomija linki w tekście akapitu, elementu listy lub komórki tabeli, a cel mniejszy niż 24 na 24 piksele zgłasza tylko wtedy, gdy koło o średnicy 24 pikseli wokół niego sięga innego celu. Widzi jeden układ na szerokim ekranie i nie oceni wyjątków dotyczących odpowiednika ani istotnego wyglądu.

/ Kto je łamie, według naszych pomiarów

Zmierzone podmioty łamiące to kryterium, najwięcej wystąpień na górze
PodmiotSektorWystąpieniaWynik
San Franciscocity · US24028
Państwowa Komisja Wyborczagovernment · PL5515
Katowicecity · PL3710
Münchencity · DE2722
Elblągcity · PL2620
Biblioteka Narodowaculture · PL1716
Uniwersytet Jagiellońskieducation · PL171
Politechnika Wrocławskaeducation · PL1517
Uniwersytet Warszawskieducation · PL154
Urząd Komunikacji Elektronicznejgovernment · PL1525
Ludwig-Maximilians-Universität Müncheneducation · DE1313
Szczecincity · PL112
Gliwicecity · PL1013
Rybnikcity · PL106
Trybunał Konstytucyjnygovernment · PL914
Chicago Transit Authoritytransport · US84
National Weather Servicegovernment · US834
Ohio State Universityeducation · US86
Politechnika Śląskaeducation · PL82
RWTH Aacheneducation · DE819
Sosnowieccity · PL828
Uniwersytet Śląskieducation · PL89
Zielona Góracity · PL87
Bundesministerium des Innerngovernment · DE610
Narodowy Instytut Dziedzictwaculture · PL66
Universität Heidelbergeducation · DE621
Bundesnetzagenturgovernment · DE59
Bundesratgovernment · DE514
Krajowa Administracja Skarbowagovernment · PL55
Opolecity · PL58
Toruńcity · PL511
Uniwersytet Ekonomiczny w Krakowieeducation · PL515
Koleje Mazowieckietransport · PL417
PKP Intercitytransport · PL42
Rzecznik Praw Obywatelskichgovernment · PL442
Bundesregierunggovernment · DE34
Politechnika Łódzkaeducation · PL35
Uniwersytet Gdańskieducation · PL318
Uniwersytet im. Adama Mickiewiczaeducation · PL312
Bydgoszczcity · PL27
Deutsche Bahntransport · DE25
Düsseldorfcity · DE29
Hannovercity · DE210
Ministerstwo Edukacjigovernment · PL247
Ministerstwo Rodziny i Polityki Społecznejgovernment · PL237
Ministerstwo Rolnictwagovernment · PL232
Ministerstwo Spraw Wewnętrznychgovernment · PL237
Ministerstwo Sprawiedliwościgovernment · PL225
Politechnika Poznańskaeducation · PL24
Statistisches Bundesamtgovernment · DE29
Urząd Zamówień Publicznychgovernment · PL247
Zakład Ubezpieczeń Społecznychgovernment · PL227
Zamek Królewski w Warszawieculture · PL216
Baltimorecity · US17
Białystokcity · PL137
Bostoncity · US16
Deutsche Nationalbibliothekculture · DE123
Gdańskcity · PL12
Generalna Dyrekcja Dróg Krajowych i Autostradtransport · PL134
Główny Urząd Statystycznygovernment · PL117
Kancelaria Prezesa Rady Ministrówgovernment · PL137
Kasa Rolniczego Ubezpieczenia Społecznegogovernment · PL136
Lublincity · PL117
Ministerstwo Cyfryzacjigovernment · PL137
Ministerstwo Finansówgovernment · PL147
Ministerstwo Infrastrukturygovernment · PL147
Ministerstwo Klimatu i Środowiskagovernment · PL138
Ministerstwo Kulturygovernment · PL147
Ministerstwo Nauki i Szkolnictwa Wyższegogovernment · PL147
Ministerstwo Rozwoju i Technologiigovernment · PL136
Ministerstwo Spraw Zagranicznychgovernment · PL137
Ministerstwo Zdrowiagovernment · PL147
Narodowy Fundusz Zdrowiahealth · PL118
Nürnbergcity · DE12
Olsztyncity · PL18
Państwowa Straż Pożarnagovernment · PL128
Poznańcity · PL11
Technische Universität Müncheneducation · DE114
Tychycity · PL120
Uniwersytet Marii Curie-Skłodowskiejeducation · PL19
Warszawacity · PL120
Wrocławcity · PL12

Jedna strona na podmiot, mierzona automatycznie w tygodniowym cyklu. Jeśli podmiot coś naprawił od ostatniego pomiaru, zmiana będzie widoczna przy następnym, a każdy podmiot może odpowiedzieć na swojej stronie.

/ Pytania o to kryterium

Jaki jest minimalny rozmiar celu w WCAG 2.2?

Kryterium sukcesu 2.5.8 ustala go na 24 na 24 piksele CSS na poziomie AA. Cel może być mniejszy, gdy ma dość wolnego miejsca dookoła, gdy jest linkiem w zdaniu, gdy inna kontrolka na stronie robi to samo, gdy rysuje go przeglądarka bez zmian autora albo gdy jego wygląd jest istotny lub wymagany prawem.

Czym różnią się kryteria 2.5.8 i 2.5.5 dotyczące rozmiaru celu?

To dwa kryteria na dwóch poziomach. 2.5.8 Rozmiar celu (minimum) należy do poziomu AA i wymaga 24 na 24 pikseli CSS, z wyjątkiem dotyczącym odstępu. 2.5.5 należy do poziomu AAA i wymaga 44 na 44 pikseli CSS. Do zgodności na poziomie AA potrzebne jest tylko pierwsze z nich.

Czy linki w akapicie muszą mieć 24 piksele wysokości?

Nie. Kryterium zwalnia cel, który znajduje się w zdaniu albo którego rozmiar ogranicza wysokość wiersza otaczającego tekstu. Link w środku akapitu może zachować wysokość swojego wiersza. Zwolnienie nie obejmuje rzędu przycisków ani menu, gdzie każda pozycja jest osobnym celem, który stoi samodzielnie i nie jest częścią zdania.