Oto nadszedł czas długo wyczekiwanej zemsty! Za te wszystkie lata spędzone karnie w szkolnej ławce, wreszcie mogę się odpłacić! BUHAHAHA! I choć nie uda mi się ogniem piekielnym przypiec swych czcigodnych nauczycieli, to mogę smagnąć bitowym biczem stronę naszego ukochanego Ministerstwa Edukacji. Mam nadzieję, że będzie to smagnięcie bardzo bolesne.
- Jak widać, nasze szkolnictwo sukcesywnie obniża poziom.
- Transitional, czyli na nasz język – 30% na podstawie.
- Jakieś gówniane
meta
od Facebooka. Nigdy nie umiem pojąć czemu ten cały OpenGraph nie może korzystać ze standardowychmeta
, albo jeszcze lepiej – microdata? - Jak widzę, tak jak w większości szkół, postanowiono ciąć wydatki i wykorzystać darmowe rozwiązania profesjonalne – w tym wypadku Joomlę.
- Mamy 3 kanały informacji. Dwa RSS i jeden ATOM. Szkoda, że ich
title
są tak dużo mówiące, że nie wiem który do czego prowadzi. - 7
script
– oczywiście whead
. Do tego niezoptymalizowany kod GA i asynchroniczny loader Facebookowego API z pustymdiv
i jakąś funkcyjką w globalnym scope, mimo istnienia przestrzenii nazw FB (naprawdę tego API nie dało się ładniej napisać, panie Zuckerberg?!). - 4 arkusze stylów + jeden specjalnie dla umarłego IE6. Żrecie mi niepotrzebnie transfer jedynie!
- Dwa razy dodawana jest ta sama faviconka, oczywiście IE-ową składnią.
- Kod strony przypomina program nauczania o języku HTML w szkołach:
div
wdiv
+ kilka ładnych tabelek. - Nieodzowny
#wrapper
, który – tak jak w 90% przypadków – jest zbędny. - Jak już wspomniałem, totalny divitis. Do wstawienia logo zużyto aż 2 divy, z których ani jeden tak naprawdę nie jest potrzebny. Oczywiście stwierdzono równocześnie, że niepotrzebne jest tu babranie się z
h1
, a obrazkowi najlepiej walnąć przestarzały atrybutborder
. Pomińmy fakt, że logo jest tak zaawansowane graficznie, iż można je z powodzeniem zamienić na zwykły tekst z borderem graficznym na dole. - Ktoś inteligentnie stwierdził, że na nawigację w topie najlepiej nadaje się tabelka.
Ja tu widzę jedną listę + jakiśdiv
co najwyżej. No ale może ja się nie znam. - Straszny szowinizm. BIP i Twitter nie mają
target="_blank"
, a biedny Facebook ma! - Formularz wyszukiwania… Oczywiście tandentna JS-owa imitacja placeholdera (całe szczęście nie usuwa mi tego, co wpiszę!). Brak
fieldset
też nie dziwi. Ale to<input type="image" value="Szukaj" class="buttonSearchModule" src="/images/M_images/searchButton.jpg" onclick="this.form.searchword.focus();"/>
już tak. Jeśli zastosowanie
input[type=image]
jeszcze jakoś zrozumieć mogę (chociażbutton
daje 3 razy większe możliwości), tak tego bezsensownegoonclick
nie mogę. - Wow, linki do powiększania czcionki są wstawiane przez JS! Szkoda, że przez
document.write
. -
<div class="clr"></div> <div id="stripe"></div> <div class="clr"></div>
Ten
#stripe
to ten pasek z fajnym hasełkiem „Edukacja skuteczna, przyjazna i nowoczesna”. Rozumiem, że tekst ten jest aż tak zły, że należy ją ukryć przed wszystkimi, którzy nie oglądają obrazków, łącznie z Google? - Kod menu głównego to totalna porażka… Lista w trzech divach + wszędobylski
span
. Oczywiście przyjazne linki to też abstrakcja. -
<div class="module"> <div> <div> <div> <div style="text-align:center" class="bcarss"> <div style="text-align:center" class="bcarss_message"> </div> <div style="text-align:center" class="bcarss_feed"><a href="/index.php?option=com_bca-rss-syndicator&feed_id=1"><img src="http://www.men.gov.pl/components/com_bca-rss-syndicator/assets/images/buttons/rss20.gif" alt="RSS MEN" title="RSS MEN" /></a></div></div> </div> </div> </div> </div>
To coś wyświetla to:
- Dalej mamy listę banerów wsadzoną bezwstydnie w divy, w dodatku z niepotrzebną klasą. Każdemu towarzyszy pusty
div.clr
. - Główna część – newsy wpakowana w tabelkę. Po prostu pięknie.
- Każdy news to oddzielna tabelka. A tabelki oddzielane są tym
<span class="article_separator"> </span>
-
<td align="right" width="100%" class="buttonheading"> <a href="/index.php?view=article&catid=125:ksztacenie-i-kadra-aktualnoci&id=2767:minister-krystyna-szumilas-na-konferencji-ogolnopolskiego-stowarzyszenia-kadry-kierowniczej-owiaty&tmpl=component&print=1&layout=default&page=" title="Drukuj" onclick="window.open(this.href,'win2','status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no'); return false;" rel="nofollow"><img src="/images/M_images/printButton.png" alt="Drukuj" /></a> </td>
Przycisk do drukowania… Bo oczywiście nie istnieje w CSS coś takiego jak
@media print
, prawda? - O, a po treści kolejna divlista banerów! Cudnie! Oczywiście z
target="_blank"
. - Wow! Nagle w środku kodu includujemy sobie jQuery w prehistorycznej wersji 1.2.3 i wstawiamy sobie słit banerki! So cute… Szkoda tylko, że jest tu też
style
, który psuje słodkość sytuacji. - Nawet jeden ze słit banerków jest wysokiej jakości flashem, którego można by na słabej jakości GIF-a przerobić.
- Stopka – czyli powtarzamy menu + walimy tekst o copyrightcie.
- Szybki rzut oka na JS (rozmiar.js) i już wiem, że
(function(){}())
jest tu nieznane. Tak samo jak przestrzenie nazw i programowanie obiektowe w JS. - Najpierw wczytywane są style od JS (co de facto najpierw należałoby sprawdzić czy wgl trza wczytać), później coś z formów, a dopiero później podstawowe style. Inteligentnie.
- Na deser – formularz dla interesantów.
<iframe onload="iFrameHeight()" id="blockrandom" name="iframe" src="http://www.men.gov.pl/kontakt/kontakt_form.php" width="100%" height="1000" scrolling="auto" align="top" frameborder="0" class="wrapper"> Ta strona widoczna jest tylko w przeglądarkach obsługujących ramki. Wybierz inną pozycję z menu.</iframe>
Komentarz jest chyba zupełnie zbędny.
- Aaaa, i jeszcze taka ciekawostka – na stronie nie ma ani jednego nagłówka.
Chała, panie, chała! Strona MEN-u doskonale oddaje stan naszej oświaty. Tyle.
Dobrze że w podstawówce ochrzaniłem nauczyciela od infy, teraz przynajmiej podstaw css uczy (i tabelek). Wstyd i chańba
„Kod strony przypomina program nauczania o języku HTML w szkołach: div w div”
Z treści wpisu zrozumiałem, że umieszczanie warstwy w warstwie jest niezalecane. Czy dobrze zrozumiałem? A jeśli tak, do dlaczego tak jest? Strona potrafi się poprawnie walidować z zagnieżdżonymi warstwami, nawet pod HTML 5 🙂
Nie ma nic złego jeśli sobie umieścimy div w div, pod warunkiem, że na 100% są one nam potrzebne. ogólnie powinno się unikać wstawiania niepotrzebnych elementów i kombinować tak, żeby było ich jak najmniej 😉 tutaj większość divów jest niepotrzebna, stąd zarzut
Ciekawe ile czasu straciła osoba „programująca to coś” na szukaniu jednego konkretnego diva, który w IE 6 wyświetlał się o 1 px za wysoko.