eRIZ's weblog

PHP, webdesign, Linux, Windows i inne, bo nie samym chlebem człowiek żyje

Mój „schiz” – semantyka – IMHO

Któregoś razu trafiłem na blog Riddle’a. Koleś porusza nawet niezłe tematy dotyczące projektowania www, są to głównie takie, które poruszają ich budowę, to, co jest pod maską. Parę miesięcy temu liznąłem trochę XHTML-a i CSS-a + semantyczny JS. I skupię się w tym miejscu na przymiotniku, który postawiłem przy akronimie JS. Nie dotyczy on bynajmniej wyłącznie JavaScriptu. Do rzeczy: większość stron, na które można natknąć się w internecie jest napisana „aby było”. Gdy któraś ze stron przykłuje moją uwagę wyglądem, bądź działaniem: CTRL+F3 (czyli „pokaż źródło” w Operze) i patrzę, co jest pod maską. Jakże często się rozczarowywuję, gdy widzę śmietnik wciśnięty w tabelki.

Jednak nie skupię się tu na tabelkach, bo to jest temat na całą serię artykułów. Wracając, często można się natknąć na konstrukcje typu onclick, onmouseover czy style. Są to rozwiązania nieekonomiczne. Dlaczego?

  1. wprowadzanie zmian w layoucie strony: Nie będę się o tym rozpisywał, bo Riddle już to zrobił,
  2. wydajność przy otwieraniu stron: plik ze skryptem/stylami przeglądarka pobiera tylko raz, co owocuje znacznym zmniejszeniem dokumentu wynikowego (XHTML) i zmniejszeniem zużycia limitów transferowych (bo, jak już wcześniej wspomniałem, pliki JS/CSS zostały pobrane i siedzą sobie w cache’u),
  3. idea semantyki: panuje ład i porządek; wszystko jest na swoim miejscu

Ze wspomnianym wcześniej wpisem Riddle’a zgodzę się w 90%. A gdzie podziało się 10%? Właśnie… Riddle napisał:

Umieszczając link wraz z atrybutem onclick robimy tak samo źle, jak umieszczając style liniowe poprzez style=””. Jeśli uważasz, że można zrobić w niektórych miejscach wyjątek i określić prezentację w strukturze dokumentu, możliwe że dojdziesz do tych samych wniosków jeśli chodzi o JavaScript. Czasem wszakże potrzebujemy jeden mały onclick w jakimś zapomnianym miejscu strony. Moim zdaniem jednak warto podejść do zagadnienia nowocześnie i odrzucić on… raz na zawsze.

Owszem, z opinią na temat liniowego osadzania skryptów JS się zgodzę, to ze stylami już nie za bardzo. Dlaczego? Mamy – powiedzmy – tabelki, ale z danymi, które powinny się w niej znaleźć (np. omówienie jakichś statystyk, itp.). Jeśli tych statystyk jest masę i to w różnych układach, to arkusz stylów niepotrzebnie będzie puchnąć. Oczywiście mam tu na uwadzę rozmiary względne – tu są to procenty. Bardzo prosty przykład: szerokość kolumn we wspomnianych przeze mnie tabelkach. Przecież niezależnie od szerokości ekranu przeskalują się one bez problemu. Takie same proporcje zostaną zachowane na monitorze komputera, projektorze czy ekranie telefonu komórkowego. Owszem, można wszystko wcisnąć do arkusza, gdy jest kilka tabel, ale co zrobić, gdy ich ilość urośnie do kilkudziesięciu? Jak to mawiają: wszystko jest dla ludzi, ale z umiarem, więc nie przesadzajmy… W tym wypadku trzeba się pokierować rozumem. Nie bądźmy pedantyczni jak Anglicy – ktoś kiedyś napisał na blogu poświęconym kwestiom projektowania stron.

2 komentarze

dopisz swój :: trackback :: RSS z komentarzami

RSS z komentarzami :: trackback

Skomentuj

Możesz używać znaczników XHTML. Dozwolone są następujące tagi: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">

Wszystkie komentarze przechodzą przez moderację oraz filtry antyspamowe. Nie zostanie opublikowany komentarz, jeśli:

  • Jego treść obraża kogokolwiek.
  • W treści znajdują się wulgaryzmy i słownictwo ogólnie uznane za nieprzyzwoite.
  • Mam wątpliwości co do autora wpisu (Wszelkie anonimy są kasowane - niezależnie od zawartości - wpisz prawdziwy e-mail. Jeśli usunąłem, Twoim zdaniem, komentarz niesłusznie - daj znać). Zdarza się, iż sprawdzam kim jest komentujący.
  • Zawiera jakąkolwiek formę reklamy.

Warning: Undefined variable $user_ID in /usr/home/er1zpl/domains/eriz.pcinside.pl/public_html/weblog/wp-content/themes/inBlueDiary/comments.php on line 112

Szufladka