Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

brak alternatywnych rozwiązań dla JS-disabled users

Termin Definicja
brak alternatywnych rozwiązań dla JS-disabled users

Brak alternatywnych rozwiązań dla użytkowników z wyłączonym JavaScript to usterka dostępności ograniczająca funkcjonalność strony dla tej grupy odbiorców.

Brak alternatywnych rozwiązań dla użytkowników z wyłączonym JavaScript – czym jest ten problem

Brak alternatywnych rozwiązań dla użytkowników z wyłączonym JavaScript oznacza, że strona internetowa została zaprojektowana tak, jakby uruchamianie skryptów w przeglądarce było zawsze dostępne. W takiej sytuacji podstawowe treści, formularze, menu, wyszukiwarki albo procedury zakupowe mogą być obsługiwane wyłącznie za pomocą kodu JavaScript. Po jego zablokowaniu część interfejsu przestaje reagować, nie pojawia się właściwa treść albo użytkownik nie otrzymuje żadnego komunikatu wyjaśniającego, jak wykonać daną czynność inną drogą.

Nie chodzi wyłącznie o całkowity brak działania witryny. Problem może mieć także łagodniejszą postać: otwiera się strona główna, lecz nie można przejść do kolejnego kroku, rozwinąć nawigacji, wysłać zapytania, sprawdzić informacji o usłudze lub odczytać zawartości umieszczonej w dynamicznym komponencie. Jeśli użytkownik nie ma możliwości skorzystania z wersji podstawowej, zwykłych odnośników, formularza działającego bez skryptów albo czytelnej informacji zastępczej, funkcjonalność witryny staje się zależna od konkretnej konfiguracji przeglądarki.

Wyłączenie JavaScript może wynikać z ustawień prywatności, rozszerzeń blokujących skrypty, polityki bezpieczeństwa organizacji, awarii przeglądarki lub korzystania z urządzenia o ograniczonych możliwościach. Z tego powodu zapewnienie alternatywnego dostępu nie powinno być traktowane jako rozwiązanie przeznaczone dla jednej, wąskiej grupy. Jest to element odpornego projektowania serwisu, który pomaga utrzymać dostęp do podstawowych informacji również wtedy, gdy warstwa interaktywna nie może zostać załadowana.

Znaczenie techniczne i porównanie z poprawnie zaprojektowaną stroną

W dobrze przygotowanej witrynie JavaScript rozszerza działanie podstawowego dokumentu HTML, ale nie musi być jedynym sposobem dotarcia do najważniejszych treści. Odnośnik prowadzący do podstrony powinien pozostawać prawdziwym odnośnikiem, a nie elementem, który dopiero po kliknięciu uruchamia funkcję skryptową. Formularz powinien mieć określony adres docelowy i mechanizm obsługi po stronie serwera, natomiast komunikaty o błędach powinny być dostępne także wtedy, gdy nie działa walidacja wykonywana w przeglądarce.

Można wyróżnić kilka poziomów zależności od skryptów:

  • strona statyczna, na której cała podstawowa treść jest dostępna w kodzie HTML, a JavaScript jedynie ułatwia nawigację lub prezentację;
  • strona częściowo zależna od skryptów, gdzie informacje są widoczne, lecz część filtrów, rozwijanych sekcji lub formularzy wymaga dodatkowej obsługi;
  • aplikacja, w której początkowy dokument zawiera niewiele treści, a właściwy interfejs jest tworzony dopiero po wykonaniu kodu w przeglądarce.

Najbardziej ryzykowny jest trzeci wariant, jeżeli nie przewidziano wersji awaryjnej. Sam fakt wykorzystania nowoczesnego frameworka nie stanowi jeszcze błędu, ale projekt powinien uwzględniać sposób dostarczenia kluczowych informacji bez uruchamiania skryptów. W praktyce może to oznaczać przygotowanie renderowania po stronie serwera, użycie zwykłych adresów URL, udostępnienie osobnych podstron dla ważnych funkcji oraz zachowanie logicznej kolejności elementów w źródłowym HTML.

Istotne jest także odróżnienie braku JavaScript od błędu wynikającego z niedostępnego pliku skryptowego. W obu przypadkach efekt dla odbiorcy może wyglądać podobnie, jednak przyczyna jest inna. Wyłączenie skryptów jest świadomym ustawieniem środowiska, natomiast brak pliku, nieprawidłowa ścieżka, blokada zasobu albo wyjątek podczas wykonywania kodu wskazuje na usterkę wdrożeniową. Test powinien obejmować oba scenariusze, ponieważ strona pozornie działająca w typowej konfiguracji może utracić funkcje także po chwilowej awarii jednego zasobu.

Typowe problemy i błędy prowadzące do braku alternatywy

Częstym błędem jest zastępowanie standardowych elementów HTML kontrolkami obsługiwanymi wyłącznie przez zdarzenie JavaScript. Przycisk stylizowany jak odnośnik może nie prowadzić do żadnego adresu, a element otwierający menu może nie mieć dostępnej wersji rozwiniętej w kodzie dokumentu. Po zablokowaniu skryptów użytkownik widzi wtedy dekoracyjny interfejs, lecz nie otrzymuje funkcjonalnego przejścia do kolejnej części serwisu.

Problemy mogą dotyczyć również formularzy. Walidacja wykonywana wyłącznie po stronie klienta nie powinna być jedynym zabezpieczeniem przed błędnymi danymi. Gdy skrypt nie działa, pola mogą przestać być wysyłane, komunikat o błędzie może się nie pojawić albo formularz może pozostawać bez widocznej reakcji. Rozwiązaniem jest walidacja po stronie serwera, zachowanie etykiet pól, przekazanie zrozumiałego komunikatu oraz ponowne wyświetlenie danych, które można bezpiecznie zachować po nieudanej próbie.

Do innych powtarzających się przyczyn należą:

  • umieszczenie całej treści w komponentach generowanych dopiero po załadowaniu biblioteki;
  • brak zwykłych linków do podstron, ponieważ nawigacja działa wyłącznie przez zdarzenia kliknięcia;
  • ukrywanie informacji w taki sposób, że bez skryptu pozostaje niewidoczna również dla technologii wspomagających;
  • brak komunikatu o ograniczonej funkcjonalności, gdy przeglądarka nie może wykonać kodu;
  • uzależnienie wyszukiwarki, filtrów lub paginacji od zapytań wykonywanych wyłącznie asynchronicznie;
  • nieprawidłowe używanie atrybutów ARIA jako substytutu działającej struktury HTML;
  • testowanie tylko w jednej przeglądarce i bez sprawdzenia dokumentu po wyłączeniu skryptów;
  • przekierowanie do pustego widoku, gdy aplikacja nie może zainicjować swojego głównego komponentu.

Weryfikacja powinna rozpocząć się od wyłączenia JavaScript w przeglądarce oraz od otwarcia strony w środowisku, w którym skrypty są blokowane rozszerzeniem lub polityką bezpieczeństwa. Następnie należy przejść przez najważniejsze ścieżki: wejście na stronę główną, otwarcie menu, dotarcie do kontaktu, odczytanie oferty, wysłanie formularza i przejście między podstronami. Warto sprawdzić również kod odpowiedzi serwera, strukturę nagłówków, obecność tekstu w dokumencie HTML oraz to, czy wszystkie istotne adresy można otworzyć bez wcześniejszego wykonania skryptu.

Kiedy warto zgłosić stronę do serwisu - brak alternatywnych rozwiązań dla JS-disabled users

Zgłoszenie jest uzasadnione, gdy po wyłączeniu JavaScript nie można odczytać ważnych informacji, skontaktować się z firmą, przejść do podstrony albo zakończyć podstawowej procedury. Szczególnej uwagi wymagają witryny, w których problem występuje tylko na części urządzeń lub u osób korzystających z restrykcyjnych ustawień prywatności. Taki objaw może wskazywać zarówno na brak wersji alternatywnej, jak i na błędną konfigurację skryptów, zasobów, przekierowań lub formularzy.

W ramach zgłoszenia warto przekazać adres problematycznej podstrony, nazwę używanej przeglądarki, informację o wyłączeniu JavaScript oraz opis czynności, której nie można wykonać. Pomocne bywają także zrzut ekranu, komunikat z konsoli i wskazanie, czy problem pojawia się po kliknięciu konkretnego elementu. Dzięki temu można odróżnić świadomy brak obsługi od sytuacji, w której skrypt jest blokowany przez błąd techniczny lub niepoprawne ładowanie zasobów.

W Warszawskim Pogotowiu Komputerowym 24/7 można zlecić sprawdzenie, czy problem wynika z konfiguracji urządzenia, przeglądarki, rozszerzeń blokujących, czy z samej konstrukcji witryny. Przydatne jest zwłaszcza przeprowadzenie testu na kilku konfiguracjach oraz ustalenie, które funkcje powinny zostać przeniesione do podstawowej warstwy HTML, a które mogą pozostać dodatkiem uruchamianym przez JavaScript.

Po diagnozie zaleca się przygotowanie listy funkcji krytycznych i określenie dla każdej z nich niezależnej ścieżki dostępu. Dla treści informacyjnych będzie to zwykła podstrona, dla nawigacji poprawne odnośniki, dla formularzy obsługa po stronie serwera, a dla elementów dynamicznych odpowiedni komunikat lub wersja uproszczona. Takie podejście ogranicza ryzyko utraty kontaktu z użytkownikiem i pozwala zachować użyteczność serwisu także wtedy, gdy skrypty są zablokowane, nie załadowały się albo zostały odrzucone przez środowisko bezpieczeństwa.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę