Czy powinienem się martwić, że ludzie wyłączą Javascript?

15

Często podczas wybierania nowych narzędzi i ram widzę ostrzeżenie „Nie będzie działać, jeśli użytkownik wyłączył Javascript”. Następnie patrzę na mój pokaz slajdów z obsługą Javascript, menu z obsługą Javascript i galerię z obsługą Javascript. Co ciekawe, wybrałem je, aby zastąpić oryginalne wersje flashowe, ponieważ martwiłem się liczbą osób, które je zobaczą.

Ale czy martwienie się o wyłączenie obsługi Javascript jest uzasadnionym zmartwieniem? Czy powinienem spróbować zaprojektować swoją witrynę z myślą o wyłączeniu JS?

TheLQ
źródło

Odpowiedzi:

13

To zależy od strony, jej celu i tożsamości demograficznej.

Jeśli projektujesz rządową stronę internetową, witrynę bankową, korporacyjną stronę główną itp., Absolutnie powinieneś upewnić się, że strona działa bez JavaScript. Ale jeśli projektujesz witrynę rozrywkową / rekreacyjną, taką jak Twitter lub Facebook, nie jest tak źle wymagać JavaScript. A jeśli Twoja witryna jest bogatą aplikacją internetową, która absolutnie nie będzie działać bez skryptów po stronie klienta (np. Meebo), wtedy absolutnie uzasadnione jest wymaganie JavaScript.

Większość funkcji typowej witryny prawdopodobnie nie powinna jednak wymagać JavaScript. Dobrze jest skoncentrować wrażenia użytkownika wokół klientów z włączoną obsługą JavaScript, ale jeśli prowadzisz forum, powinieneś upewnić się, że użytkownicy mogą nadal publikować / czytać wiadomości bez JavaScript, nawet jeśli oznacza to, że interfejs jest bardziej podstawowy.

Lèse majesté
źródło
4
Wymagania dotyczące rządowych lub publicznych stron internetowych, o których wspomniała Lèse, nazywa się zgodnością 508: section508.gov
XOPJ
21

Dziwi mnie, że nikt nie wspominał o stopniowym ulepszaniu . Rzadko istnieje dobry powód, aby mieć funkcjonalność lub treść wymagającą JavaScript do działania. Tak, JavaScript może sprawić, że doświadczenie użytkownika lepiej , ale to nie powinno być wymagane, aby doświadczenie użytkownika możliwe .

Więc moja odpowiedź brzmi: powinieneś zbudować swoją stronę internetową, aby każdy mógł uzyskać dostęp do wszystkiego, nawet bez JavaScript (przy założeniu, że zawartość jest publicznie dostępna. Administratorzy witryny, intranety itp. Byłyby oczywistymi wyjątkami, ponieważ w takich sytuacjach możesz realistycznie dyktować wymagania przeglądarki).

EDYTOWAĆ

O tak. Jest to również przyjazne dla wyszukiwarek. JavaScript nie jest.

John Conde
źródło
Zobaczmy, menu rozwijane oparte na JavaScript, ponieważ jeszcze nie widziałem takiego, które działa wyłącznie w CSS (menu rozwijane jest rzeczywistym wymogiem), pokaz slajdów Javascript na pierwszej stronie, aby zastąpić stary oparty na Flash, ponieważ Flash jest. .. flash (wymagane) i galeria Javascript, która została użyta w celu zwiększenia użyteczności i przyjazności interfejsu (nigdy nie podobało się to, gdy rozszerzone zdjęcia były właśnie otwierane w nowej karcie, aw moim przypadku wyglądałoby to i działało okropnie). Naprawdę nie ma żadnych alternatyw
TheLQ
1
„odkąd jeszcze nie widziałem takiego opartego wyłącznie na CSS, który działa”. Używam menu CSS i działają one bardzo dobrze, czy możesz rozwinąć więcej na ten temat?
Mee
3
@Waleed: Jednym z potencjalnych problemów z rozwijanymi menu opartymi wyłącznie na CSS jest to, że reagują zbyt szybko. Dobre menu rozwijane JS mają opóźnienie dla zdarzeń myszy, aby uniknąć problemu z przekątną (gdy tymczasowo opuszczasz nadrzędny element menu przed przejściem do podmenu). Nie możesz tego zrobić za pomocą CSS, więc musisz zaprojektować menu w taki sposób, aby użytkownik poruszał myszą tylko pionowo lub poziomo, aby dostać się do elementów podmenu. Zgadzam się jednak, że powinieneś zacząć od menu opartego na CSS i stopniowo ulepszać go za pomocą JS, aby JS nie był niezbędny do podstawowej nawigacji.
Lèse majesté
1
@ Lèse, chociaż nie możesz mieć opóźnień w menu CSS, istnieją sposoby na obejście tego i, co zaskakujące, w rzeczywistości działają bardzo dobrze (na przykład zobacz cssplay.co.uk/menus/final_drop3.html ). Sprawdź także wersję demo na cssplay.co.uk/menus/vertical-list.html, aby zobaczyć, jak złożone mogą być menu CSS. W żadnym wypadku nie oznacza to, że staram się nie używać javascript w menu. Próbuję tylko powiedzieć, że jeśli można tego dokonać bez javascript, to po co używać javascript esp. za coś tak ważnego jak nawigacja na stronie?
Mee
2
@TheLQ, wszystko, o czym wspomniałeś, można zrobić bez JavaScript. A wspomniany JavaScript to tylko ulepszenie. Wszystkie idealne przykłady zastosowania progresywnego ulepszania.
John Conde
3

Nicholas C. Zakas informuje, że około 1% faktycznego ruchu odwiedzających witryny w sieci Yahoo wysyła żądania z wyłączoną obsługą JavaScript.

... przeważająca większość użytkowników ma przeglądarki obsługujące JavaScript, dlatego może korzystać ze wszystkich ulepszonych funkcji i dynamicznych interfejsów, które twórcy i projektanci lubią tworzyć. Z punktu widzenia planowania warto poświęcić więcej czasu na korzystanie z największej liczby użytkowników, wiedząc, że warto zainwestować czas.

Sprawdź więc statystyki swojej witryny i zbuduj ją tak, aby przyniosła korzyść większości i nadal z wdziękiem poniżała tych, którzy mają wyłączoną JS.

mvark
źródło
0

Martwienie się nie jest potrzebne, nie.

Powiedziawszy to, dobrym pomysłem jest uczynienie twojej strony dostępną i użyteczną. Zwykle intensywne korzystanie z JavaScript i ułatwień dostępu nie idą w parze ze sobą tak dobrze.

Tak długo, jak twoja strona jest nadal użyteczna przy wyłączonym JavaScript, jesteś w dobrej formie. Nawet jeśli strona niekoniecznie wygląda tak wspaniale, jak byś chciał, żeby już wyglądała.

Evgeny
źródło
0

Facebook nie będzie działał bez JavaScript. Nauczyłem się, że większość osób, które nie mają JavaScript, prawdopodobnie nie subskrybuje twojego produktu. Używamy JavaScriptu, aby poprawić wrażenia użytkownika, ale nie wymagamy tego.

Twoja strona powinna więc działać bez JavaScript, ale nie musi dobrze wyglądać. Są szanse, że jeśli ktoś odwiedza twoją stronę bez włączonej JS, to BOT, haker, 99-latek lub dziwak z połączeniem telefonicznym, który próbuje przyspieszyć.

Jeśli oferujesz produkt komercyjny, SAS lub aplikację w chmurze, nie martw się nawet o ten niewielki odsetek użytkowników. Nie warto poświęcić czasu na rozwój, a oni prawdopodobnie nigdy nie zasubskrybują Twojej usługi.

Jeśli używasz JavaScript do przechowywania produktów w koszyku w sklepie eCommerce, przyjrzałbym się architekturze i upewniłem się, że oferujesz funkcjonalność inną niż js.

Szczery
źródło
Wiem, do czego zmierzasz, ale Twoja witryna powinna dobrze wyglądać z JS lub bez. JS naprawdę nie powinno wymagać posiadania pięknej strony.
Lèse majesté
Zgadzam się, że ... Ale powiedzmy, że masz menu, które pokazuje tylko, gdy javascript jest włączony, lub może narzędzie, które używa ciężkiego javascript, to nie martwiłbym się budowaniem 2 wersji, aby zaspokoić mały udział ... 80/20 obowiązuje reguła
Frank
2
Upewnij się tylko, że menu dotyczy funkcji tylko JavaScript lub nieistotnego rozszerzenia, takiego jak edytor WYSIWYG. Twoja strona powinna być nawigowalna bez JavaScript. W przeciwnym razie warto poświęcić czas na stworzenie menu, które będzie również widoczne bez JavaScript.
Lèse majesté
1
Stopniowe ulepszanie nie wymaga dwukrotnego budowania witryny. A jeśli Twoja witryna nie ma nic przeciwko utracie 20% potencjalnych przychodów, to w porządku. Ale spróbuj powiedzieć komuś, że dobrowolnie zrezygnowałeś z 20% swoich dochodów, tylko dlatego, że nie chciałeś zrobić trochę dodatkowego kodowania i zobaczyć, jaka jest jego odpowiedź. Spróbuj tego również z klientem.
John Conde
Tak, ale w tym przypadku tak naprawdę nie jest to 20/80 bardziej jak 1/500. Niedawno zakończyliśmy budowę wysokiej klasy witryny dla partnerskiego przedsięwzięcia, używając cappuccino zawiniętego w aplikację Adobe Air ajax. Aplikacja nigdy nie działałaby poprawnie lub nawet przy wyłączonym javascript. Myślę, że każda aplikacja jest inna, ale znowu wiele mi mówi, kiedy Facebook nie będzie działał bez włączonego javascript. Moją zasadą jest, że jeśli sprzedajesz coś, co pozwala na sprzedaż bez javascript, poza tym javascript jest koniecznością.
Frank