Wiele osób myśli, że chodzi tu tylko o to, żeby strona działania temu 0.5% ludzi, którzy wyłączyli sobie JS. Tymczasem chodzi o odwrócenie myślenia — ustanowienie najniżej poprzeczki, jak to możliwe dla „core experience” i traktowanie wszystkiego innego jako dodateku. Tak więc:
-
<picture>
? Bonus. Większość przeglarek nie zrozumie co to. -
<img srcset>
? Bonus. Podstawą jest atrybut src z obrazkiem w niskiej rozdzielczości -
<img>
? Bonus. Dlatego używamy atrybutualt
dla obrazków, które nie są czysto prezentacyjne -
Szeroki ekran? Bonus. Podstawą jest zadbanie o single–column layout, bo jest prostszy i bezpieczniejszy do serwowania starszym przeglądarkom (nie tylko stare IE, ale też stare komórki)
-
Czcionka? Bonus. Nie można zakładać, że/aż czcionka z @font-face się załaduje.
-
CSS? Bonus. Jak bym był na komórce, to mogło by się zerwać połączenie or sth, style mogły by się nie załadować do końca
-
Wyświetlanie tekstu? Bonus. Ktoś może używać screen readera. Swoją drogą nie zdziwił bym się, gdyby niedługo pojawił się jakiś sposób przeglądania stron na smartwachach, czy google goglach, który będzie działał w jakiś podobny sposób.
-
JavaScript? Bonus. JS ładujemy na końcu, żeby nie blokował wyświetlania treści (która jest najważniejsza). Dlatego też nie możemy polegać na tym, że zanim użytkownik zacznie interagować ze stroną JS już się wykona. Z tego powodu rzeczy w stylu
<a href=#>
są bez sensu. Linki, które jedynie odpalają JS są dopuszczalne, ale powinny być wstawiane przez JS z od razu podpiętymi eventami. Aczkolwiek częściej, niż nie można zapewnić akcję, która zadziała po bożemu jak zwykły link. Np. kliknięcie „Edytuj” może rozwinąć fragment strony pokazując formularz edycji, a bez JS otwierać osobną stronę, na której jest ten sam formularz. Nie wymaga to dużo pracy, bo po stronie serwera akcja może być obsługiwana przez ten sam kod. -
Konkretne ficzery w JS, czy CSS? Bonus requestAnimationFrame, geolocation, transition, transform, …
-
Idealnie wszystko poza czystym tekstem i linkami jest jedynie bonusem.
-
Robienie stron w ten sposób, kiedy to treść jest podstawą, a wszystko inne dodatkiem procentuje też przy pojawianiu się nowych przeglądarek, rozwiązań etc Powiązane: http://futurefriendlyweb.com/
-
Do niektórych rzeczy można dawać polyfille, ale zawsze trzeba się zastanowić, czy warto.
-
W większości przypadków wprowadzenie PE w życie wcale nie jest takie czasochłonne — trzeba się tylko przestawić na inne myślenie.
-
W dużej mierze jest to zbieżne z RWD — tam też nie chodzi tylko o reagowanie na zmiany rozmiaru ekranu, ale ogólnie na możliwości urządzenia, na którym strona jest oglądana.
-
Na A List Apart jest wprowadzenie do PE. Szczerze, to nie pamiętam już co dokładnie tam było, ale zakładam, że skoro tam jest, to jest rozsądne. {; http://alistapart.com/article/understandingprogressiveenhancement