WCAG 1.4.5: Obrazy tekstu

Wprowadzenie do Kryterium Sukcesu WCAG 1.4.5: Obrazy tekstu

Kryterium sukcesu 1.4.5 Obrazy tekstu (poziom AA) jest kluczowym elementem Wytycznych dla Dostępności Treści Internetowych (WCAG) 2.0 i 2.1, mającym na celu zapewnienie, że informacje tekstowe są dostępne dla jak najszerszej grupy użytkowników.

Główna zasada tego kryterium jest prosta: jeżeli technologie pozwalają, do przekazywania informacji należy używać tekstu zamiast obrazów tekstu. Oznacza to, że wszędzie tam, gdzie jest to możliwe, zamiast osadzać tekst w pliku graficznym (np. PNG, JPG, GIF), należy używać rzeczywistego tekstu HTML, który może być stylizowany za pomocą CSS.

Dlaczego kryterium 1.4.5 ma znaczenie?

Zgodność z kryterium 1.4.5 jest fundamentalna dla zapewnienia kompleksowej dostępności treści cyfrowych. Obrazy tekstu stwarzają liczne bariery, które skutecznie eliminują prawdziwy tekst HTML/CSS.

Wpływ na dostępność i grupy użytkowników

  • Użytkownicy z wadami wzroku:
    • Skalowanie: Rzeczywisty tekst można dowolnie skalować (powiększać) bez utraty jakości i pikselizacji, co jest kluczowe dla osób słabowidzących. Obrazy tekstu często stają się rozmyte lub zniekształcone przy powiększeniu.
    • Personalizacja: Użytkownicy mogą dostosowywać wygląd tekstu (rozmiar, kolor, kontrast, krój czcionki, odstępy między wierszami) za pomocą własnych arkuszy stylów CSS, co jest niemożliwe w przypadku tekstu w obrazach.
  • Użytkownicy czytników ekranu: Czytniki ekranu nie potrafią „czytać” tekstu zawartego w obrazach, chyba że zostanie on udostępniony w alternatywnym tekście (alt). Nawet wtedy jest to gorsze rozwiązanie niż bezpośredni dostęp do tekstu.
  • Użytkownicy z dysleksją lub zaburzeniami poznawczymi: Możliwość zmiany kroju czcionki na bardziej czytelny lub zwiększenie odstępów między literami i wyrazami znacząco poprawia komfort i efektywność czytania.
  • Użytkownicy urządzeń mobilnych: Rzeczywisty tekst lepiej adaptuje się do różnych rozmiarów ekranów i rozdzielczości (responsywność), zapewniając optymalne wrażenia wizualne bez konieczności przewijania w poziomie.
  • Inne korzyści:
    • SEO: Wyszukiwarki indeksują rzeczywisty tekst, co poprawia widoczność strony.
    • Tłumaczenie: Tekst HTML może być łatwo przetłumaczony przez automatyczne narzędzia, czego nie można zrobić z tekstem w obrazach.
    • Wydajność: Często ładowanie czcionek i renderowanie tekstu HTML jest szybsze niż pobieranie dużych plików graficznych.

Kryterium sukcesu 1.4.5: Obrazy tekstu (Poziom AA) – Szczegółowe wymagania

Oto dokładne brzmienie kryterium oraz jego wyjątki:

Kryterium Sukcesu 1.4.5 (Obrazy tekstu): Jeżeli technologie pozwalają, do przekazywania informacji należy używać tekstu zamiast obrazów tekstu.
Wyjątki:

  • Dekoracyjne: Obraz tekstu jest używany wyłącznie do celów dekoracyjnych i jego konkretna prezentacja wizualna nie jest niezbędna dla przekazywanych informacji. W takim przypadku, jeśli obraz zawiera tekst, a jego wizualna prezentacja nie jest kluczowa dla zrozumienia treści, można go użyć, ale zaleca się alternatywne rozwiązania (np. puste atrybuty alt="" dla obrazów bez znaczenia informacyjnego).
  • Niezbędne: Konkretna prezentacja tekstu jest niezbędna dla przekazywanych informacji. Obejmuje to:
    • Logotypy i nazwy marek: Nazwy firm i logo, które są przedstawiane jako obrazy.
    • Części zdjęcia: Tekst, który jest integralną częścią zdjęcia (np. tabliczka znamionowa na maszynie).
    • Specjalistyczne notacje: Tekst w specyficznych formatach (np. równania matematyczne, chińskie znaki kaligraficzne), gdzie renderowanie jako prawdziwy tekst HTML jest technicznie trudne lub niemożliwe bez utraty znaczenia.
  • Dostosowywalne: Obraz tekstu może być wizualnie dostosowany do wymagań użytkownika. Oznacza to, że użytkownik może zmienić jego wygląd (np. rozmiar, kolor). Ten wyjątek jest rzadziej spotykany w praktyce dla prostych obrazów tekstu i wymaga zaawansowanych rozwiązań.

Praktyczne wskazówki dla zgodności

Aby spełnić wymagania kryterium 1.4.5, należy przede wszystkim dążyć do używania rzeczywistego tekstu.

  • Zawsze preferuj tekst HTML/CSS: Zamiast tworzyć obraz z nagłówkiem, menu nawigacyjnym czy ważnym komunikatem, użyj odpowiednich znaczników HTML (<h1>, <p>, <a>, <span>) i stylizuj je za pomocą CSS.
  • Używaj czcionek internetowych (Web Fonts): Dzięki @font-face w CSS możesz używać niestandardowych czcionek, aby osiągnąć pożądany wygląd bez uciekania się do obrazów tekstu.
  • Zapewnij alternatywny tekst dla obrazów tekstowych (jeśli niezbędne): Jeżeli użycie obrazu tekstu jest uzasadnione wyjątkiem (np. logo), upewnij się, że atrybut alt obrazu zawiera równoważną informację tekstową.
    <img src="logo.png" alt="Nazwa Firmy - Strona Główna">

  • Rozważ SVG dla złożonej typografii: Skalowalna Grafika Wektorowa (SVG) może zawierać rzeczywisty tekst HTML lub tekst osadzony w elemencie <text>, który jest dostępny dla technologii wspomagających i skalowalny.
  • Unikaj tekstu nałożonego na złożone tła w obrazach: Jeśli tekst jest częścią większego obrazu (np. banera promocyjnego), postaraj się umieścić go jako rzeczywisty tekst HTML/CSS na obrazie, a nie osadzić go w pliku graficznym.

Przykłady implementacji

Poprawne implementacje

W tych przykładach tekst jest renderowany za pomocą HTML i CSS, co zapewnia pełną dostępność.

Nagłówek strony

<h1 style="font-family: 'Open Sans', sans-serif; color: #333; font-size: 2.5em; text-transform: uppercase;">Witamy na naszej stronie</h1>

Ten nagłówek jest prawdziwym tekstem HTML, który może być powiększony, odczytany przez czytnik ekranu i stylizowany przez użytkownika.

Przycisk nawigacyjny

<a href="#o-nas" class="button">Dowiedz się więcej o nas</a>
<style>
  .button {
    display: inline-block;
    padding: 10px 20px;
    background-color: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
  }
</style>

Tekst przycisku jest standardowym tekstem HTML, stylizowanym za pomocą CSS.

Tekst w SVG

Jeśli musisz użyć SVG do złożonych efektów typograficznych, upewnij się, że tekst wewnątrz SVG jest dostępny.

<svg width="200" height="50" viewBox="0 0 200 50" aria-labelledby="svgTitle">
  <title id="svgTitle">Nasz nagłówek SVG</title>
  <text x="10" y="30" font-family="Verdana" font-size="20" fill="purple">Tekst w SVG</text>
</svg>

Tekst w elemencie <text> SVG jest dostępny dla czytników ekranu i skalowalny.

Niepoprawne implementacje

Te przykłady naruszają kryterium 1.4.5, ponieważ przekazują informację tekstową za pomocą obrazu, mimo że można użyć rzeczywistego tekstu.

Nagłówek jako obraz

<img src="naglowek-witamy.png" alt="Witamy na naszej stronie">

Chociaż atrybut alt zapewnia alternatywny tekst, to wciąż jest to obraz tekstu, który nie skaluje się bez strat, nie pozwala na personalizację stylów przez użytkownika i jest mniej efektywny.

Cena produktu w obrazie

<img src="cena-promocyjna.jpg" alt="Cena specjalna: 99.99 PLN">

Informacja o cenie jest kluczowa i powinna być dostępna jako tekst HTML, aby użytkownicy mogli ją łatwo powiększyć, skopiować lub przetłumaczyć.

Przycisk z tekstem w tle

Użycie obrazu tła CSS z tekstem osadzonym w nim (np. przycisk, którego tekst jest częścią obrazu).

.button-img {
  width: 150px;
  height: 40px;
  background-image: url('button-text.png'); /* Obraz zawiera tekst np. "Wyślij" */
  background-size: cover;
  text-indent: -9999px; /* Tekst HTML ukryty poza ekranem, obraz tła dostarcza tekst */
  overflow: hidden;
}
<a href="#" class="button-img">Wyślij</a>

Chociaż tekst „Wyślij” jest obecny w HTML, jest wizualnie zastąpiony obrazem. To jest gorsze rozwiązanie niż użycie samego tekstu HTML i stylizowanie go CSS, ponieważ obraz tła może się nie załadować, a użytkownicy nie mogą łatwo zmieniać jego wyglądu.

Najlepsze praktyki i typowe pułapki

Najlepsze praktyki

  • Priorytet dla tekstu HTML: Zawsze zaczynaj od myśli, czy dana informacja może być przedstawiona jako rzeczywisty tekst.
  • Wykorzystanie CSS i Web Fonts: Używaj CSS do stylizacji tekstu i web fontów do implementacji niestandardowej typografii.
  • Testowanie skalowalności: Sprawdź, jak strona wygląda przy powiększeniu tekstu (np. 200%) oraz przy powiększeniu całej strony, aby upewnić się, że tekst pozostaje czytelny.
  • Współpraca z projektantami: Edukuj zespoły projektowe na temat znaczenia używania rzeczywistego tekstu w projektach graficznych.

Typowe pułapki

  • Wizualne efekty ponad dostępnością: Projektanci mogą faworyzować złożone efekty typograficzne, które są łatwiejsze do osiągnięcia w edytorach graficznych, co prowadzi do tworzenia obrazów tekstu.
  • Błędne interpretowanie wyjątków: Nadużywanie wyjątków „dekoracyjne” lub „niezbędne” do uzasadnienia użycia obrazów tekstu tam, gdzie nie jest to konieczne.
  • Dynamika treści: Generowanie obrazów zawierających tekst „w locie” (np. wykresy z etykietami, certyfikaty) bez zapewnienia dostępnego tekstu alternatywnego lub samej możliwości dostępu do tekstu.
  • Zaniedbanie SVG: Użycie SVG, ale osadzenie tekstu jako ścieżek graficznych zamiast elementów <text>, co czyni go niedostępnym dla czytników ekranu.
Przegląd prywatności

Ta strona korzysta z ciasteczek, aby zapewnić Ci najlepszą możliwą obsługę. Informacje o ciasteczkach są przechowywane w przeglądarce i wykonują funkcje takie jak rozpoznawanie Cię po powrocie na naszą stronę internetową i pomaganie naszemu zespołowi w zrozumieniu, które sekcje witryny są dla Ciebie najbardziej interesujące i przydatne.