Konfiguracja eslint pod wytyczne WCAG

przez | 20 listopada 2024

Co to jest eslint?

Eslint jest narzędziem do analizy statycznej kodu JavaScript, które pomaga programistom w utrzymaniu spójności i jakości swojego kodu. Dzięki konfiguracji eslint można ustawić reguły dotyczące formatowania, stylu kodu oraz wykrywania potencjalnych błędów wytycznych WCAG.

Dlaczego dostępność jest ważna?

Dostępność to kluczowy element tworzenia aplikacji i stron internetowych, który umożliwia korzystanie z nich osobom z różnymi ograniczeniami, takimi jak np. niepełnosprawność wzroku czy niepełnosprawność ruchowa. Zapewnienie dostępności jest nie tylko kwestią etyczną, ale także przyczynia się do zwiększenia zasięgu użytkowników i poprawy ogólnej jakości produktu.

  • Według badań przeprowadzonych przez WebAIM, ponad 98% stron internetowych nie spełnia standardów dostępności.
  • Osoby z niepełnosprawnościami stanowią znaczną część społeczeństwa, dlatego ignorowanie tego aspektu może prowadzić do utraty potencjalnych użytkowników.

Wtyczka angular-eslint i reguły dostępności

angular-eslint to narzędzie dedykowane projektom Angular, które umożliwia analizę i automatyczną poprawę kodu TypeScript oraz szablonów HTML. Wtyczka ta zawiera zestaw wbudowanych reguł dostępności, które pomagają zidentyfikować problemy związane z dostępnością już na etapie pisania kodu. Reguły te można znaleźć w pliku konfiguracyjnym accessibility.json.

@angular-eslint/template/alt-text

Wymusza obecność atrybutu alt dla elementów obrazów <img src="logo.png" alt="Logo firmy">

@angular-eslint/template/click-events-have-key-event

Reguła wymusza, aby każdy element w szablonie Angular, który posiada przypisane zdarzenie (click), miał również zdefiniowane co najmniej jedno ze zdarzeń keydown, keypress, keyup. Dotyczy to elementów takich jak div lub button, które w przeciwieństwie do tagu a nie mają natywnej obsługi klawisza Enter czy spacji.

@angular-eslint/template/elements-content

Weryfikuje, czy elementy takie jak <a>, <button>,<h1 - h6>,<p> mają treść.

@angular-eslint/template/interactive-supports-focus

Zapewnia, że elementy interaktywne (np. <button> lub <a>) są dostatecznie dostępne przy obsłudze komputera bez użycia myszy.

@angular-eslint/template/label-has-associated-control

Wymusza, aby elementy <label> były poprawnie skojarzone z elementami kontrolnymi (np. <input>).

@angular-eslint/template/mouse-events-have-key-events

Wymusza dodanie odpowiednich zdarzeń klawiszowych (np. keydown, keypress, keyup) dla elementów mających zdarzenia myszy (np. mouseover, mouseout).

@angular-eslint/template/no-autofocus

Zabrania używania atrybutu autofocus w elementach formularzy.

@angular-eslint/template/no-distracting-elements

Zabrania używania elementów odciągających uwagę, takich jak <marquee> i <blink>

@angular-eslint/template/role-has-required-aria

Zapewnia, że elementy z określonymi rolami mają wszystkie wymagane atrybuty ARIA.

@angular-eslint/template/table-scope

Wymusza używanie poprawnych atrybutów scope w tabelach, aby zwiększyć dostępność dla użytkowników korzystających z czytników ekranu.

Korzyści z automatyzacji

Stosowanie reguł dostępności w ESLint:

  • Pomaga wychwytywać błędy na wczesnym etapie tworzenia kodu, co zmniejsza koszty ich naprawy.
  • Zwiększa świadomość programistów na temat wymagań dostępności.
  • Przyczynia się do lepszego doświadczenia użytkownika, szczególnie dla osób z niepełnosprawnościami.

Podsumowanie

Dostosowanie kodu HTML do wymagań dostępności cyfrowej jest nie tylko dobrą praktyką, ale także obowiązkiem wynikającym z przepisów, takich jak WCAG. Dzięki narzędziom takim jak ESLint i regułom dostępności dostępnym w angular-eslint, programiści mogą łatwo identyfikować i naprawiać problemy w swoich projektach. Wdrożenie takiego podejścia to krok w stronę bardziej inkluzywnego internetu.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *