Blog

Standardom mówimy “NIE!”, część II

Ostatnim razem udało mi się dotrzeć raptem do drugiego punktu wyliczanki pod hasłem co dolega standardom sieciowym, a i tak długość tekstu przekroczyła granice przyzwoitości. Ale wcale nie uważam tematu za wyczerpany.

Gdybym miał pobawić się we wróżkę, powiedziałbym, że na powszechną akceptację rekomendacji W3C przyjdzie nam poczekać jeszcze co najmniej pięć lat, a i to przy założeniu, że do 2010 inne technologie nie wyprą całkowicie trio XHTML/CSS/JS. Mówiąc o powszechnej akceptacji, mam na myśli to, że webmasterzy będą traktować zgodność ze standardami sieciowymi jako coś zupełnie oczywistego, a swoje nowe produkcje opierać na semantycznym XHMTL-u, poprawnym CSS-ie i niezmniejszających dostępności skryptach JS. Nowe produkcje, bo chyba nikt nie ma złudzeń, że jakimś cudem ktoś, w przypływie miłości do W3C, przerobi wszystkie czy nawet większość współczesnych, tabelkowych witryn.

Gdyby standardy były proste, oczywiste i dobrze promowane, przyjęłyby się łatwiej. Ale tak nie jest.

Standardy sieciowe a rzeczywistość

Strony WWW powinny być ładne. Kropka.

Im bardziej jakaś technika ułatwi designerom osiągnięcie tego celu, tym większe będzie miała szanse powodzenia. I właśnie dlatego Flash jest wśród nich tak popularny: Macromedia słucha swoich użytkowników, szybko wzbogaca swój program i dba, aby mógł sobie z nim poradzić grafik, który nie wie co to pętla for (inna rzecz, że programista też będzie mógł się tam wyżyć). Na korzyść Macromedii działa też to, że nie musi przejmować się konkurencyjnymi implementacjami czy starszymi wersjami oprogramowania klienckiego.

A jak jest z CSS-em? Specyfikacja nie była tworzona przez projektantów graficznych i czuć to już po krótkiej pracy z wykorzystaniem tej technologii. Banalny przykład: pojedynczemu elementowi, np. warstwie <div>, można przypisać tylko jeden obrazek jako tło. Innymi słowy, aby uzyskać jakieś bardziej złożone kompozycje, trzeba wprowadzać dodatkowe (a więc naruszające semantykę dokumentu) elementy bądź uciekać się do innych sztuczek.

Inny przykład: osadzanie Flasha w XHTML-u. Oczywiście, da się to zrobić, aby strona przechodziła przez walidator, ale trudno to nazwać eleganckim rozwiązaniem.

I wreszcie problemy ze skomponowaniem układów, które są trywialne we Flashu czy z wykorzystaniem tabel. Np. ostatnio przyszło mi stworzyć układ 3-kolumnowy z nagłówkiem i stopką. Męczyłem się z tym samemu jakieś 2 czy 3 godziny, aż w końcu poddałem się. Rozwiązanie znalazłem w sieci, ale czy coś tak trywialnego powinno wymagać hacków bądź rezygnowania z czystości semantycznej dokumentu? Ktoś nawet nazwał taki layout “świętym Graalem CSS“. Faktycznie, niesamowite.

Ktoś powie, że przesadzam, że idzie ku lepszemu, że rozwiązania w większości są gotowe i tylko wystarczy je znaleźć. Tak, ale:

  1. Chociaż specyfikacja CSS poziomu 3. rozwiązuje wiele problemów, a przy jej tworzeniu większy udział mają webdesignerzy, nikt tak naprawdę nie wie, kiedy będzie gotowa, a jej upowszechnienia wielu z nas może nie doczekać.
  2. Proste rzeczy powinny być proste, a jeśli nie są, trudno oczekiwać, by masy webmasterskie tłumnie zaczęły stosować się do rekomendacji W3C, “bo tak trzeba”.

Przypadek pani Krysi

Rozwiązania typowych problemów związanych z XHTML/CSS faktycznie można znaleźć w sieci i wystarczy się po nie schylić. Jednak ktoś, kto nie słyszał w życiu o A List Apart czy Sitepoincie (bo wcale nie jest to obowiązkiem kogoś, kto chce stworzyć stronę o swoim kocie), będzie tworzył i publikował sieczkę. Parodoksem jest to, że kod tego czegoś będzie większy i trudniejszy do ogarnięcia niż kod w semantycznym XHTML-u i CSS-ie, ale nasza pani Krysia się o tym nie dowie. Wystarczy, że udało się jej ujarzmić Frontpage’a lub przeczytać jakiś kurs/podręcznik HTML-a 4.0.

I tu dochodzimy do ostatniego problemu. Sieczka w kodzie będzie w sieci istnieć jeszcze długo właśnie dlatego, że:

  1. Nie ma dobrych podręczników do nauki tworzenia stron WWW w nowoczesny sposób. Jedno DWWS wiosny nie czyni, a na listach bestellerów wciąż królują książki o tworzeniu stron w epoce Netscape’a 4.
  2. Ze względu na kiepskie implementacje i sztuczne skomplikowanie prostych w zamierzeniu technologii, takich jak XHTML i CSS, trudno jest mi wyobrazić sobie tworzenie stron “beztabelkowych” za pomocą edytorów WYSIWYG. Bez tego nie można oczekiwać, by standardy trafiły pod strzechy.

Wielcy powoli, ale jednak przekonują się do standardów. Jednak będzie to trwać jeszcze bardzo długo, a wyparcie starego HTML-a z amatorskich produkcji nie nastąpi w dającej się przewidzieć przyszłości. Nie dlatego, że XHTML pomyślano jako narzędzie wyłącznie dla zawodowców, a CSS można stosować wyłącznie po otrzymaniu dyplomu magistra informatyki. Po prostu życie sprawiło, że sytuacja bardzo zbliżyła się do tego stanu.

Jasną stroną tego wszystkiego jest to, że obecnie standardy są modne. Naprawdę. Dzięki pracy takich ludzi jak Zeldman, Bowman czy Shea, “wypada” tworzyć strony w semantycznym XHTML-u i CSS-ie. Będzie coraz lepiej, ale na pewno nie tak szybko, jak byśmy chcieli. Standardy mają braki, a czasem po prostu pecha. Ale: tak trzeba.

Comments are closed